#!/usr/bin/perl
#!perl -w
#if($Client_Id == 2){
#print "Content-type: text/html\n\n";
#print "> $Client_Reseau_Admin";
#}

	if ((-e "./cgi/libs/config.lib")&(-e "./cgi/libs/library.lib")) {
	require './cgi/libs/config.lib';
	require './cgi/libs/library.lib';
		if ((! -e "$VAR_public_path/cgi/libs/home.lib")|(! -e "$VAR_public_path/home_$Default_Language[0].htm")|(! -e "$VAR_public_path/template_$Default_Language[0].htm")|(! -e "$VAR_public_path/cgi/libs/$Default_Language[0].lib")) {
		&Unset;
		}
	}
	else {
	&Unset;
	}

&TOSH_GetFormData;

$FaceBook = $form{"fb"} || 0;
	if ($form{"l"} ne "") {
	$Lan = $form{"l"};
	$Lan = "en" if ($Lan eq "gb");
		if ((grep (/^$Lan\|/,@Languages) > 0)&(-e "$VAR_public_path/home_$Lan.htm")&(-e "$VAR_public_path/template_$Lan.htm")&(-e "$VAR_public_path/cgi/libs/$Lan.lib")) {
		$Client_Language = $Lan;
		$Cookie = "$Client_Ip|$Client_Id|$Client_Language";
		&TOSH_SetCookie ("$VAR_cookie",$Cookie);
		}
	}
require "./cgi/libs/$Client_Language.lib";

	if (($action eq "api")&(-e "./cgi/libs/api.lib")) {
	require './cgi/libs/api.lib';
	exit(0);
	}
	elsif ($action eq "api") {
	print "Content-type: text/html\n\n";
	print <<ZARMA;
	document.write("<br><center><b><font color='#CC0000' size='1'>SYLM API ERROR !<br>Check your syntax...</font></b></center><br>");
ZARMA
	exit(0);
	}

print "Location: https://www.sylm.info\n\n" if ($action eq "");

$page = $action || "home";
$template = "template";
$TimeIt = 0;
$VAR_Secure = $form{"sz"} || 0;
$MainBGColor = "#FFFFFF";

	if ($VAR_cookie_on <= 0) {
	$Client_Language = $form{"l"} || $Default_Language[0];
	$Cookie = "$VAR_user_ip|0|$Client_Language";
	&TOSH_SetCookie ("$VAR_cookie",$Cookie);
		if (grep (/^$action$/,@SecPages) > 0) {
		$VAR_buffer =~ s/logpass[:=][0-9a-z]*//gi;
		$VAR_buffer =~ s/=/:/gi;
		$VAR_buffer =~ s/&/::/gi;
		print "Content-type: text/html\n";
		print "Location: $VAR_root_url?l=$Client_Language&b=$VAR_buffer&nocookies\n\n";
		exit(0);
		}
	}
	elsif (($VAR_cookie_on > 0)&($action eq "nocookies")) {
	$VAR_buffer =~ s/^b=//gi;
	$VAR_buffer =~ s/&.*$//gi;
	$VAR_buffer =~ s/::[:]+/=&/g;
	$VAR_buffer =~ s/::/&/gi;
	$VAR_buffer =~ s/:/=/gi;
	print "Content-type: text/html\n";
	print "Location: $VAR_root_url?$VAR_buffer\n\n";
	exit(0);
	}
	elsif ($action eq "switch") {
	$Client_Language = $form{"l"};
	$Client_Language = $Default_Language[0] if (grep (/^$Client_Language\|/,@Languages) <= 0);
	$action = "home";
	($subaction,$subsubaction) = ();
	$Cookie = "$Client_Ip|$Client_Id|$Client_Language";
	&TOSH_SetCookie ("$VAR_cookie",$Cookie);
	}
	elsif (($VAR_client_logged <= 0)&($action eq "")) {
	$VAR_referrer_domain = $VAR_domain;
	$page = $action = "home";
	}

	if (-e '$VAR_public_path/cgi/libs/'.$Client_Language.'.lib') {
	require '$VAR_public_path/cgi/libs/'.$Client_Language.'.lib';
	}
	elsif (-e '$VAR_public_path/cgi/libs/'.$Default_Language[0].'.lib') {
	$Client_Language = $Default_Language[0];
	require '$VAR_public_path/cgi/libs/'.$Client_Language.'.lib';
	$Cookie = "$Client_Ip|$Client_Id|$Client_Language";
	&TOSH_SetCookie ("$VAR_cookie",$Cookie);
	}

