<?php
///////////////////////////////////////////////
//                @lex Guestbook             //
//      by Soulard Alexis (c) 2002 - 2006    //
//         http://www.alexphpteam.com/       //
//             all right reserved            //
///////////////////////////////////////////////

function countTotal($count, $table, $where="", $jointure="", $as=""){
	global $f_db_connexion, $name_table, $idc;
	
	$query = "SELECT COUNT(".$count.") FROM `".$name_table[$table]."` ".$as." ".$jointure." ".$where;
	$result = $f_db_connexion -> sql_query($query);
	$row = $f_db_connexion -> sql_fetchrow($result);
	return $row[0];
}

// -----

function sql_select_query($champs, $table, $where="", $orderby="", $limit="", $traitement_messages=false, $jointure="", $as="", $prefix=""){
	global $f_db_connexion, $name_table, $htmlspecial, $exact_name, $debug, $no_count, $idc, $indice_start, $not_init_tab;

	$query = "SELECT ".$champs." FROM `".$name_table[$table]."` ".$as." ".$jointure." ".$where." ".$orderby." ".$limit;
	$result = $f_db_connexion -> sql_query($query);
	global ${"nb_champs_".$table.(($prefix) ? $prefix : "")};

	if (!$no_count)
		${"nb_champs_".$table.(($prefix) ? $prefix : "")} =  $f_db_connexion -> sql_numrows($result);

	if (!isset($indice_start) || !$indice_start){
		$i=1;
		$val_start = 1;
	}
	else if ($indice_start){
		$i=$indice_start;
		$val_start = $indice_start;
	}

	while ($row = $f_db_connexion -> sql_fetchrow($result)){
		foreach ($row as $cle => $value){
			if ($cle == "0" || trim((int)$cle))
				continue;

			if ($i == $val_start){
				if ($exact_name)
					global ${$cle};
				else {
					global ${$prefix.$table."_".$cle};

					if (!isset($not_init_tab))
						${$prefix.$table."_".$cle} = array();
				}
			}

			if ($traitement_messages && $cle == "message"){
				$value = trim($value);
				$value = cut($value);
				$value = replace_censure_smileys($value);
			}

			if ($exact_name && $htmlspecial != "no")
				${$cle} = $value;
			else if ($exact_name)
				${$cle} = $value;
			else if ($htmlspecial != "no" && $cle != "code_source")
				${$prefix.$table."_".$cle}[$i] = $value;
			else
				${$prefix.$table."_".$cle}[$i] = $value;
		}
		
		$i++;
	}
}

// -----

function f_verif_identif(){
	global $name_table, $_POST, $f_db_connexion, $id_user;

	$query = "SELECT id_user,login FROM ".$name_table['alex_livre_users']." WHERE login='".$_POST['f_login']."' and pass='".$_POST['f_pass']."'";
	$result = $f_db_connexion -> sql_query($query);

	$row = $f_db_connexion -> sql_fetchrow($result);
	$id_user = $row[0];
	return $row[1];
}

// -----

function f_insert_session($f_sid, $type_action, $id_user, $login_user){
	global $f_db_connexion, $name_table;

	switch ($type_action){
		case("insert"):
			$query = "INSERT INTO ".$name_table['alex_livre_sessions']." (session, id_user, login, last_connect) VALUES('$f_sid','$id_user','$login_user','".time()."')";
			break;
		case("update"):
			$query = "UPDATE ".$name_table['alex_livre_sessions']." SET last_connect='".time()."' WHERE session='$f_sid'";
			break;
	}

	$result = $f_db_connexion -> sql_query($query);
}

// -----

function f_destroy_session(){
	global $f_db_connexion, $name_table, $f_temps_session;

	$actu_time = time();
	$query = "DELETE FROM ".$name_table['alex_livre_sessions']." WHERE last_connect < ($actu_time - $f_temps_session)";
	$result = $f_db_connexion -> sql_query($query);
}

// -----

function f_verif_session(){
	global $_GET, $name_table, $f_db_connexion, $f_temps_session, $id_user, $login_user;

	$actu_time = time();
	$query = "SELECT id_user, login FROM ".$name_table['alex_livre_sessions']." WHERE session='".$_GET['f_sid']."' and last_connect >= ($actu_time - $f_temps_session)";
	$result = $f_db_connexion -> sql_query($query);

	if ($row = $f_db_connexion -> sql_fetchrow($result)){
		$id_user = $row[0];
		$login_user = $row[1];

		//on prolonge la session
		f_insert_session($_GET['f_sid'], "update", $id_user, $login_user);
	}
	else{
		//destruction de la session et redirection vers la page d'accueil de la partie admin
		$query = "DELETE FROM ".$name_table['alex_livre_sessions']." WHERE session='".$_GET['f_sid'];
		$result = $f_db_connexion -> sql_query($query);

		header("Location: index.php?close_sess=1");
		exit;
	}
}

// -----

function f_save_pages(){
	global $f_db_connexion, $name_table, $tab_champs_admin, $id_user, $nb_messages_page;

	generer_liste_admin();

	$query = "SELECT * FROM ".$name_table['alex_livre_users']." WHERE id_user='".$id_user."'";
	$result = $f_db_connexion -> sql_query($query);

	$a=4;
	while($row = $f_db_connexion->sql_fetchrow($result)){
		for ($i=1; $i<=count($tab_champs_admin); $i++){
			global ${"user_".$tab_champs_admin[$i]};

			${"user_".$tab_champs_admin[$i]} = $row[$tab_champs_admin[$i]];
			$a++;
		}

		$nb_messages_page = $row['nb_mess_page'];
	}
}

// -----

function moyenne_notes_messages(){
	global $name_table, $f_db_connexion, $value_moyenne_notes_messages;

	$query = "SELECT AVG(note) FROM ".$name_table['alex_livre_messages']." WHERE note<>''";
	$result = $f_db_connexion -> sql_query($query);
	
	while ($row = $f_db_connexion->sql_fetchrow($result)){
		$value_moyenne_notes_messages = $row[0];
	}
}
?>