Tout marche bien mais je ne peux plus envoyer de sujet, il doit y avoir le même genre d'erreure dans poster.php :
Impossible d'insérer des données dans: sujets
----------------------
Erreur SQL: 1136 Column count doesn't match value count at row 1
Requête SQL: INSERT INTO fsb_sujets (forum_id, membre_id, sujet_nom, nb_vu, nb_reponse, sujet_type, sujet_tags) VALUES('5', '1', 'gjhjhg', '0', '0','1', '0', '')
Ligne: 303
Fichier: /home.1/b/l/c/blckdg/www/poster.php
Je te le montre :
[html]<?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);
// On inclut les différents tags
include ( $racine . 'cache/fichier_tags.php' );
// On inclut le fichier simplifié pour les TAGs
include ( $racine . 'cache/fichier_tag.php' );
$tag = $cache->convert_to_simple_array($tag, 'id', 'tag');
//
// 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;
$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');
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, s.sujet_tags 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, sujet_tags 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;
}
}
//
// 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 )
{
$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 == "" )? 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;
}
}
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 == '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 />';
}
// 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']);
// On récupère les différents tags du sujet
$sujet_tags = array();
for ( $t = 0; $t < $compte_tags; $t++ )
{
if ( isset($HTTP_POST_VARS['tag' . $tags[$t]['id']]) )
{
$sujet_tags[] = $tags[$t]['id'];
}
}
if ( !empty($sujet_tags) )
{
$sujet_tags = implode(',', $sujet_tags);
}
else
{
$sujet_tags = '';
}
//
// S'il n'y a aucune erreur, on enregistre le message
//
if( empty($erreur) )
{
switch( $mode )
{
case "nouveau_sujet":
//
// Si c'est un nouveau sujet, on enregistre les données dans la table "sujets"
// puis "messages".
//
$sql = 'INSERT INTO ' . SUJETS_TABLE . '
(forum_id, membre_id, sujet_nom, nb_vu, nb_reponse, sujet_type, sondage, sujet_tags)
VALUES(\'' . $forum_id . '\', \'' . $membre['membre_id'] . '\', \'' . $sujet_nom . '\', \'0\', \'0\',\'' . $type_sujet . '\', \'' . $v_sondage_acces . '\', \'' . $sujet_tags . '\')';
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();
//
// Ne pas mettre de break; ici

// - Dark_Genova -
//
if ($type_sondage)
{
f_sondage_enregistrer($derniere_id_sujet, $v_sondage_delai, $v_sondage_nbre_reponse, $v_sondage_tab_reponses);
}
case "reponse":
//
// 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);
}
// + 1 message pour le membre

// - Dark_Genova -
$sql = 'UPDATE ' . MEMBRES_TABLE . '
SET membre_nb_message = membre_nb_message + 1, temps_flood = \'' . $time . '\'
WHERE membre_id = \'' . $membre['membre_id'] . '\'';
if( ! $bdd->requete($sql) )
{
info($langue['er_titre'], sprintf($langue['er_update'], 'membres'), __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-.html' . $forum_a['forum_id']), sprintf($langue['retourner_forum'], $forum_a['forum_nom'])));
break;
case "editer":
//
// Les versions antérieures à MySQL4 semblent ne pas être compatibles
// avec les UPDATE sur plusieurs tables à la fois. Aussi on propose des
// "requètes de secours" pour le cas ou...
//
if ($MySQL_version >= 4)
{
$editer_sujet = ($premier_message) ? ', s.sujet_nom = \'' . $sujet_nom . '\', s.sujet_type = \'' . $type_sujet . '\', sujet_tags = \'' . $sujet_tags . '\'' : '';
$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 . '\', sujet_tags = \'' . $sujet_tags . '\'
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-.html' . $forum_a['forum_id']), sprintf($langue['retourner_forum'], $forum_a['forum_nom'])));
break;
default:
info($langue['er_titre'], $langue['mauvais_parametre'], __LINE__, __FILE__);
break;
}
}
}
switch ( $mode )
{
case "nouveau_sujet":
$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 "reponse":
$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 "editer":
$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 )
{
$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'] : '
Citation (' . $donnees['pseudo_posteur')
. ']' . $donnees['message_texte'] . '
';
$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 ( ! empty($erreur) || $preview )
{
$v_message_txt = stripslashes($message_txt);
$v_titre_sujet = stripslashes($sujet_nom);
}
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') );
//
// On fait la liste des tags que l'utilisateur peut voir... si il peut en voir !
//
$hidden = '';
if ( ( $mode == 'nouveau_sujet' || ( $mode == 'editer' && $premier_message ) ) && $membre['membre_id'] != 0 )
{
$bolean_verif = false;
if ( $mode == 'nouveau_sujet' )
{
$forum_donnees['membre_id'] = $membre['membre_id'];
}
$tags_a = explode(',', $forum_a['forum_tags']);
$sujet_tags = explode(',', $forum_donnees['sujet_tags']);
$nb_presents = 0;
$dispos = array();
for ( $t = 0; $t < $compte_tags; $t++ )
{
$checked = false;
$tags[$t]['aut'] = explode(',', $tags[$t]['aut']);
if ( !in_array($tags[$t]['id'], $tags_a) ) continue;
if ( !in_array($membre['membre_aut'], $tags[$t]['aut']) && $membre['membre_aut'] != ADMIN ) continue;
if ( $membre['membre_aut'] == MEMBRE && $forum_donnees['membre_id'] != $membre['membre_id'] ) continue;
$bolean_verif = true;
if ( in_array($tags[$t]['id'], $sujet_tags) )
{
$checked = true;
$nb_presents++;
}
$tpl->assign_block_vars('tags', array(
'ID' => $tags[$t]['id'],
'COULEUR' => $tags[$t]['couleur'],
'TAG' => $tags[$t]['tag'],
'CHECKED' => ( $checked == true ) ? ' checked="checked"' : ''
));
$dispos[] = $tags[$t]['id'];
}
if ( $bolean_verif && $MOD['avanced_tags'] )
{
$tpl->create_block('sujet_tags');
}
$c_s_t = count($sujet_tags);
if ( $nb_presents != $c_s_t )
{
for ( $j = 0; $j < $c_s_t; $j++ )
{
if ( !in_array($sujet_tags[$j], $dispos) ) $hidden .= '<input type="hidden" name="tag' . $sujet_tags[$j] . '" value="1" />';
}
}
}
//
// Si on a appuyé sur "Prévisualisation", 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_SUJET_TAGS' => $langue['TAGS_sujet_tags'],
'HIDDEN' => $hidden,
'U_ACTION' => $form_action,
'U_PLUS_SMILEY' => addslashes(ajout_sid('poster.php?mode=smiley')),
'V_MESSAGE_TXT' => $v_message_txt,
'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', 'url', 'mail', 'img', 'quote', 'code', 'list');
$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'),
);
$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="selected"' : '';
$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' || ( $mode == 'reponse' && $membre['membre_id'] == INVITE ) )
{
$tpl->create_block('infos');
}
//
// On génère la pallette de couleur dynamiquement en formant des
// combinaisons de couleurs en héxadécimales.
// - Dark_Genova -
//
$hexa = array('00', '55', 'AA', 'FF');
$compte_hexa = count($hexa);
$compteur = 0;
for ( $i = 0; $i < $compte_hexa; $i++ )
{
for ( $j = 0; $j < $compte_hexa; $j++ )
{
for ( $k = 0; $k < $compte_hexa; $k++ )
{
if ( ! ($compteur %

)
{
$tpl->assign_block_vars('couleur_l', array());
}
$tpl->assign_block_vars('couleur_l.couleur_c', array(
'COULEUR' => '#' . $hexa[$i] . $hexa[$j] . $hexa[$k]
));
$compteur++;
}
}
}
//
// On génère la liste des types de sujets en fonction des autorisations et du tableau $sujet_type
// présent dans includes/variables_generales.php
// -Dark_Genova -
//
if( $mode == 'nouveau_sujet' || ( $mode == 'editer' && $premier_message ) )
{
$v_checked = '';
$aut_sujet_type = array();
$u = 0;
for ( $t = 0; $t < count($sujet_type); $t++ )
{
if ($droits['droit_' . $sujet_type[$t]] || ($mode == 'editer' && $forum_donnees['sujet_type'] == $t))
{
$aut_sujet_type[$u]['sujet_type'] = $sujet_type[$t];
$aut_sujet_type[$u]['num'] = $t;
$u++;
}
}
if ( $compte_aut_type = count($aut_sujet_type) )
{
//$tpl->assign_block_vars('type_sujet', array());
$checked_bolean = FALSE;
for ( $v = 0; $v < $compte_aut_type; $v++ )
{
$v_checked = '';
if ( ( $mode == 'editer' && $aut_sujet_type[$v]['num'] == $forum_donnees['sujet_type'] && ! $preview ) || ( $preview && $type_sujet == $aut_sujet_type[$v]['num'] ) || ( ! $checked_bolean && $v == ( $compte_aut_type - 1 ) ) )
{
$v_checked = 'checked="checked"';
$checked_bolean = TRUE;
}
$tpl->assign_block_vars('type_sujet.type_sujet_s', array(
'L_SUJET_TYPE_NOM' => $langue['type_sujet_' . $aut_sujet_type[$v]['sujet_type']],
'V_SUJET_TYPE' => $aut_sujet_type[$v]['num'],
'V_CHECKED' => $v_checked
));
}
}
}
//
// Revue des 10 messages précédents en cas de réponse.
//
if( $mode == 'reponse' )
{
$sql_mes = 'SELECT * FROM ' . MESSAGES_TABLE . ' WHERE sujet_id = \'' . $sujet_id . '\'
ORDER BY message_temps DESC
LIMIT 0,10';
if ( ! $result_mes = $bdd->requete($sql_mes) )
{
info($langue['er_titre'], sprintf($langue['er_select'], 'messages'), __LINE__, __FILE__, $sql_mes);
}
// On récupère les tags si il y en a
$sujet_tags = '';
if ( $forum_donnees['sujet_tags'] )
{
$forum_donnees['sujet_tags'] = explode(',', $forum_donnees['sujet_tags']);
$compte_s_t = count($forum_donnees['sujet_tags']);
for ( $i = 0; $i < $compte_s_t; $i++ )
{
$sujet_tags .= $tag[$forum_donnees['sujet_tags'][$i]] . ' ';
}
}
$tpl->assign_block_vars('revue_sujet', array(
'L_REVUE_SUJET' => $langue['revue_sujet'],
'TITRE_SUJET' => $sujet_tags . $forum_donnees['sujet_nom'],
'U_SUJET' => ajout_sid($racine . 'sujet-.html' . $sujet_id)
));
while( $revue = $bdd->tableau($result_mes) )
{
$message_revue = $revue['message_texte'];
$message_revue = anti_html($message_revue);
$message_revue = nl2br($message_revue);
$message_revue = fscode_parse($message_revue);
$message_revue = smileys($message_revue, $smiley);
$tpl->assign_block_vars('revue_sujet.message', array(
'MEMBRE_LOGIN' => ( $revue['membre_id'] == INVITE ) ? $revue['pseudo_posteur'] : '<a href="' . ajout_sid($racine . 'membre-.html' . $revue['membre_id']) . '">' . $revue['pseudo_posteur'] . '</a>',
'POSTE_LE' => aff_date($revue['message_temps']),
'MESSAGE' => $message_revue
));
}
}
if ($membre['membre_id'] == INVITE && ($droits['droit_poster'] || $droits['droit_repondre']) && $mode != 'editer')
{
$tpl->create_block('invite');
}
if ( $mode == 'nouveau_sujet' || ( $mode == 'editer' && $premier_message ) )
{
$tpl->create_block('sujet_nom');
}
$tpl->pparse('corps');
// On inclut le bas de la page
include( $racine . 'includes/footer_forum.php');
?>
[/html]