Nouveau sujet Répondre Imprimer Syndication RSS 2.0

(RESOLU) [Mod sondage] Une erreur dans poster.php

Flammeche
Avatar de rickways
  • Age : 30 ans
  • Messages : 76
  • Inscrit : 11 Février 2007
Message édité 1 fois, dernière édition par rickways, 28 Mai 2007, 14:45     Lien vers ce message 27 Mai 2007, 17:27
Lorsque je veux poster un message sur le forum (celui que j'ai installé) je rencontre une erreur depuis l'installation du mod sondage.

L'erreur est la suivante:
Parse error: syntax error, unexpected $end in /home/httpd/vhosts/www.lespoetes.net/web/forum/poster.php on line 868


Voici le code de mon poster.php:


<?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;
$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 )
{
    $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 == '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 . '&amp;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 "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) 
                        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();

                //
                // Ne pas mettre de break; ici [img:alt=http://www.fire-soft-board.com/fsb/images/smileys/tongue.gif]http://www.fire-soft-board.com/fsb/images/smileys/tongue.gif[/img]
                // - 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 [img:alt=http://www.fire-soft-board.com/fsb/images/smileys/happy.gif]http://www.fire-soft-board.com/fsb/images/smileys/happy.gif[/img]
                // - 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.php?forum=' . $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 . '\'' : '';
                    $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 "message_prive":
                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 "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&amp;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&amp;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'] : '[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 )
{
    $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 "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_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', '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 % [img:alt=http://www.fire-soft-board.com/fsb/images/smileys/glasses.gif]http://www.fire-soft-board.com/fsb/images/smileys/glasses.gif[/img] )
            {
                $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);
    }
        
    $tpl->assign_block_vars('revue_sujet', array(
        'L_REVUE_SUJET' =>    $langue['revue_sujet'],

        'TITRE_SUJET' =>        $forum_donnees['sujet_nom'],

        'U_SUJET' =>        ajout_sid($racine . 'sujet.php?sujet=' . $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 . 'profil_public.php?id=' . $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 == 'message_prive' || ( $mode == 'editer' && $premier_message ) )
{
    $tpl->create_block('sujet_nom');
}

if ( $mode == 'message_prive' )
{
    $tpl->create_block('message_prive');
}

$tpl->pparse('corps');

// On inclut le bas de la page
include( $racine . 'includes/footer_forum.php');
?>





JE VOUS REMERCIE POUR VOTRE AIDE
 
Flammeche
Avatar de rickways
  • Age : 30 ans
  • Messages : 76
  • Inscrit : 11 Février 2007
  Lien vers ce message 28 Mai 2007, 14:44
Bon et bien j'ai trouvé en refaisant point par point la manip.
Cette erreur signifiait qu'il manquait une accolade qq part, et j'ai modifié cet oubli .

Merci pour votre aide.

ERIC
 
Répondre


.