|
|
Prob syncronisation nombre message
Le nombre de messages ne se mete plus a jours tout seul
oui sa jmen doute ^^ mais le prob c quand 2 jour g du en installé un bon packé, et c un de mes membre qui vien de me faire remarqué que le nb des membre marché plus
ou c quil faudrai que je regarde pour l'automatisation du nombre des message, jpourai comparer avec la version d origine
ps : merci pour tas reponse super rapide
ou c quil faudrai que je regarde pour l'automatisation du nombre des message, jpourai comparer avec la version d origine
ps : merci pour tas reponse super rapide
Mais enfermez le !
Message édité 3 fois, dernière édition par B.Moncef, 19 Septembre 2007, 22:32
19 Septembre 2007, 19:30
19 Septembre 2007, 19:30 Escusez moi pour le sms ^^, alors pour mon fichier Poster.php voici la page :
Sa fait beaucoup de text ^^, je vais regarder de mon coté en comparent avec la page d'origine, merci à vous.
Sa fait beaucoup de text ^^, je vais regarder de mon coté en comparent avec la page d'origine, merci à vous.
PHP (Sélectionner le code)
<?php /******************************************************************************* * * [ ./poster.php (français) ] * * -------------------------------------------------------------------------- * Commencé le : 23 août 2004 * Copyright : Groupe Fire Soft Board * Site Web : http://www.fire-soft-board.com * E-mail : support@fire-soft-board.com * -------------------------------------------------------------------------- * Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les * termes de la Licence Publique Générale GNU publiée par la Free Software Foundation * (version 2). Reportez-vous à la Licence Publique Générale GNU pour plus de détails. * Vous devez avoir reçu une copie de la Licence Publique Générale GNU en même temps * que ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation, * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis. * -------------------------------------------------------------------------- * * Derniére modification le 27 janvier 2006 par Genova * Templates : 2 * poster_corps.tpl * popup_smileys.tpl * *******************************************************************************/ // // Les fonctions javascripts utilisées pour le placement de BBcode ou de smiley dans une zone de texte, ont été reprises // de phpBB. // define('FORUM', TRUE); $racine = './'; include($racine . 'demarrage.php'); // On lance les sessions $membre = recuperer_session(); include( $racine . 'includes/functions/fonctions_message.php' ); include( $racine . 'includes/functions/fonctions_sondages_poster.php' ); // On inclu les données sur les forums/categories include( $racine . 'cache/fichier_categorie.php' ); $cache->load_table('forum', CACHE_SQL); // // Sécurisation des variables // $mode = isset($HTTP_GET_VARS['mode']) ? HtmlSpecialChars($HTTP_GET_VARS['mode']) : ''; $forum_id = isset($HTTP_GET_VARS['forum']) ? intval($HTTP_GET_VARS['forum']) : ''; $sujet_id = isset($HTTP_GET_VARS['sujet']) ? intval($HTTP_GET_VARS['sujet']) : ''; $message_id = isset($HTTP_GET_VARS['message']) ? intval($HTTP_GET_VARS['message']) : ''; $citer_id = ( isset($HTTP_GET_VARS['citer']) ) ? intval($HTTP_GET_VARS['citer']) : ''; $login_url = ( isset($HTTP_GET_VARS['login']) ) ? htmlSpecialChars($HTTP_GET_VARS['login']) : ''; $repondre_mp = ( isset($HTTP_GET_VARS['repondre_mp']) ) ? intval($HTTP_GET_VARS['repondre_mp']) : ''; $preview = ( $HTTP_POST_VARS['prev'] ) ? TRUE : FALSE; $upload_mod = ( $HTTP_POST_VARS['submit_upload_mod'] ) ? TRUE : FALSE; $type_sondage = ( isset($HTTP_POST_VARS['type_sondage']) ) ? $HTTP_POST_VARS['type_sondage'] : 0; $on_accede_sujet_v= 1; $parametre = array('nouveau_sujet', 'reponse', 'smiley', 'editer', 'message_prive'); if ( ! in_array($mode, $parametre) ) { redir('index.php'); } // On inclu les smileys include( $racine . 'cache/fichier_smiley.php' ); // // On génère vite fais la boite pour visioner les smileys dans la pop up // if ( $mode == 'smiley' ) { $simple_header = TRUE; include( $racine . 'includes/header_forum.php' ); $tpl->set_filenames(array('smileys' => 'popup_smileys.tpl')); $tpl->assign_vars( array( 'L_SMILEY_TITRE' => $langue['plus_smiley'] )); $nb_ligne_smiley = ( $smiley_lignes == 0 ) ? 0 : ceil(count($smiley) / $pop_up_smiley); $compte = 0; for ( $i = 0; $i < $nb_ligne_smiley; $i++ ) { $tpl->assign_block_vars('l', array()); for ( $j = 0; $j < $pop_up_smiley; $j++ ) { $tpl->assign_block_vars('l.c', array( 'WIDTH' => round(100 / $pop_up_smiley), 'CODE' => addslashes($smiley[$compte]['smiley_code']), 'IMG_SMILEY' => $racine . 'images/smileys/' . $smiley[$compte]['smiley_nom'] )); if ( $compte == ( count($smiley) - 1 ) ) { break; } $compte++; } } $tpl->pparse('smileys'); exit; } $sql = ''; if ( $mode == 'editer' ) { $sql = 'SELECT mes.forum_id, mes.membre_id, s.sujet_id, s.premier_message_id, s.sujet_nom, s.sondage, s.sujet_type, s.sujet_status FROM ' . MESSAGES_TABLE . ' mes LEFT JOIN ' . SUJETS_TABLE . ' s ON mes.sujet_id = s.sujet_id WHERE mes.message_id = \'' . $message_id . '\''; } else if ( $mode == 'reponse' ) { $on_accede_sujet_v= 0; $sql = 'SELECT forum_id, sujet_id, sujet_nom, sujet_status, sujet_type FROM ' . SUJETS_TABLE . ' WHERE sujet_id = \'' . $sujet_id . '\''; } if ( $mode == 'editer' || $mode == 'reponse' ) { if ( ! $result = $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'forums | sujets'), __LINE__, __FILE__, $sql); } $forum_donnees = $bdd->tableau($result); $forum_id = $forum_donnees['forum_id']; $premier_message = ( $forum_donnees['premier_message_id'] == $message_id ) ? TRUE : FALSE; if ($premier_message) { $premier_msg_sondage = ( isset($forum_donnees['sondage']) ? $forum_donnees['sondage'] : 0 ); } else { $premier_msg_sondage = 0; } } if ( $mode == 'message_prive' ) { // // On vérifie que la messagerie privée est activée sur ce forum, on vérifie // aussi si le membre n'a pas sa messagerie privée de désactivée. // include($racine . 'includes/functions/fonctions_mp.php'); if ( $mode == 'message_prive' && $membre['membre_id'] == INVITE ) { redir($racine . 'connexion.php?redirection=poster.php$mode=message_prive'); } if (!$config['messagerie_privee'] || ! $membre['membre_mp_actif'] || !$MOD['message_prive']) { info($langue['info_titre'], $langue['messagerie_desactivee']); } } else { // // On récupère les données de ce forum, ainsi que les droits du visiteur parcourant // la page vis à vis de ce forum. // include( $racine . 'cache/fichier_moderation.php' ); $forum_a = forum_tableau($forum_id); if ( empty($forum_a['forum_id']) ) { info($langue['info_titre'], $langue['forum_non_existant']); } $droits = droits($membre, $forum_a, $moderation, $droit_forum); if (!$MOD['sondage']) { $droits['droit_sondage_poster'] = 0; } // // Le membre peut il voir ce forum? A t'il le droit de poster un nouveau sujet? A t'il le droit // de répondre à un sujet de ce forum? // if ( ! $droits['droit_voir'] || ! $droits['droit_lire'] ) { info($langue['info_titre'], $langue['interdit_droit_voir']); } else if ( ! $droits['droit_poster'] && $mode == 'nouveau_sujet' ) { info($langue['info_titre'], $langue['interdit_droit_poster']); } else if (!$droits['droit_repondre'] && $mode == 'reponse') { info($langue['info_titre'], $langue['interdit_droit_repondre']); } else if ( $mode == 'editer' && ( ( ! $droits['droit_editer'] && ! $droits['membre_editer'] ) || ( $droits['membre_editer'] && $membre['membre_id'] != $forum_donnees['membre_id'] ) ) ) { info($langue['info_titre'], $langue['interdit_droit_editer']); } else if (($mode == 'reponse' || $mode == 'editer') && ! $forum_donnees['sujet_status'] && ! $droits['est_modo']) { info($langue['info_titre'], $langue['est_verrouiller']); } else if ( $mode == 'reponse' && $forum_donnees['sujet_id'] == '' ) { info($langue['info_titre'], $langue['sujet_inexistant']); } else if ( $type_sondage && ! $droits['droit_sondage_poster'] ) { info($langue['info_titre'], $langue['sondage_pasaccess']); } } // // Si le formulaire est soumis... // if ( isset($HTTP_POST_VARS['soumettre']) || $preview || $upload_mod ) { $destinataire = htmlSpecialChars(trim($HTTP_POST_VARS['destinataire'])); $posteur_invite = htmlSpecialChars($HTTP_POST_VARS['posteur_invite']); $pseudo_invite = htmlSpecialChars(trim($HTTP_POST_VARS['pseudo'])); $sujet_nom = htmlSpecialChars(trim($HTTP_POST_VARS['sujet_nom'])); $message_txt = htmlSpecialChars(trim($HTTP_POST_VARS['message'])); $type_sujet = ( $HTTP_POST_VARS['type_sujet'] == '' ) ? count($sujet_type) - 1 : intval($HTTP_POST_VARS['type_sujet']); $type_sondage = ( $type_sondage == "e;"e; )? 0 : 1 ; if ($type_sondage) { $v_sondage_acces = ( isset($HTTP_POST_VARS['sondage_acces']) ) ? intval($HTTP_POST_VARS['sondage_acces']) : 1; $v_sondage_nbre_reponse = ( isset($HTTP_POST_VARS['sondage_nbre_reponse']) ) ? intval($HTTP_POST_VARS['sondage_nbre_reponse']) : 1; $v_sondage_delai = ( isset($HTTP_POST_VARS['sondage_delai']) ) ? intval($HTTP_POST_VARS['sondage_delai']) : 0; $v_sondage_reponses = ( isset($HTTP_POST_VARS['sondage_reponses']) ) ? $HTTP_POST_VARS['sondage_reponses'] : ''; $sondage_saisie_ok = f_sondage_mise_en_forme_reponses(); } else { $v_sondage_acces = 0; } } // // Upload d'un fichier joint... // if ($upload_mod && $config['upload_droit_up'] <= $membre['membre_aut']) { include($racine . 'includes/functions/fonctions_fichiers_joints.php'); $upload_nom = upload_fichier_joint($HTTP_POST_FILES['upload_mod']['name'], $HTTP_POST_FILES['upload_mod']['tmp_name'], $membre, $erreur); $upload_desc = htmlSpecialChars(trim($HTTP_POST_VARS['upload_desc'])); } if( isset($HTTP_POST_VARS['soumettre']) ) { // // On récupère les variables utiles pour pouvoir poster un sujet, une réponse ou éditer un message // unset($erreur); // On vérifie le quelques champs... if( ( $mode == 'nouveau_sujet' || $mode == 'message_prive' || ( $mode == 'editer' && $premier_message ) ) && empty($sujet_nom) ) { $erreur .= $langue['er_titre_sujet_manquant'] . '<br />'; } if( ( $posteur_invite && empty($pseudo_invite) ) || $message_txt == '' ) { $erreur .= $langue['er_champs_vides_poster'] . '<br />'; } if( $type_sondage && !$sondage_saisie_ok ) { $erreur .= $langue['er_pas_assez_reponses'] . '<br />'; } // // On vérifie si la session du membre est expirée, si c'est le cas, on avertit celui-ci et l'invite (:P) // à se reconnecter // if( ! $posteur_invite && $membre['membre_id'] == INVITE ) { $erreur .= sprintf($langue['session_expire'], $racine . 'connexion.php?redirection=' . $racine . 'poster.php$mode=' . $mode . '*forum=' . $forum_id . '*sujet=' . $sujet_id . '*message=' . $message_id); } // On vérifie si la limite de flood a été dépassée if ( ( $mode == 'nouveau_sujet' || $mode == 'reponse' ) && ( time() - $config['flood_limite'] ) < $membre['temps_flood'] ) { $erreur .= sprintf($langue['attente_flood'], $config['flood_limite']) . '<br />'; } if ( $mode == 'message_prive' ) { $recep_data = verif_destinataire_mp($destinataire, $erreur); } // On récupère le login du posteur, ce pseudo ne servira que en cas de 'nouveau_sujet' ou 'reponse' $pseudo_posteur = ( $membre['membre_id'] == INVITE ) ? $pseudo_invite : addslashes($membre['membre_login']); if( $config['surveillance_sujet'] == 1 ) { $requete_surveillance = 'SELECT s.*, f.* FROM ' . SURVEILLANCE_TABLE . ' s LEFT JOIN ' . MEMBRES_TABLE . ' f ON s.membre_id = f.membre_id WHERE s.sujet_id = \'' . $sujet_id . '\' AND s.membre_id != \'' . $membre['membre_id'] . '\''; if( ! $execution_requete = $bdd->requete( $requete_surveillance ) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'surveillance_sujet'), __LINE__, __FILE__, $requete_surveillance); } $surveillance = $bdd->tableau( $execution_requete ); if(isset($surveillance['membre_id'])) { include($racine . 'includes/class/class_mail.php'); $mail = new Mail($langue['charset']); $sql_sujet = 'SELECT sujet_nom FROM ' . SUJETS_TABLE . ' WHERE sujet_id = \'' . $sujet_id . '\''; if( ! $execution_sujet = $bdd->requete( $sql_sujet ) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'sujet'), __LINE__, __FILE__, $sql_sujet); } $nom_sujet = $bdd->tableau( $execution_sujet ); $requete_surveillance2 = 'SELECT s.*, f.* FROM ' . SURVEILLANCE_TABLE . ' s LEFT JOIN ' . MEMBRES_TABLE . ' f ON s.membre_id = f.membre_id WHERE s.sujet_id = \'' . $sujet_id . '\' AND s.membre_id != \'' . $membre['membre_id'] . '\''; if( ! $execution_requete2 = $bdd->requete( $requete_surveillance2 ) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'surveillance_sujet'), __LINE__, __FILE__, $requete_surveillance2); } while( $surveillance2 = $bdd->tableau( $execution_requete2 ) ) { $mail->set_langue( $surveillance2['membre_langue'] ); $mail->set_mail('mail_notification.html'); $mail->sujet( $langue['notification'] . ' : ' . $nom_sujet['sujet_nom'] ); $mail->signature(''); $mail->message(array( 'MEMBRE' => $surveillance2['membre_login'], 'SUJET' => $nom_sujet['sujet_nom'], 'U_SUJET' => $config['dommaine_site'] . '/sujet.php?sujet=' . $sujet_id, 'DESINSCRIPTION' => $config['dommaine_site'] . '/sujet.php?sujet=' . $sujet_id . '&surveillance=0', 'SIGNATURE' => '' )); $mail->expediteur( $config['forum_mail'] , $config['nom_site'] ); $mail->destinataire( $surveillance2['membre_email'], $surveillance2['membre_login'] ); $mail->envoie(); $mail->reset_vars(); } } } // // S'il n'y a aucune erreur, on enregistre le message // if( empty($erreur) ) { switch( $mode ) { case "e;nouveau_sujet"e;: // // Si c'est un nouveau sujet, on enregistre les données dans la table "e;sujets"e; // puis "e;messages"e;. // $sql = 'INSERT INTO ' . SUJETS_TABLE . ' (forum_id, membre_id, sujet_nom, nb_vu, nb_reponse, sujet_type, sondage) VALUES(\'' . $forum_id . '\', \'' . $membre['membre_id'] . '\', \'' . $sujet_nom . '\', \'0\', \'0\',\'' . $type_sujet . '\', \'' . $v_sondage_acces . '\' )'; if( ! $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_insert'], 'sujets'), __LINE__, __FILE__, $sql, TRUE); } // On récupère l'id du dernier sujet $derniere_id_sujet = $bdd->derniere_id(); if( $config['mod_point'] == 1 && $config['point_sujet'] != 0 && $membre['membre_id'] != INVITE ) { $point = $membre['membre_point'] + $config['point_sujet']; $sql = 'UPDATE ' . MEMBRES_TABLE . ' SET membre_point = \'' . $point . '\' WHERE membre_id = \'' . $membre['membre_id'] . '\''; if( ! $bdd->requete( $sql ) ) { info( $langue['er_titre'], sprintf( $langue['er_insert'], 'membres' ), __LINE__, __FILE__, $sql, TRUE ); } } // // Ne pas mettre de break; ici http://www.fire-soft-board.com/fsb/images/smileys/tongue.gif // - Dark_Genova - // if ($type_sondage) { f_sondage_enregistrer($derniere_id_sujet, $v_sondage_delai, $v_sondage_nbre_reponse, $v_sondage_tab_reponses); } case "e;reponse"e;: // // On insert un message dans la base de données, puis on met à jour le sujet concerné // par ce message // $sujet_id = ( $mode == 'nouveau_sujet' ) ? $derniere_id_sujet : $sujet_id; $time = time(); $sql = 'INSERT INTO ' . MESSAGES_TABLE . ' (forum_id, sujet_id, membre_id, pseudo_posteur, message_texte, message_temps, message_ip) VALUES(\'' . $forum_id . '\', \'' . $sujet_id . '\', \'' . $membre['membre_id'] . '\', \'' . $pseudo_posteur . '\', \'' . $message_txt . '\', \'' . $time . '\', \'' . ip2long($HTTP_SERVER_VARS['REMOTE_ADDR']) . '\' )'; if( ! $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_insert'], 'messages'), __LINE__, __FILE__, $sql, TRUE); } // On récupère l'id du dernier message $derniere_id_message = $bdd->derniere_id(); // // On met à jour le sujet fraichement poster en y entrant des données sur le dernier message posté. // $sql_update = ( $mode == 'nouveau_sujet' ) ? ', premier_message_id = \'' . $derniere_id_message . '\'' : ', nb_reponse = nb_reponse + 1'; $sql = 'UPDATE ' . SUJETS_TABLE . ' SET dernier_message_id = \'' . $derniere_id_message . '\', dernier_message_temps = \'' . $time . '\'' . $sql_update . ' WHERE sujet_id = \'' . $sujet_id . '\' '; if( ! $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_update'], 'sujet'), __LINE__, __FILE__, $sql, TRUE); } // // On incrémente le compteur de message de 1 pour le forum concerné, on place // aussi l'ID du dernier message ainsi que la date, l'ID du posteur et son nom. // $forum[$forum_a['cle_forum']]['forum_nb_message']++; $forum[$forum_a['cle_forum']]['forum_nb_sujet'] += ( $mode == 'nouveau_sujet' ) ? 1 : 0; $forum[$forum_a['cle_forum']]['dernier_message_id'] = $derniere_id_message; $forum[$forum_a['cle_forum']]['dernier_message_temps'] = time(); $forum[$forum_a['cle_forum']]['dernier_posteur_id'] = $membre['membre_id']; $forum[$forum_a['cle_forum']]['dernier_posteur_login'] = stripslashes($pseudo_posteur); $cache->write_in_cache($forum, 'forum', $compte_forum, FALSE); // // Mise à jour en tant que lu du sujet. // if ($membre['membre_id'] != INVITE && $mode == 'nouveau_sujet') { $cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite'], $forum_id, $derniere_id_sujet); $sujet = array(); $sujet['sujet_id'] = $sujet_id; $sujet['dernier_message_temps'] = $time; $sujet['dernier_message_lu'] = ''; $sujet['forum_id'] = $forum_id; marquer_sujet_lu($sujet, $membre['membre_id']); } else if ($membre['membre_id'] != INVITE) { $cookie_sujet = recuperer_nouveaux_messages($membre['membre_id'], $membre['derniere_visite'], $forum_id); $sujet = $cookie_sujet[$sujet_id]; $sujet['dernier_message_temps'] = $time; $sujet['sujet_id'] = $sujet_id; $sujet['forum_id'] = $forum_id; marquer_sujet_lu($sujet, $membre['membre_id']); } info($langue['info_titre'], $langue['message_enregistre'] . '<br /><br />' . sprintf($langue['cliquer'], ajout_sid('sujet.php?message=' . $derniere_id_message) . '#' . $derniere_id_message, $langue['voir_message']) . '<br /><br />' . sprintf($langue['cliquer'], ajout_sid('forum.php?forum=' . $forum_a['forum_id']), sprintf($langue['retourner_forum'], $forum_a['forum_nom']))); break; case "e;editer"e;: // // Les versions antérieures à MySQL4 semblent ne pas être compatibles // avec les UPDATE sur plusieurs tables à la fois. Aussi on propose des // "e;requètes de secours"e; pour le cas ou... // if ($MySQL_version >= 4) { $editer_sujet = ($premier_message) ? ', s.sujet_nom = \'' . $sujet_nom . '\', s.sujet_type = \'' . $type_sujet . '\'' : ''; $sql = 'UPDATE ' . MESSAGES_TABLE . ' mes LEFT JOIN ' . SUJETS_TABLE . ' s ON mes.sujet_id = s.sujet_id SET mes.message_texte = \'' . $message_txt . '\' ' . $editer_sujet . ' WHERE mes.message_id = \'' . $message_id . '\''; if (!$bdd->requete($sql)) { info($langue['er_titre'], sprintf($langue['er_update'], 'messages, sujets'), __LINE__, __FILE__, $sql); } } else { $sql = 'UPDATE ' . MESSAGES_TABLE . ' SET message_texte = \'' . $message_txt . '\' WHERE message_id = \'' . $message_id . '\''; if (!$bdd->requete($sql)) { info($langue['er_titre'], sprintf($langue['er_update'], 'messages'), __LINE__, __FILE__, $sql); } if ($premier_message) { $sql = 'UPDATE ' . SUJETS_TABLE . ' SET sujet_nom = \'' . $sujet_nom . '\', sujet_type = \'' . $type_sujet . '\' WHERE sujet_id = \'' . $forum_donnees['sujet_id'] . '\''; if (!$bdd->requete($sql)) { info($langue['er_titre'], sprintf($langue['er_update'], 'messages'), __LINE__, __FILE__, $sql); } } } if ($premier_message && $type_sondage) { f_sondage_editer($forum_donnees['sujet_id'],$v_sondage_delai,$v_sondage_nbre_reponse,$v_sondage_tab_reponses); } info($langue['info_titre'], $langue['message_editer'] . '<br /><br />' . sprintf($langue['cliquer'], ajout_sid('sujet.php?message=' . $message_id) . '#' . $message_id, $langue['voir_message']) . '<br /><br />' . sprintf($langue['cliquer'], ajout_sid('forum.php?forum=' . $forum_a['forum_id']), sprintf($langue['retourner_forum'], $forum_a['forum_nom']))); break; case "e;message_prive"e;: envoyer_mp($membre['membre_id'], $recep_data['membre_id'], $sujet_nom, $message_txt); if ($recep_data['notification_mp']) { mp_notifaction($membre['membre_login'], $recep_data['membre_login'], $recep_data['membre_email'], $recep_data['membre_langue']); } info($langue['info_titre'], $langue['mp_est_envoyer'] . '<br /><br />' . sprintf($langue['retour_boite_reception'], ajout_sid('message_prive.php'))); break; default: info($langue['er_titre'], $langue['mauvais_parametre'], __LINE__, __FILE__); break; } } } switch ( $mode ) { case "e;nouveau_sujet"e;: $page_titre = sprintf($langue['poster'], $langue['nouveau_sujet']); $liens_header = ' -> ' . sprintf($langue['poster'], $langue['nouveau_sujet']); $poster = sprintf($langue['poster'], $langue['nouveau_sujet']); $form_action = ajout_sid('poster.php?mode=nouveau_sujet&forum=' . $forum_id); $liens_header = hierarchie_forum($forum_a['forum_id'], '', PREMIER_PALIER, FALSE) . $liens_header; break; case "e;reponse"e;: $page_titre = sprintf($langue['poster'], $langue['une_reponse']); $liens_header = ' -> ' . sprintf($langue['poster'], $langue['une_reponse']); $poster = sprintf($langue['poster'], $langue['une_reponse']); $form_action = ajout_sid('poster.php?mode=reponse&sujet=' . $sujet_id); $liens_header = hierarchie_forum($forum_a['forum_id'], '', PREMIER_PALIER, FALSE) . $liens_header; break; case "e;editer"e;: $page_titre = $langue['editer']; $liens_header = ' -> ' . $langue['editer']; $liens_header = hierarchie_forum($forum_a['forum_id'], '', PREMIER_PALIER, FALSE) . $liens_header; $poster = $langue['editer']; break; } // // Si on édite ou bien on cite un message, on va récupéré ce message // if ( ( $mode == 'editer' && ( $droits['droit_editer'] || ( $droits['membre_editer'] && $membre['membre_id'] == $forum_donnees['membre_id'] ) ) || ( $mode == 'reponse' && ! empty($citer_id) ) ) && empty($erreur) && ! $preview && ! $upload_mod ) { $sql_var_id = ( $mode == 'editer' ) ? $message_id : $citer_id; $sql = 'SELECT membre_id, message_texte, pseudo_posteur FROM ' . MESSAGES_TABLE . ' WHERE message_id = \'' . $sql_var_id . '\''; if ( ! $result = $bdd->requete($sql) ) { info($langue['er_titre'], sprintf($langue['er_select'], 'messages'), __LINE__, __FILE__, $sql); } $donnees = $bdd->tableau($result); if ( $donnees['message_texte'] == '' ) { info($langue['er_titre'], $langue['aucun_message_trouve']); } $v_message_txt = ( $mode == 'editer' ) ? $donnees['message_texte'] : '[quote=' . $donnees['pseudo_posteur'] . ']' . $donnees['message_texte'] . '[/quote]'; $v_titre_sujet = ( $mode == 'editer' ) ? $forum_donnees['sujet_nom'] : ''; $on_accede_sujet_v=false; $mode_sondage_editer = false; if ($premier_msg_sondage && f_pas_de_vote($forum_donnees['sujet_id'])) { f_lire_sondage($forum_donnees['sujet_id']); $type_sondage=true; $v_sondage_acces = $premier_msg_sondage; $mode_sondage_editer = true; } } else if ( $mode == 'message_prive' && ! empty($repondre_mp) && empty($erreur) ) { $t = recup_reponse_mp($repondre_mp); $v_destinataire = $t['dest']; $v_titre_sujet = $t['titre']; $v_message_txt = $t['texte']; } else if ( ! empty($erreur) || $preview || $upload_mod ) { $v_message_txt = stripslashes($message_txt); $v_titre_sujet = stripslashes($sujet_nom); $v_destinataire = stripslashes($destinataire); } if ($mode == 'message_prive' && empty($v_destinataire) && !empty($login_url)) { $v_destinataire = stripslashes($login_url); } if ( ! defined('HEADER') ) { include( $racine . 'includes/header_forum.php' ); } if( ! empty($erreur) ) { info($langue['info_titre'], $erreur, '', '', '', FALSE); } $tpl->set_filenames( array('corps' => 'poster_corps.tpl') ); // // Si on a appuyé sur "e;Prévisualisation"e;, on parse le message dans poster_corps.tpl // if( $preview && $v_message_txt != '' ) { $message_prev = $v_message_txt; $message_prev = anti_html($message_prev); $message_prev = nl2br($message_prev); $message_prev = fscode_parse($message_prev); $message_prev = smileys($message_prev, $smiley); if ($type_sondage) { $message_prev = $v_sondage_reponses_prev . $message_prev; } $tpl->assign_block_vars('message_prev', array( 'POSTE_LE' => aff_date(time()), 'MESSAGE_PREV' => $message_prev )); } $tpl->assign_vars( array( 'L_POSTER' => $poster, 'L_ECRIRE_MESSAGE' => $langue['ecrire_message'], 'L_SMILIES' => $langue['smilies'], 'L_SOUMETTRE' => $langue['soumettre'], 'L_INFOS_MESSAGE' => $langue['infos_message'], 'L_TITRE_SUJET' => $langue['titre_sujet'], 'L_LOGIN' => $langue['login'], 'L_TYPE_SUJET' => $langue['type_sujet'], 'L_TYPE_NORMAL' => $langue['type_sujet_normal'], 'L_TYPE_ANNONCE' => $langue['type_sujet_annonce'], 'L_MESSAGE_PREV' => $langue['previsualisation'], 'L_AUTEUR' => $langue['auteur'], 'L_MESSAGE' => $langue['message'], 'L_POSTE_LE' => $langue['poste_le'], 'L_PALETTE' => $langue['palette_couleur'], 'L_TXT_COULEUR' => $langue['fscode_defaut_couleur'], 'L_UPLOAD' => $langue['upload_fichier'], 'L_UPLOAD_DESC' => $langue['upload_fichier_desc'], 'L_SUBMIT_UPLOAD' => $langue['submit_upload'], 'L_FICHIER_JOINT' => $langue['fichier_joint'], 'L_DESTINATAIRE' => $langue['destinataire'], 'U_ACTION' => $form_action, 'U_PLUS_SMILEY' => addslashes(ajout_sid('poster.php?mode=smiley')), 'V_MESSAGE_TXT' => $v_message_txt, 'V_DESTINATAIRE' => $v_destinataire, 'V_TITRE_SUJET' => $v_titre_sujet )); f_sondage_afficher($type_sondage, $v_sondage_acces, $v_sondage_nbre_reponse, $v_sondage_delai, $v_sondage_reponses,$on_accede_sujet_v); // // On affiche les FScode sous forme de boutton à partir du tableau $fscode_bouttons. Le nombre // de FScode apr ligne, donné par la variable $fscode_lignes, est défini dans includes/variables_generales.php // -Dark_Genova - // $fscode_bouttons = array('b', 'i', 'u', 'mp3', 'real', 'swf', 'url', 'mail', 'img'); $nb_ligne_fscode = ( ! empty($fscode_lignes) ) ? ceil(count($fscode_bouttons) / $fscode_lignes) : 0; $compte = 0; for ( $i = 0; $i < $nb_ligne_fscode; $i++ ) { $tpl->assign_block_vars('fscode_ligne', array()); for ( $j = 0; $j < $fscode_lignes; $j++ ) { $fs = $fscode_bouttons[$compte]; $tpl->assign_block_vars('fscode_ligne.fscode_colone', array( 'FSCODE_DEBUT' => '[' . $fs . ']', 'FSCODE_TEXTE' => addslashes($langue['fscode_defaut_' . $fs]), 'FSCODE_FERME' => '[/' . $fs . ']', 'V_FSCODE' => $fs )); if ( $compte == ( count($fscode_bouttons) - 1 ) ) { break; } $compte++; } } // // On fait de même que pour afficher les FScodes sauf que cette fois on gère les listes // -Dark_Genova - // $fsliste = array( array('taille', '5', '10', '12', '18', '24'), array('align', 'left', 'center', 'right'), ); $nb_ligne_fsliste = ( ! empty($fsliste_lignes) ) ? ceil(count($fsliste) / $fsliste_lignes) : 0; $compte = 0; for ( $i = 0; $i < $nb_ligne_fsliste; $i++ ) { $tpl->assign_block_vars('fsliste_ligne', array()); for ( $j = 0; $j < $fsliste_lignes; $j++ ) { $fs = $fsliste[$compte]; $tpl->assign_block_vars('fsliste_ligne.fsliste_colone', array( 'FCT_JS' => addslashes($fs[0]), 'LANGUE' => addslashes($langue['fscode_defaut_' . $fs[0]]) )); for ( $k = 1; $k < count($fs); $k++ ) { $selected = ( $fs[0] == 'taille' && $fs[$k] == '12' ) ? 'selected="e;selected"e;' : ''; $tpl->assign_block_vars('fsliste_ligne.fsliste_colone.fsliste_option', array( 'VALUE' => addslashes($fs[$k]), 'OPTION' => $langue['fsliste_' . $fs[$k]], 'CHCK' => $selected )); } if ( $compte == ( count($fsliste) - 1 ) ) { break; } $compte++; } } // // On affiche les smileys, la variable $smiley_lignes vient du fichier // includes/variables_generales.php // -Dark_Genova - // for ( $j = 0; $j < $smiley_lignes; $j++ ) { $tpl->assign_block_vars('smiley', array( 'CODE' => addslashes($smiley[$j]['smiley_code']), 'IMG_SMILEY' => $racine . 'images/smileys/' . $smiley[$j]['smiley_nom'] )); } if( $mode == 'nouveau_sujet