use DBI; 
$trace_level = 2;
$dbh = DBI->connect("DBI:mysql:$VAR_db_name",$VAR_db_username,$VAR_db_password) || &TOSH_DieError('CANNOT CONNECT TO DATABASE');

	if ($action eq "logout") {
	$Close = $form{"c"} || 0;
	$Reset = $form{"r"} || 1;
	$sth = $dbh->prepare('UPDATE online SET id = ?, lastping = ? WHERE id = ?') || &TOSH_DieError('CANNOT PREPARE DATA');
	$sth->execute("V$Client_Id",$VAR_now,$Client_Id);# || &TOSH_DieError('CANNOT UPDATE DATA IN DATABASE5');
	$sth->finish;
		if ($Reset == 1) {
		$sth = $dbh->prepare('UPDATE users SET lastlog = ? WHERE id = ?') || &TOSH_DieError('CANNOT PREPARE DATA');
		$sth->execute($VAR_now,$Client_Id);# || &TOSH_DieError('CANNOT UPDATE DATA IN DATABASE5');
		$sth->finish;
		}
	$dbh->disconnect;
	$Cookie = "$Client_Ip|V$Client_Id|$Client_Language";
	&TOSH_SetCookie ("$VAR_cookie",$Cookie);
		if ($Close > 0) {
		&TOSH_Alert ("","close");
		}
	($Client_Id) = ("V$Client_Id");
	$VAR_client_logged = 0;
	$Client_Reseau = 0;
	print "Content-type: text/html\n";
	print "Location: $VAR_root_url\n\n";
	exit(0);
	}
	elsif ($action eq "raz") {
	$sth = $dbh->prepare('UPDATE users SET lastlog = ? WHERE id = ?') || &TOSH_DieError('CANNOT PREPARE DATA');
	$sth->execute($VAR_now,$Client_Id) || &TOSH_DieError('CANNOT UPDATE DATA IN DATABASE5');
	$sth->finish;
	$GBuffer = $form{"g"};
	$GBuffer =~ s/::[:]+/=&/g;
	$GBuffer =~ s/::/&/g;
	$GBuffer =~ s/:/=/g;
	&TOSH_GetFormData ($GBuffer);
	$page = $action;
	$VAR_Secure = 1;
	}

$sth = $dbh->prepare('INSERT INTO online (id,ip,page,lastping) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE ip = ?, page = ?, lastping = ?');# || &TOSH_DieError('CANNOT PREPARE DATA');
$sth->execute("$Client_Id","$VAR_user_ip","$page",$VAR_now,"$VAR_user_ip","$page",$VAR_now);# || &TOSH_DieError('CANNOT UPDATE DATA IN DATABASE2');
$sth->finish;

