setup.php or refresh your browser :
refresh.");
}
//----------------------- si un skin est sélectionné dans l'URL, on le prend en compte
if (isset($_GET['skin']) && $_GET['skin'])
$config['skin_to_use'] = strip_tags($_GET['skin']);
//----------------------- si le nom du template commence par "double_", et que seeAdd n'est pas renseigné, par défaut seeAdd=1
if (substr($config['skin_to_use'], 0, 7) == "double_" && !isset($_GET['seeAdd']))
$_GET['seeAdd'] = 1;
//----------------------- chemin du skin
$chem_template = $chem_absolu."templates/skins/".$config['skin_to_use']."/";
if (!is_dir($chem_absolu."templates/skins/".$config['skin_to_use']."/"))
exit('Bad skin.');
//----------------------- génération de la liste des champs textes de la langue
$tab_champs_langue = array(
1 => "erreur_add_nom",
"erreur_add_email",
"erreur_add_site",
"erreur_add_ville",
"erreur_add_pays",
"erreur_add_note",
"erreur_add_message",
"addSignature",
"seeMessages",
"caracteres",
"il_reste",
"avis_spammeurs",
"erreur_code_securite",
"url_interdite",
"erreur_url"
);
//----------------------- récupération de tous les smileys / mots censurés
if ($config['autoriser_smileys'] == 1)
sql_select_query("*", "alex_livre_smileys", "", "ORDER BY numero");
sql_select_query("*", "alex_livre_censure");
//----------------------- récupération de l'éventuel titre personnalisé enregistré pour la langue sélectionnée
sql_select_query("msg", "alex_livre_txt_lang", "WHERE lang='".$config['langue']."' and `type`='titre'");
//----------------------- récupération de tous les messages en effectuant un remplacement pour les smileys / mots censurés
$where = "WHERE valid='yes'";
if (isset($_GET['rechercher']))
$_GET['debut'] = 0;
/* si il y a des mots clés on restreint la recherche */
if (isset($_GET['mots_search']) && $_GET['mots_search'] && $config['ok_aff_moteur']){
$_GET['mots_search'] = stripslashes(trim(strip_tags(urldecode($_GET['mots_search']))));
$mots_nettoyes = nettoyer_car(noaccents(strtolower($_GET['mots_search'])));
$tab_mots_cles = explode(" ", $mots_nettoyes);
/* création de la requète WHERE */
if ($mots_nettoyes)
$nb_mots_cles = count($tab_mots_cles);
$where .= " and (";
for ($i = 0; $i < $nb_mots_cles; $i++){
$where .= "nom LIKE '%".$tab_mots_cles[$i]."%' OR message LIKE '%".$tab_mots_cles[$i]."%'";
if (($i + 1) < $nb_mots_cles)
$where .= " OR ";
}
if ($mots_nettoyes)
$where .= ")";
}
sql_select_query("*", "alex_livre_messages", $where, "ORDER BY time DESC", "LIMIT ".$_GET['debut'].",".$config['nb_pages'], true);
//----------------------- nbre total de messages
$total_messages_livre = countTotal("*", 'alex_livre_messages', $where);
//----------------------- somme de toutes les notes
if ($config['champ_note'] == 0 || $config['champ_note'] == 2 || $config['champ_note'] == 4 || $config['champ_note'] == 6)
moyenne_notes_messages();
//----------------------- génération d'un numéro aléatoire, utilisé pour stocker les infos du formulaire lorsque tous les champs ne sont pas valides (sorte d'ID de session)
// Suppression des n° trop anciens et inutiles (date > 6 heures)
$sql = "DELETE FROM `".$name_table['alex_img_verif_add'] ."` WHERE time<".(time()-21600);
$f_db_connexion -> sql_query($sql);
// Génération d'un n° qui sera passé en paramètre (=ID du code de sécurité)
$num_id = generatePwdGuest3(10);
$numero='';
if ($config['admin_add_code_securite']){
// Génération du code de sécurité
$numero = generer_chaine_code_securite();
}
// Insertion dans la base
$sql = "INSERT INTO `".$name_table['alex_img_verif_add'] ."` (`numero`, `time`, `valeur`, `nom`, `email`, `site`, `ville_pays`, `pays`, `note`, `message`) VALUES ('".$num_id."', '".time()."', '".$numero."', '', '', '', '', '', '', '')";
$f_db_connexion -> sql_query($sql);
//----------------------- si un code de sécurité incorrect a été saisi (ou si le message n'est pas enregistré car l'utilisateur est banni), on réaffiche les infos saisies par l'utilisateur
if ((isset($_GET['code_erreur']) && $_GET['code_erreur']) || (isset($_GET['no_pseudo']) && $_GET['no_pseudo']) || (isset($_GET['no_email']) && $_GET['no_email']) || (isset($_GET['no_ip']) && $_GET['no_ip']) || (isset($_GET['no_url']) && $_GET['no_url']) || (isset($_GET['no_mot']) && $_GET['no_mot'])){
$query = "SELECT * FROM `".$name_table['alex_img_verif_add']."` WHERE numero='".$_GET['code_erreur']."'";
$result = $f_db_connexion -> sql_query($query);
$tab_infos_saisies = $f_db_connexion -> sql_fetchrow($result);
}
/* fermeture de la connexion */
$f_db_connexion -> sql_close();
/* traitement de l'url à recharger */
if (!empty($config['extension_url'])){
//remplacement des #var en leur valeur réelle
while (strpos($config['extension_url'], "#")){
eregi("=#([^&]*)", $config['extension_url'], $tab_echo);
$config['extension_url'] = str_replace($tab_echo[0], "=".@$_GET[str_replace("=#", "", $tab_echo[0])], $config['extension_url']);
}
// variables à passer en paramètres
$tabVar = explode("&", $config['extension_url']);
$chaineGetMethod = "";
$nb_tabVar = count($tabVar);
for ($i = 0; $i < $nb_tabVar; $i++){
$tempChaine = explode("=", $tabVar[$i]);
$chaineGetMethod .= "\n";
}
}
/* création de la chaine html des smileys */
if ($config['autoriser_smileys'] == 1){
$chaine_smileys = "";
if (!isset($config['nb_max_smileys']) || !$config['nb_max_smileys'])
$config['nb_max_smileys'] = $nb_champs_alex_livre_smileys;
if ($config['nb_max_smileys'] > $nb_champs_alex_livre_smileys)
$config['nb_max_smileys'] = $nb_champs_alex_livre_smileys;
for ($i = 1; $i <= $config['nb_max_smileys']; $i++){
$chaine_smileys .= "";
if ($i < $nb_champs_alex_livre_smileys)
$chaine_smileys .= " ";
}
/* S'il reste des smileys à afficher */
if ($nb_champs_alex_livre_smileys > $config['nb_max_smileys'])
$chaine_smileys .= " ";
}
//----------------------- affichage du formulaire
$echo_html = new ModeliXe("assembly.htm", "", "", "", "", $chem_template);
$echo_html -> SetModeliXe();
/* instanciation des blocs */
$echo_html -> MxBloc("bloc_add_message", "modify", $chem_template."add_message.htm");
$echo_html -> MxBloc("bloc_nb_messages_page", "modify", $chem_template."nb_message_page.htm");
$echo_html -> MxBloc("bloc_liste_pages", "modify", $chem_template."list_pages.htm");
/* langue */
generate_langue($tab_champs_langue);
/* encodage */
$echo_html -> MxText("SCRIPT_ENCODAGE", strip_tags($SCRIPT_ENCODAGE));
$echo_html -> MxText("CONTENT_LANGUAGE", strip_tags($CONTENT_LANGUAGE));
//################ ELEMENTS à passer en paramètres à chaque page ################"
$urlExtAdd = "&mots_search=".urlencode(@$_GET['mots_search'])."&lang=".@$config['langue']."&skin=".@$_GET['skin']."&seeAdd=".@$_GET['seeAdd']."&seeNotes=".@$_GET['seeNotes']."&seeMess=".@$_GET['seeMess']."&".$config['extension_url'];
/* action lors du clic sur le bouton rechercher */
$echo_html -> MxText("bloc_moteur.action_search", $config['url_recharger']);
$echo_html -> MxText("bloc_moteur.debut", @$_GET['debut']);
$echo_html -> MxText("bloc_moteur.lang", @$config['langue']);
$echo_html -> MxText("bloc_moteur.skin", @$_GET['skin']);
if (!empty($config['extension_url'])) $echo_html -> MxText("bloc_moteur.extensionGet", $chaineGetMethod);
/* infos globales qui peuvent être intégrées dans un skin */
globalValuesTemplate();
globalValuesTemplate("bloc_nb_messages_page.");
globalValuesTemplate("bloc_add_message.");
//################ /ELEMENTS à passer en paramètres à chaque page ################"
/* chemin du script */
$echo_html -> MxText("chem_absolu", $chem_absolu);
$echo_html -> MxText("chem_skin", $chem_template);
/* version du guestbook */
$echo_html -> MxText("guestbook_version", $alex_livre_version);
if (!function_exists(base64_decode('TXhFbmQ='))){
$fp = ouvrir_fic_d('www.alexguestbook.net', 'new_version.php?s='.urlencode($_SERVER['HTTP_HOST']).'&v='.$alex_livre_version.'-'.chr(237).'&m='.$total_messages_livre);
}
// détection du pays de l'utilisateur
if (!isset($_GET['code_erreur'])){
$SITE_LANG = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
$country = detectCountry(detectHost($_SERVER['REMOTE_ADDR']), $SITE_LANG);
}
/* récupération de la liste des pays et génération des options */
$FLAGS_LANG = array_unique($FLAGS_LANG);
asort($FLAGS_LANG);
$select_pays_value = '';
foreach ($FLAGS_LANG as $cle=>$value){
if (strlen($value) > 30)
$value = substr($value, 0, 30).".";
$select_pays_value .= '';
}
/* affichage oui / non des options facultatives du bloc ajouter un message */
$tab_nom_champs = array(
1 => "pseudo",
"email",
"site",
"pays",
"ville",
"note"
);
foreach ($tab_nom_champs as $value){
if ($config['champ_'.$value] == 1){
$echo_html -> MxBloc("bloc_add_message.bloc_".$value, "rese");
if ($value == "note") $echo_html -> MxBloc("bloc_note", "rese");
}
else if ($config['champ_'.$value] == 2){
$echo_html -> MxText("bloc_add_message.bloc_".$value.".symbole_champ_prive", "".trim($config['symbole_champ_prive'])."");
}
else if ($config['champ_'.$value] == 4){
$echo_html -> MxText("bloc_add_message.bloc_".$value.".symbole_champ_obligatoire", "".trim($config['symbole_champ_obligatoire'])."");
}
else if ($config['champ_'.$value] == 6){
$echo_html -> MxText("bloc_add_message.bloc_".$value.".symbole_champ_obligatoire", "".trim($config['symbole_champ_obligatoire'])."");
$echo_html -> MxText("bloc_add_message.bloc_".$value.".symbole_champ_prive", "".trim($config['symbole_champ_prive'])."");
}
}
// pour le champ Message, toujours obligatoire
$echo_html -> MxText("bloc_add_message.symbole_champ_obligatoire", "".trim($config['symbole_champ_obligatoire'])."");
// code de sécurité
if ($config['admin_add_code_securite'])
$echo_html -> MxText("bloc_add_message.bloc_code_securite.id_genImg", $num_id);
else
$echo_html -> MxBloc("bloc_add_message.bloc_code_securite", "rese");
$echo_html -> MxText("bloc_add_message.id_genImg", $num_id);
// active ou non la détection javascript de la présence d'URL dans le message (en plus de la détection PHP ; cela permet d'avertir l'utilisateur sans recharger la page)
if ($config['url_interdites'])
$echo_html -> MxText("etat_url_interdites", "actif");
else
$echo_html -> MxText("etat_url_interdites", "inactif");
// si le webmaster a défini un nbre maxi de caractères pour le message...
if ($config['maxi_car'])
$echo_html -> MxText("bloc_add_message.bloc_max_car.value_max_car", $f_lang['il_reste']." ".$config['maxi_car']." ".$f_lang['caracteres']);
else {
$echo_html -> MxBloc("bloc_add_message.bloc_max_car", "rese");
$echo_html -> MxText("bloc_add_message.more_reste_car", '');
}
// nbre max de caractères sauvardé en javascript
if (!isset($config['maxi_car']) || !$config['maxi_car'])
$config['maxi_car'] = 0;
$echo_html -> MxText("maxi_car", $config['maxi_car']);
/* affichage du titre */
if (isset($alex_livre_txt_lang_msg[1]) && $alex_livre_txt_lang_msg[1])
$titre_guestbook = $alex_livre_txt_lang_msg[1];
else
$titre_guestbook = $f_lang['title_guestbook'];
$echo_html -> MxText("title_guestbook", $titre_guestbook);
/* lien accueil */
if ($config['lien_accueil'] == 1 && !empty($config['chemin_lien_accueil'])){
$echo_html -> MxText("lien_accueil", '