$newimg = "<img src=\"images/new.png\" width=\"16\" height=\"9\" name=\"imgnew\" id=\"imgnew\" alt=\"$NEW\" title=\"$NEW\" border=\"0\" align=\"absmiddle\">";

	if ($VAR_client_logged > 0) {
	$sth = $dbh->prepare('SELECT p1.id,p1.reseau_admin FROM users AS p1 WHERE p1.reseau > 0 AND p1.reseau_admin > 0') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute() || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
		while ((@row = $sth->fetchrow_array()) != NULL) {
		push (@AllAdmins,"$row[0]");
		push (@AllModos,"$row[0]") if ($row[1] == 2);
		}
	$sth->finish;

	$sth = $dbh->prepare('SELECT p1.fbid,p1.user,p1.pubuser,p1.email,p1.email_confirme,p1.email_reject,p1.reseau,p1.reseau_admin,p1.parrain,p1.rgroupes,p1.don_year,p1.don_total,p1.init,p1.lastlog,p1.stealth,p2.forum,p2.groupe,p2.news,p2.mp,p3.nom,p3.nomjf,p3.prenom,p3.sexe,p3.naissance,p3.profession,p3.profession_detail,p3.adresse1,p3.adresse2,p3.zip,p3.ville,p3.pays,p3.tel,p3.fax,p3.mob,p3.icq,p4.favoris,p4.blacklist FROM users AS p1, preferences AS p2, profil AS p3, contacts AS p4 WHERE p1.id = ? AND p2.id = p1.id AND p3.id = p1.id AND p4.id = p1.id LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute($Client_Id) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
	@row = $sth->fetchrow_array();
	$sth->finish;
	($Client_FBId,$Client_User,$Client_PubUser,$Client_Email,$Client_Email_Confirme,$Client_Email_Reject,$Client_Reseau,$Client_Reseau_Admin,$Client_Parrain,$Client_Groupes,$Client_DonYear,$Client_DonTotal,$Initialize,$Client_LastLog,$Client_Stealth,$Pref_Forum,$Pref_Groupe,$Pref_News,$Pref_Mp,$Client_Nom,$Client_Nomjf,$Client_Prenom,$Client_Sexe,$Client_Naissance,$Client_Profession,$Client_Profession_Detail,$Client_Adresse1,$Client_Adresse2,$Client_Zip,$Client_Ville,$Client_Pays,$Client_Tel,$Client_Fax,$Client_Mob,$Client_Skype,$Client_Favoris,$Client_Blacklist) = @row;
	$Client_PubUser = "user$Client_Id" if ($Client_PubUser =~ m![a-z]!i <= 0);
	$TimeIt = 1 if (($Client_Reseau_Admin <= 0)&(grep (/^$Client_Id$/,@AllAllowed) <= 0));
	@Client_Groupes = split (/\|/,$Client_Groupes);
	@Client_Groupes = grep (/^\*?[1-9][0-9]*$/,@Client_Groupes);
	$Client_Majeur = 1 if ($Client_Naissance <= ($VAR_ToDay - 180000));
		if ($Client_Reseau_Admin > 0) {
		$sth = $dbh->prepare('SELECT p1.gid FROM groupes AS p1 WHERE p1.online = ? OR p1.online = ? LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
		$sth->execute(0,2) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
		@row = $sth->fetchrow_array();
		$sth->finish;
			if (@row > 0) {
			$pubgroupes++;
			$showraz++;
			}
		}
		if (length ($Client_Email_Confirme) == 6) {
		$page = $action = "join_confirm";
		$Client_ReseauT = $Client_Reseau;
		$Client_Reseau = $Client_Reseau_Admin = 0;
		require "$VAR_cgi_path/libs/join.lib";
		}
		elsif ($Client_Email_Reject > 0) {
		$page = $action = "account_acces";
		$Client_ReseauT = $Client_Reseau;
		$Client_Reseau = $Client_Reseau_Admin = 0;
		push (@ToShow,"REJECTED");
		require "$VAR_cgi_path/libs/account.lib";
		}
	}
	
	if (-e "$VAR_public_path/cgi/libs/$page.lib") {
	require "$VAR_public_path/cgi/libs/$page.lib";
	}
	else {
	$page = $action = "home";
	require "$VAR_public_path/cgi/libs/home.lib";
	}
#################################################################

	if ($VAR_client_logged <= 0) {
	$LeftMenu .= &MakeMenu ("l=$Client_AlterLanguage&switch","$MENU_SWITCHLANG","","","left") if (@Languages > 1);
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LeftMenu .= &MakeMenu ("login_error","$MENU_LOSTCODES","","","left");
	$LeftMenu .= &MakeMenu ("join","$MENU_JOIN","","","left");
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LeftMenu .= &MakeMenu ("home","$MENU_HOME","","","left");
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LeftMenu .= &MakeMenu ("contact","$MENU_CONTACT","","","left");
	$LimPing = ($VAR_now - 200);
	$OldClient_Id = $Client_Id;
	$OldClient_Id =~ s/V//;
	$sth = $dbh->prepare('SELECT p1.id FROM online AS p1 WHERE p1.lastping >= ? AND p1.id NOT LIKE ? AND p1.id != ?') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute($LimPing,"$Client_Id","$OldClient_Id") || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
		while ((@row = $sth->fetchrow_array()) != NULL) {
		$Acon++;
		}
	$sth->finish;
		if ($Acon > 1) {
		$LeftMenu .= &MakeMenu ("","$Acon $MENU_ONLINEPLURPUB","","","left","ok");
		}
		elsif ($Acon > 0) {
		$LeftMenu .= &MakeMenu ("","$MENU_ONLINEONEPUB","","","left","ok");
		}
	push (@ToHide,"ISCONN");
	}
	else {
	$LeftMenu .= &MakeMenu ("board","$MENU_BOARD","","","left");
		if ($Client_Reseau > 0) {
		$LeftMenu .= &MakeMenu ("account_reseau","$MENU_ACCOUNT","","","left");
		}
		else {
		$LeftMenu .= &MakeMenu ("account_pref","$MENU_ACCOUNT","","","left");
		}
	$LeftMenu .= &MakeMenu ("certify","$MENU_CERTIFY","","","left") if ($Client_Majeur > 0);
	$LeftMenu .= &MakeMenu ("parrainage","$MENU_PARRAINAGE","","","left");
	$LeftMenu .= "<RAZMENU>";
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LeftMenu .= &MakeMenu ("games_contest","$MENU_GAMES","","","left");
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LeftMenu .= &MakeMenu ("shop_admin","$MENU_SHOP_ADMIN","","","left") if ($Client_Reseau_Admin > 0);
	$LeftMenu .= &MakeMenu ("http://SYLM.spreadshirt.net","$MENU_SHOP","pop","11000000","left");# if ($Client_Id == 2);
	$LeftMenu .= &MakeMenu ("http://Reseau.spreadshirt.net","$MENU_SHOP_RESEAU","pop","11000000","left") if ($Client_Reseau > 0);
	$LeftMenu .= &MakeMenu ("http://Createur.spreadshirt.net","$MENU_SHOP_DESIGN","pop","11000000","left");# if ($Client_Id == 2);
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LeftMenu .= &MakeMenu ("annuaire","$MENU_ANNUAIRE","","","left");
	$sth = $dbh->prepare('SELECT p1.id FROM messagerie AS p1 WHERE p1.suivi LIKE ? AND p1.dateread <= 0 AND p1.datesaved <= 0 AND p1.id = ?') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute("*%%",$Client_Id) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
		while ((@row = $sth->fetchrow_array()) != NULL) {
		$Mess++;
		}
	$sth->finish;
		if ($Mess > 0) {
			if ($page =~ m!^mp!) {
			$MENU_MP = "<img src=\"images/icones11/gotmail.gif\" alt=\"$GOTMAIL\" width=\"11\" height=\"11\" border=\"0\" align=\"absmiddle\" title=\"$GOTMAIL\">&nbsp;$MENU_MP&nbsp;<span class=\"A9\">($Mess)</span>";
			}
			else {
			$MENU_MP = "<img src=\"images/icones11/gotmail.gif\" alt=\"$GOTMAIL\" width=\"11\" height=\"11\" border=\"0\" align=\"absmiddle\" title=\"$GOTMAIL\">&nbsp;<b><font color=\"#009900\">$MENU_MP</font></b>&nbsp;<span class=\"A9\">($Mess)</span>";
			}
		}
		else {
		$MENU_MP = "$MENU_MP&nbsp;<span class=\"A9\"><i>($EMPTY)</i></span>";
		}
	$LeftMenu .= &MakeMenu ("mp","$MENU_MP","","","left");
	$Query = "";
	$Query = " AND p1.reseau <= 0" if ($Client_Reseau <= 0);
	$Query .= " AND p1.public = 1" if ($VAR_client_logged <= 0);
	$sth = $dbh->prepare('SELECT p1.mid FROM forum AS p1 WHERE p1.gid <= 0 AND p1.owner <= 0 AND p1.date > ? AND p1.visible > 0 AND p1.gid <= 0 AND p1.owner <= 0'.$Query.' LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute($Client_LastLog) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
	@row = $sth->fetchrow_array();
	$sth->finish;
	$showraz++ if (@row > 0);
	$MENU_FORUM = "$newimg&nbsp;<b>$MENU_FORUM</b>" if (@row > 0);
	$LeftMenu .= &MakeMenu ("forum","$MENU_FORUM","","","left");
	$sth = $dbh->prepare('SELECT p1.fid FROM forum AS p1 WHERE p1.gid = ? AND p1.date > ? AND p1.visible > 0 LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
		foreach $groupe (@Client_Groupes) {
		next if ($groupe =~ m!^\*?[1-9][0-9]*$! <= 0);
		$groupe =~ s/^\*//;
		$sth->execute($groupe,$Client_LastLog) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
		@row = $sth->fetchrow_array();
			if (@row > 0) {
			$newgroupe++;
			$showraz++;
			last;
			}
		}
	$sth->finish;
	$sth = $dbh->prepare('SELECT p1.fileid FROM galerie AS p1 WHERE p1.gid = ? AND p1.date > ? AND p1.taille > 0 LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
		foreach $groupe (@Client_Groupes) {
		next if ($groupe =~ m!^\*?[1-9][0-9]*$! <= 0);
		$groupe =~ s/^\*//;
		$sth->execute($groupe,$Client_LastLog) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
		@row = $sth->fetchrow_array();
			if (@row > 0) {
			$newgal++;
			$showraz++;
			last;
			}
		}
	$sth->finish;
	$sth = $dbh->prepare('SELECT p1.id FROM users AS p1, groupes AS p2 WHERE p2.admin = ? AND p2.online > 0 AND p1.rgroupes LIKE CONCAT(?,p2.gid,?) AND p1.id != p2.admin LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
		foreach $groupe (@Client_Groupes) {
		next if ($groupe =~ m!^\*?[1-9][0-9]*$! <= 0);
		$groupe =~ s/^\*//;
		$sth->execute($Client_Id,"%%|*","|%%") || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
		@row = $sth->fetchrow_array();
			if (@row > 0) {
			$newmember++;
			$showraz++;
			last;
			}
		}
	$sth->finish;
	$MENU_GROUPES = "$newimg&nbsp;<b>$MENU_GROUPES</b>" if (($newgroupe > 0)|($newgal > 0)|($pubgroupes > 0)|($newmember > 0));
	$LeftMenu .= &MakeMenu ("groupes","$MENU_GROUPES","","","left");
if ($Client_Id == 2) {### REMOVE
#	$LeftMenu .= &MakeMenu ("groupes_mouvements","$MENU_MOUVEMENTS","","","left");
}### REMOVE
		if ($Client_Reseau_Admin <= 0) {
		$Query = " OR p1.published <= 0";
		}
		else {
		$Query = " AND p1.published > 0";
		$Query .= " AND p1.public <= 2" if ($Client_Reseau <= 0);
		}
	$sth = $dbh->prepare('SELECT p1.anid FROM annonces AS p1 WHERE p1.date > ?'.$Query.' LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute($Client_LastLog) || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
	@row = $sth->fetchrow_array();
		if (@row > 0) {
		$newanno++;
		}
	$sth->finish;
	$MENU_ANNONCES = "$newimg&nbsp;<b>$MENU_ANNONCES</b>" if ($newanno > 0);
	$LeftMenu .= &MakeMenu ("annonces","$MENU_ANNONCES","","","left");
	$newpub = 0;
	$sourcedir = "$VAR_public_path/publications";
	opendir(HOMEDIR, "$sourcedir") || die ("Unable to open directory");
		while ($filename = readdir(HOMEDIR)) {
			if (($filename =~ m!^[0-9]{8}!)&($filename =~ m!\.pdf$!i)) {
			$filename =~ s/^([0-9]+)[^0-9]//;
			$date = $1;
				if ($date >= substr ($Client_LastLog,0,8)) {
				$newpub++;
				last;
				}
			}
		}
	closedir(HOMEDIR);
	$MENU_PUBLICATIONS = "$newimg&nbsp;<b>$MENU_PUBLICATIONS</b>" if ($newpub > 0);
	$LeftMenu .= &MakeMenu ("publications","$MENU_PUBLICATIONS","","","left");
	$GBuffer = $VAR_buffer;
	$GBuffer =~ s/=/:/gi;
	$GBuffer =~ s/&/::/gi;
		if ($showraz > 0) {
		$MENU_RAZ =~ s/<NEWIMG>/$newimg/;
		$RAZMenu = &MakeMenu ("g=$GBuffer&raz","$MENU_RAZ","","","left");
		}
#	$LeftMenu .= &MakeMenu ("","","","","");
#	$LeftMenu .= &MakeMenu ("https://internationale.monarchiste.com","$MENU_CMI","pop","11111110","left");
	$LeftMenu .= &MakeMenu ("","","","","left");
if ($Client_Id == 2) {### REMOVE
}### REMOVE
	$LeftMenu .= &MakeMenu ("contact","$MENU_CONTACT","","","left");
	$LeftMenu .= &MakeMenu ("","","","","left");
	$LimPing = ($VAR_now - 200);
	$sth = $dbh->prepare('SELECT p1.id FROM online AS p1 WHERE p1.id != ? AND p1.id NOT LIKE ? AND p1.lastping >= ? AND p1.id LIKE ?') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute($Client_Id,"V$Client_Id",$LimPing,"V%%") || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
		while ((@row = $sth->fetchrow_array()) != NULL) {
		$Aviz++;
		}
	$sth->finish;
	$sth = $dbh->prepare('SELECT p1.id,p2.anonymous,p2.pubuser,p2.user,p2.reseau,p2.stealth,p2.reseau_admin FROM online AS p1, users AS p2 WHERE p1.id != ? AND p1.lastping >= ? AND p1.id NOT LIKE ? AND p2.id = p1.id ORDER BY RAND()') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute($Client_Id,$LimPing,"V%%") || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
		while ((@row = $sth->fetchrow_array()) != NULL) {
		($Id,$Anonymous,$PubUser,$User,$Reseau,$Stealth,$Reseau_Admin) = @row;
		$tagit = "";
		next if ($Id =~ m!^[1-9][0-9]*$! <= 0);
		next if ($Anonymous > 0);
			if (($Client_Reseau > 0)&($Reseau > 0)) {
			$PubUser = "$User" if (($User ne $PubUser)&($User ne ""));
			$tagit = "&reg;";
			}
			elsif ($PubUser eq "") {
			$PubUser = "user$Id";
			}
		$boldit1 = $boldit2 = "";
			if ($Reseau_Admin > 0) {
			$boldit1 = "<b>";
			$boldit2 = "</b>";
			}
		$VizLink = "<a href=\"?aid=$Id&idcard\" target=\"idcard$Id\" onClick=\"zarma_popup (600,400,'$VAR_root_url?sz=1&aid=$Id&idcard','idcard$Id','11000000');return false\">";
			if ($Stealth > 0) {
			$AllCon .= "$VizLink<font color=\"#CC0000\">$tagit$boldit1\u$PubUser$boldit2</font></a>, " if ($Client_Reseau_Admin > 0);
			$Aste++;
			}
			else {
			$AllCon .= "$VizLink<font color=\"#FFFFFF\">$tagit$boldit1\u$PubUser$boldit2</font></a>, ";
			$Acon++;
			}
		}
	$sth->finish;
	$AllCon =~ s/, $//;
		if (($Aste + $Acon) <= 0) {
		push (@ToHide,"ISCONN");
		}
		elsif (($Aste > 0)&($Client_Reseau_Admin <= 0)) {
		$AllCon .= " $AND" if ($Acon > 0);
		$ALLSTEALTH = $ALLSTEALTHPLUR if ($Aste > 1);
		$ALLSTEALTH =~ s/<NUM>/$Aste/;
		$AllCon .= " $ALLSTEALTH";
		}
		if ($Acon > 1) {
		$ConMenu = "$Acon $MENU_ONLINEPLUR<br>";
		}
		elsif ($Acon > 0) {
		$ConMenu = "1 $MENU_ONLINE<br>";
		}
		if ($Aste > 1) {
		$ConMenu .= "$Aste $MENU_STEONLINEPLURS<br>";
		}
		elsif ($Aste > 0) {
		$ConMenu .= "$MENU_STEONLINEONES<br>";
		}
		if ($Aviz > 1) {
		$ConMenu .= "$Aviz $MENU_VIZONLINEPLUR<br>";
		}
		elsif ($Aviz > 0) {
		$ConMenu .= "$MENU_VIZONLINEONE<br>";
		}
		if ($ConMenu ne "") {
		$LeftMenu .= &MakeMenu ("annuaire_connected","$ConMenu","","","left","spy");
		}
	push (@ToReplace,"ALLCON=>$AllCon");
	}
$BottomMenu .= &MakeMenu ("about","$MENU_ABOUT","","","bottom");
$BottomMenu .= &MakeMenu ("rules","$MENU_RULES","","","bottom");
$BottomMenu .= &MakeMenu ("help","$MENU_HELP","","","bottom");
$BottomMenu .= &MakeMenu ("contact","$MENU_CONTACT","","","bottom");
	if ($Client_Reseau > 0) {
		if ($Page_Reseau == 1) {
		push (@ToReplace,"RESEAU=>_reseau");
			if ($Page_Post == 1) {
			push (@ToHide,"ISPUBLIC=>");
			push (@ToHide,"POSTPUBLIC=>");
			push (@ToReplace,"USER=>\u$Client_User");
			}
			else {
			push (@ToHide,"POSTPUBLIC=>");
			push (@ToHide,"POSTRESEAU=>");
			}
		}
		else {
		push (@ToReplace,"RESEAU=>");
			if ($Page_Post == 1) {
			push (@ToHide,"ISPUBLIC=>");
			push (@ToHide,"POSTRESEAU=>");
			push (@ToReplace,"PUBUSER=>\u$Client_PubUser");
			}
			else {
			push (@ToHide,"POSTPUBLIC=>");
			push (@ToHide,"POSTRESEAU=>");
			}
		}
	$sth = $dbh->prepare('SELECT p1.bid,p1.image_big,p1.url,p1.name FROM boutique AS p1 WHERE p1.display > 0 AND p1.ilike > -25 ORDER BY RAND() LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute() || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
	@row = $sth->fetchrow_array();
	($Bid,$Image_Big,$Url,$Name) = @row;
	$sth->finish;
	}
	else {
	$sth = $dbh->prepare('SELECT p1.bid,p1.image_big,p1.url,p1.name FROM boutique AS p1 WHERE p1.display > 0 AND p1.dislike < (p1.ilike + 25) AND p1.reseau <= 0 ORDER BY RAND() LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
	$sth->execute() || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND1');
	@row = $sth->fetchrow_array();
	($Bid,$Image_Big,$Url,$Name) = @row;
	$sth->finish;
	push (@ToReplace,"RESEAU=>");
	push (@ToHide,"POSTPUBLIC=>");
	push (@ToHide,"POSTRESEAU=>");
	}
push (@ToReplace,"BUFFER=>$VAR_buffer");

	if (($Client_DonYear <= 0)&($Client_Reseau_Admin <= 0)) {
	push (@ToHide,"CANSTEALTH");
	}
	else {
		if ($Client_Stealth <= 0) {
		$StealthImg = "off";
		$StealthAlt = $STEALTH_DO;
		$StealthFont = "<font id=\"stealthfont\" color=\"#00FF00\">";
		}
		else {
		$StealthImg = "on";
		$StealthAlt = $STEALTH_UNDO;
		$StealthFont = "<font id=\"stealthfont\" color=\"#6B769A\">";
		}
	$TopJava .= <<ZARMA;
var stealthstatus = $Client_Stealth;
	function GoStealth () {
		if (stealthstatus == 1) {
		sfont = '#00FF00';
		simg = 'off';
		salt = '$STEALTH_DO';
		stealthstatus = 0;
		}
		else {
		sfont = '#6B769A';
		simg = 'on';
		salt = '$STEALTH_UNDO';
		stealthstatus = 1;
		}
	Stealth = new Image();
	Stealth.src = "cgi/update.cgi?stealth="+stealthstatus+"&n=$VAR_now&stealth";
	document.getElementById('stealthfont').style.color = sfont;
	document.getElementById('stealth').src = Stealth.src;
	document.getElementById('stealth').alt = salt;
	document.getElementById('stealth').title = salt;
	}
ZARMA
	push (@ToReplace,"STEALTH_STATUS=>$StealthFont$STEALTH</font>");
	push (@ToReplace,"STEALTHIMG=>$StealthImg");
	push (@ToReplace,"STEALTHALT=>$StealthAlt");
	}

$sth = $dbh->prepare('SELECT p1.date,p1.lid,p1.titre,p1.url,p1.banner FROM liens AS p1 WHERE p1.display = 1 ORDER BY Rand() LIMIT 0,1') || &TOSH_DieError('CANNOT PREPARE DATABASE');
$sth->execute() || &TOSH_DieError('CANNOT EXECUTE SEARCH COMMAND');
	while ((@row = $sth->fetchrow_array()) != NULL) {
	($LDate,$LId,$LTitre,$LUrl,$LExt) = @row;
	$BannerLink = <<ZARMA;
		<a href="$LUrl" target="_blank"><img src="https://www.monarchiste.com/images/banners/links/$LId.$LExt" alt="$LTitre" title="$LTitre" width="150" height="50" border="0"></a>
ZARMA
	}
$sth->finish;
	
$dbh->disconnect;
$PageTitle = " - $PageTitle" if ($PageTitle ne "");
push (@ToReplace,"PAGETITLE=>$PageTitle");
push (@ToReplace,"META_DESCRIPTION=>$MetaDescription");
push (@ToReplace,"META_KEYWORDS=>$Meta_Keywords");
push (@ToReplace,"TIMEIT=>$TimeIt");
push (@ToReplace,"TOPJAVA=>$TopJava");
push (@ToReplace,"ONLOAD=>$OnLoad");
push (@ToReplace,"CITATION=>$Citation");
push (@ToReplace,"USER=>\u$Client_User");
push (@ToReplace,"SUBMENU=>$SubMenu");
push (@ToHide,"BIRTHDAY") if (substr ($Client_Naissance,4,4) != substr ($VAR_ToDay,4,4));

#	if (($Client_Reseau_Admin > 0)|(grep (/^$Client_Id$/,@AllAllowed) > 0)) {
	if ($Client_Reseau > 0) {
	push (@ToHide,"CLOSED");
#	push (@ToHide,"BANNERS");
	push (@ToReplace,"LEFTMENU=>$LeftMenu");
	push (@ToReplace,"BOTTOMMENU=>$BottomMenu");
	}
	elsif ($VAR_client_logged > 0) {
	push (@ToHide,"CLOSED");
	push (@ToReplace,"LEFTMENU=>$LeftMenu");
	push (@ToReplace,"BOTTOMMENU=>$BottomMenu");
	}
	else {
	push (@ToHide,"CLOSED");
#	push (@ToHide,"PUBLICATION");
	push (@ToReplace,"LEFTMENU=>$LeftMenu");
	push (@ToReplace,"BOTTOMMENU=>$BottomMenu");
	}

	if ($Client_Id > 0) {
	push (@ToHide,"LOGINFORM");
		if ($Client_Reseau > 0) {
		push (@ToReplace,"LOGGEDAS=>\u$Client_User");
		}
		else {
		push (@ToReplace,"LOGGEDAS=>\u$Client_PubUser");
		}
	}
	else {
	push (@ToHide,"LOGOUT");
	push (@ToHide,"LOGDATA");
	}

push (@ToReplace,"RAZMENU=>$RAZMenu");
push (@ToReplace,"MAINBGCOLOR=>$MainBGColor");
push (@ToReplace,"GBUFFER=>$GBuffer");
push (@ToReplace,"BOTTOMJAVA=>$BottomJava");
push (@ToReplace,"USERID=>$Client_Id");
push (@ToReplace,"CONX=>$Conx");
push (@ToReplace,"ALLCON=>$AllCon");
push (@ToHide,"MORECON") if ($morecon <= 0);
push (@ToReplace,"ALLNEW=>$AllNew");
push (@ToReplace,"ALLBDAY=>$AllBday");
push (@ToHide,"NOBDAY") if ($AllBday eq "");
push (@ToReplace,"NEWMES=>$NewMes");
push (@ToHide,"ISNEWMES") if ($Mes <= 0);
push (@ToReplace,"MESICON=>$MesIcon");
push (@ToReplace,"BANNERLINK=>$BannerLink");
push (@ToReplace,"DATA_URL=>$VAR_data_url");
$ToHide = join ("|",@ToHide);
$ToShow = join ("|",@ToShow);
$ToReplace = join ("|",@ToReplace);
$ToSelect = join ("|",@ToSelect);
$ToPopulate = join ("|",@ToPopulate);
$ToConvert = join ("|",@ToConvert);
&TOSH_DisplayFile ("template$tmpopit"."_$Client_Language.htm","$ToHide","$ToShow","$ToReplace","$ToSelect","$ToPopulate","$ToConvert");

exit(0);

sub MakeMenu {
($tmp_page,$tmp_texte,$tmp_popd,$tmp_pops,$tmp_loc,$tmp_nobg) = @_;
$tmp_pagesub = $tmp_page;
$tmp_pagesub =~ s/^.*&([a-z0-9\_]+)$/$1/i;
$tmp_pagesup = $tmp_pagesub;
$tmp_pagesup =~ s/^([a-z0-9]+)\_.*$/$1/;
$tmp_pops = '11001000' if ($tmp_pops eq "");
$link1 = "";
$link2 = "";
	if ($tmp_loc eq "bottom") {
	$font = "#333333";
	$fontsize = "A9";
	$spacer = "";
	$link = ": <LINK1><font color=\"<FONT>\">$tmp_texte</font><LINK2> :";
	}
	elsif ($tmp_loc eq "sub") {
	$font = "#333333";
	$fontsize = "A11";
	$tmp_bgcolor = "#DDDFE8";
	$spacer = "";
	$link = "<td bgcolor=\"#FFFFFF\" class=\"A11\"><img src=\"images/blank.png\" width=\"1\" height=\"5\"></td>";
	$link .= "<td bgcolor=\"<BGCOLOR>\" class=\"A11\">&nbsp;<LINK1><font color=\"<FONT>\">$tmp_texte</font><LINK2>&nbsp;</td>";
	}
	elsif ($tmp_loc eq "left") {
	$font = "#333333";
	$fontsize = "A11";
	$tmp_bgcolor = "#DDDFE8";
	$spacer = <<ZARMA;
	<tr>
		<td class="A11"><img src="images/blank.png" width="160" height="3"></td>
	</tr>
ZARMA
	$link = <<ZARMA;
	<tr>
		<td bgcolor="<BGCOLOR>" class="A11"><LINK1><font color="<FONT>">$tmp_texte</font><LINK2></td>
	</tr>
ZARMA
	}
	if ($tmp_pagesub eq $page) {
		if ($tmp_loc eq "bottom") {
		$font = "#009900";
		}
		elsif ($tmp_loc eq "sub") {
		$font = "#FFFFFF";
		$tmp_bgcolor = "#009900";
		}
		elsif (($tmp_loc eq "left")&($tmp_popd eq "")) {
		$font = "#FFFFFF";
		$tmp_bgcolor = "#009900";
		}
	$link1 = "<b><a href=\"?$addlan$tmp_page\" target=\"_top\">";
	$link2 = "</a></b>";
	}
#	elsif (($tmp_page =~ m!^$page!)&($tmp_loc ne "sub")) {
	elsif (($tmp_pagesup eq $action)&($tmp_loc ne "sub")) {
		if ($tmp_loc eq "bottom") {
		$font = "#009900";
		}
		elsif ($tmp_loc eq "left") {
		$font = "#FFFFFF";
		$tmp_bgcolor = "#009900";
		}
	$link1 = "<b><a href=\"?$addlan$tmp_page\" target=\"_top\">";
	$link2 = "</a></b>";
	}
	else {
		if ($tmp_popd ne "") {
			if ($tmp_page =~ m!^http:\/\/!) {
			$tmp_target = "_blank";
			}
			else {
			$tmp_target = "$tmp_page";
			$tmp_page = "https://www.$VAR_domain?sz=1&$tmp_page";
			}
		$tmp_target2 = $tmp_target;
		$tmp_target2 =~ s/[^a-z^\_]+//gi;
		$link1 = "<a href=\"$tmp_page\" target=\"$tmp_target2\" onClick=\"zarma_popup (600,400,'$tmp_page','$tmp_target2','$tmp_pops');return false\">";
		}
		else {
		$link1 = "<a href=\"?$addlan$tmp_page\" target=\"_top\">";
		}
	$link2 = "</a>";
	}
	if (($tmp_loc eq "left")&($tmp_nobg ne "")&($tmp_texte ne "")) {
		if ($tmp_nobg =~ m!spy!i) {
		$link1 =~ s/<b>//;
		$link2 =~ s/<\/b>//;
		}
	$link1 = $link2 = "" if ($VAR_client_logged <= 0);
		if ($tmp_nobg =~ m!menu!i <= 0) {
		$font = "#009900";
		$tmp_bgcolor = "#FFFFFF";
		$link1 = "<center><span class=\"A10\">$link1";
		$link2 = "$link2</span></center>";
		}
	}

	if (($tmp_page eq "")&($tmp_nobg eq "")) {
	$Link = $spacer;
	}
	else {
	$Link = $link;
	$Link =~ s/<BGCOLOR>/$tmp_bgcolor/;
	$Link =~ s/<FONT>/$font/;
	$Link =~ s/<LINK1>/$link1/;
	$Link =~ s/<LINK2>/$link2/;
	}
return $Link;
}

sub Unset {
print "Content-type: text/html\n\n";
open (DATA, "./unset.htm") || &TOSH_DieError("SITE UNDER MANAGEMENT !");
flock(DATA,2);
	while (<DATA>) {
	print $_;
	}
flock(DATA,8);
close (DATA);
exit(0);
}