Résultats de la recherche (31 résultats)

421
14 Octobre 2006, 14:58
Merci Elise, je crois que je viens de trouver http://www.fire-soft-board.com/fsb/images/smileys/winkle.gif

http://www.fire-soft-board.com...id=60854#p60854

édité
en fait je crois que non, boh, je vais me débrouiller autrement ;)
 
421
14 Octobre 2006, 8:24
Avec l'éditeur de texte...

Je vais regarder "moi même"

edité
C'est la premod Vashi upgradée en 1.0.7.

(J'ai réussi à coller avec ctr+v et non par le clic droit...)

<?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 25 septembre 2005 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
// changement themes par forum
//$membre = recuperer_session();

include( $racine . 'includes/functions/fonctions_message.php' );

// On inclu les données sur les forums/categories
include( $racine . 'cache/fichier_categorie.php' );
$cache->load_table('forum', CACHE_SQL);

// On lance les sessions
$membre = recuperer_session();

//
// 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' )
{
// mods Centralise fscode & smileys :: -----------------------------------------
//-replace
    pop_smileys();
// mods Centralise fscode & 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.description, 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'])  OR $forum_a['type'] == "lien" )
    {
        info($langue['info_titre'], $langue['forum_non_existant']);
    }
    
    $droits = droits($membre, $forum_a, $moderation, $droit_forum);
    
    $min_mess_voir = $membre['membre_aut'] == 0 && $MOD['messages_forum'] ? $forum_a['forum_min_mess_voir'] : 0;
    $min_mess_post = $membre['membre_aut'] == 0 && $MOD['messages_forum'] ? $forum_a['forum_min_mess_post'] : 0;
    $min_mess_rep = $membre['membre_aut'] == 0 && $MOD['messages_forum'] ? $forum_a['forum_min_mess_rep'] : 0;
    $min_mess_edit = $membre['membre_aut'] == 0 && $MOD['messages_forum'] ? $forum_a['forum_min_mess_edit'] : 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'] || $min_mess_voir > $membre['membre_nb_message'])
    {
        info($langue['info_titre'], $langue['interdit_droit_voir']);
    }
    else if ( ! $droits['droit_poster'] || $min_mess_post > $membre['membre_nb_message'] && $mode == 'nouveau_sujet' )
    {
        info($langue['info_titre'], $langue['interdit_droit_poster']);
    }
    else if (!$droits['droit_repondre'] || $min_mess_rep > $membre['membre_nb_message'] && $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'] ) || $min_mess_edit > $membre['membre_nb_message']) )
    {
        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']));
    $sujet_description =         htmlSpecialChars(trim($HTTP_POST_VARS['description']));
    $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);
    }

    if ($MOD['No_flood_limit_for_admin'])
    {
        // Si l'utilisateur n'est pas admin, on vérifie la limite de flood
        if($membre['membre_aut'] != ADMIN)
        {
            // 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 />';
            }
        }
    }
    else
    {
        // 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, description) 
                        VALUES(\'' . $forum_id . '\', \'' . $membre['membre_id'] . '\', \'' . $sujet_nom . '\', \'0\', \'0\',\'' . $type_sujet . '\', \'' . $v_sondage_acces . '\' , \'' . $sujet_description . '\')';
                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=,title=]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=,title=]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 . '\', s.description = \'' . $sujet_description . '\'' : '';
                    $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 . '\' , description = \'' . $sujet_description . '\'
                                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, $sujet_description);
                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'] : '';
    $v_description_sujet = ( $mode == 'editer' ) ? $forum_donnees['description'] : '';
    $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;
    }

    if ($mode == 'editer')
    {
        if ( preg_match_all('`\[droit=([[:alpha:]]*)\](.*?)\[/droit\]`si', $v_message_txt, $trouver, PREG_SET_ORDER) ) 
        {
            foreach($trouver as $match)
            {
                $no_edit_fscode_droit = false;
                switch ($match['1'])
                {
                    case 'admin':
                            if ( !($membre['membre_aut'] >= ADMIN) )
                                $no_edit_fscode_droit = true;
                            break;
                    case 'modoglobal':
                            if ( !($membre['membre_aut'] >= MODOSUP) )
                                $no_edit_fscode_droit = true;
                            break;
                    case 'modoforum':
                            if ( !($droits['est_modo']) )
                                $no_edit_fscode_droit = true;
                            break;
                    case 'modo':
                            if ( !($membre['membre_aut'] >= MODO) )
                                $no_edit_fscode_droit = true;
                            break;
                    case 'membre':
                            if ( !($membre['membre_aut'] >= MEMBRE) )
                                $no_edit_fscode_droit = true;
                            break;
                    case 'invite':
                            if ( !($membre['membre_aut'] >= FSCODE_DROIT || $membre['membre_id'] == 0) )
                                $no_edit_fscode_droit = true;
                            break;
                    default:
                            $no_edit_fscode_droit = true;
                }
                if($no_edit_fscode_droit)
                {
                    info($langue['info_titre'], $langue['interdit_droit_editer']);
                    exit;
                }
            }
        }
    }
}
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'];
    $v_description_sujet = $t['description'];
}
else if ( ! empty($erreur) || $preview )
{
    $v_message_txt = stripslashes($message_txt);
    $v_titre_sujet = stripslashes($sujet_nom);
    $v_description_sujet = stripslashes($sujet_description);
    $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_DESCRIPTION_SUJET' => $langue['description_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_DESCRIPTION_SUJET' => $v_description_sujet,
    '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 -
//
// mods Centralise fscode & smileys :: -----------------------------------------
//-replace
get_base_fscode();
// mods Centralise fscode & smileys :: -----------------------------------------

//
// On fait de même que pour afficher les FScodes sauf que cette fois on gère les listes
// -Dark_Genova -
//
// mods Centralise fscode & smileys :: -----------------------------------------
//-replace
get_liste_fscode();
// mods Centralise fscode & smileys :: -----------------------------------------

//
// On affiche les smileys, la variable $smiley_lignes vient du fichier
// includes/variables_generales.php
// -Dark_Genova -
//
// mods Centralise fscode & smileys :: -----------------------------------------
//-replace
get_smileys();
// mods Centralise fscode & smileys :: -----------------------------------------

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 -
//
// mods Centralise fscode & smileys :: -----------------------------------------
//-replace
get_fscode_couleur();
// mods Centralise fscode & smileys :: -----------------------------------------

//
// 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);
        $class_aut = class_aut($revue['membre_id']);
                
        $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']) . '" ' . $class_aut . '>' . $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');

function f_sondage_afficher($oui, $v_sondage_acces, $v_sondage_nbre_reponse, $v_sondage_delai, $v_sondage_reponses, $on_accede_sujet_v)
{
  // $oui = 1 on affiche la zone saisie sondage, =0 dans le cas contraire
  global $tpl, $langue, $droits, $mode, $mode_sondage_editer;
  if (!$droits['droit_sondage_poster'])
  {
    $oui = 0;
  }
  if ($oui)
  {
    $z_sondage_afficher="block";
    $l_titre_sujet = $langue['titre_sondage'];
    $v_sondage_checked="checked";
  }
  else
  {
    $z_sondage_afficher="none";
    $l_titre_sujet = $langue['titre_sujet'];
    $v_sondage_checked="";
  }
  $v_sondage_acces_liste='<option value="1" '.( $v_sondage_acces == 1 ? "selected" : "").'>'.$langue['sondage_access_choix1'].'</option>';
  $v_sondage_acces_liste.='<option value="2" '.( $v_sondage_acces == 2 ? "selected" : "").'>'.$langue['sondage_access_choix2'].'</option>';
  $v_sondage_acces_liste.='<option value="3" '.( $v_sondage_acces == 3 ? "selected" : "").'>'.$langue['sondage_access_choix3'].'</option>';
  
  $v_sondage_reponse_liste="";
  for ($i=1; $i<9;$i++)
  {
    if ($i==$v_sondage_nbre_reponse) {$v="selected";} else {$v="";}
    $v_sondage_reponse_liste.='<option value="'.$i.'" '.$v.'>'.$i.'</option>';
  }

    $tpl->assign_vars( array(
      'Z_SONDAGE_AFFICHER' =>    $z_sondage_afficher,
      'L_SONDAGE' =>    $langue['sondage_entete'],
      'L_SONDAGE_ACCES' =>    $langue['sondage_access'],
      'L_SONDAGE_NBRE_REPONSE' =>    $langue['sondage_nbre_reponse'],
    'L_SONDAGE_NBRE_REPONSE_AI' =>  $langue['sondage_nbre_reponse_aide'],
    'L_SONDAGE_REPONSES' =>  $langue['sondage_reponses'],
      'L_SONDAGE_DELAI' =>    $langue['sondage_delai'],
    'L_SONDAGE_DELAI_AI' =>  $langue['sondage_delai_aide'],
      'V_SONDAGE_ACCES' =>    $v_sondage_acces_liste,
      'V_SONDAGE_NBRE_REPONSE' =>    $v_sondage_reponse_liste,
      'V_SONDAGE_DELAI' =>    intval($v_sondage_delai),
      'V_SONDAGE_REPONSES_TXT' =>    $v_sondage_reponses,

    ));

  $tpl->assign_vars( array(
      'L_TITRE_SUJET' =>     $l_titre_sujet,
    ));

  if ($mode <> 'reponse')
  {
      $tpl->assign_block_vars('type_sujet', array());
  }
  if ($mode == 'editer' && $mode_sondage_editer)
  {
      $tpl->create_block('type_sujet_vi');
    }

    if ($droits['droit_sondage_poster'] && $on_accede_sujet_v)
    {
      $tpl->assign_block_vars('type_sujet.type_sujet_v', array(
          'L_TITRE_SONDAGE' =>    $langue['titre_sondage'],
          'L_TITRE_SUJETS' =>    $langue['titre_sujet'],
          'L_SUJET_TYPE_SONDAGE' =>    $langue['sondage'],
          'V_CHECKED_SONDAGE' =>    $v_sondage_checked,
      ));
    }
}

function f_sondage_mise_en_forme_reponses()
{
  global $langue, $v_sondage_nbre_reponse, $v_sondage_reponses, $v_sondage_tab_reponses,$v_sondage_reponses_prev;
  $sondage_tab_reponses=array();
  $v_sondage_reponses=stripslashes($v_sondage_reponses);
    $tmp = anti_html($v_sondage_reponses);
    $tmp = nl2br($tmp);
  $tmp=explode("<br />",$tmp);
  $tmpc=1+count($tmp);
  $v_sondage_reponses_prev="<u>".$langue['sondage_reponse_prev1']."</u><br /><br />";
  $nbre_reponses_reelle=0;
  $v_sondage_reponses="";
    for ($i=1;$i<$tmpc;$i++)
    {
       $sondage_tab_reponses[$i]=trim($tmp[$i-1]);
     if (strlen($sondage_tab_reponses[$i])>70) {$sondage_tab_reponses[$i]=substr($sondage_tab_reponses,0,70);}
     if ($sondage_tab_reponses[$i]<>"")
     {
       // mise en forme pour preview
       $v_sondage_reponses_prev.=$langue['sondage_reponse_prev3']." ".$i." : ".$sondage_tab_reponses[$i]."<br />";
       // mise en forme pour enregistrement
       $v_sondage_tab_reponses[$i]=simpleslashes($sondage_tab_reponses[$i]);
       $v_sondage_reponses .= "\r\n".$v_sondage_tab_reponses[$i];
       $nbre_reponses_reelle ++;
     }
    }
  $v_sondage_reponses_prev.="<br /><u>".$langue['sondage_reponse_prev2']."</u><br /><br />";
  

  if ($nbre_reponses_reelle<2)
  { // si qu'une réponse saisie
     return false;
  }
  else
  { // on limite le choix à n-1
    if ($v_sondage_nbre_reponse>=$nbre_reponses_reelle)
    {
      $v_sondage_nbre_reponse=$nbre_reponses_reelle-1;
    }
  }
  return true;
}

function f_sondage_enregistrer($sujet_id,$v_sondage_delai,$v_sondage_nbre_reponse,$v_sondage_tab_reponses)
{
  global $langue,$sql,$bdd;

  $date_debut=time();
  $date_fin=$v_sondage_delai;
  if ($v_sondage_delai<>0)
  {
      $date_fin=$date_debut+$v_sondage_delai*86400;
  }
  // On crée le sondage
    $sql = 'INSERT INTO ' . SONDAGE . '
            (sujet_id, sondage_nbre_reponse, sondage_date_ouverture, sondage_date_cloture, sondage_nombre_vote)
            VALUES(\'' . $sujet_id . '\', \'' . $v_sondage_nbre_reponse . '\', \'' . $date_debut . '\', \'' . $date_fin . '\', \'0\' )';
    if( ! $bdd->requete($sql) )
    {
        info($langue['er_titre'], sprintf($langue['er_insert'], 'sondage'), __LINE__, __FILE__, $sql, TRUE);
    }
    $i=0;
  $sql="";
    foreach  ($v_sondage_tab_reponses as $q )
    {
     $i++;
     if ($i==1)
     {
       $sql =' (\'' . ($i) . '\', \'' . $sujet_id . '\', \'' . $q . '\', \'0\' ) ';
     }
     else
     {
       $sql.=', (\'' . ($i) . '\', \'' . $sujet_id . '\', \'' . $q . '\', \'0\' ) ';
     }

    }

    $sql = 'INSERT INTO ' . SONDAGE_VOTE . '
            (sondage_reponse_num, sujet_id,  sondage_reponse, sondage_votes)
             VALUES ' . $sql ;

    if( ! $bdd->requete($sql) )
    {
        info($langue['er_titre'], sprintf($langue['er_insert'], 'sondage_votes'), __LINE__, __FILE__, $sql, TRUE);
    }
}

function f_pas_de_vote($sujet_id)
{
  global $langue,$sql,$bdd;
  // on regarde si il y a eu un vote
    $sql = 'SELECT sondage_nombre_vote   FROM ' . SONDAGE . '
            WHERE sujet_id = \'' . $sujet_id . '\'';
    if ( ! $result = $bdd->requete($sql) )
    {
        info($langue['er_titre'], sprintf($langue['er_select'], 'sondage'), __LINE__, __FILE__, $sql);
    }
    $temp = $bdd->tableau($result);
    return  ( ( $temp['sondage_nombre_vote']>0 ) ? 0 : 1 );
}

function f_lire_sondage($sujet_id)
{
  global $langue, $bdd, $v_sondage_reponses, $v_sondage_nbre_reponse, $v_sondage_delai;
  $sql = 'SELECT *  FROM ' . SONDAGE_VOTE . ' sv
            LEFT JOIN ' . SONDAGE . ' s
            ON s.sujet_id = sv.sujet_id
      WHERE sv.sujet_id = ' . $sujet_id . '
      ORDER BY sv.sondage_reponse_num ASC';
    if ( ! $result = $bdd->requete($sql) )
    {
        info($langue['er_titre'], sprintf($langue['er_select'], 'sondage & sondage_vote'), __LINE__, __FILE__, $sql);
    }
    //
    // faire ici si on trouve pas de sondage bien que le sujet soit dit avec sondage message d'erreur?
  //
  $sondage_table = $bdd->tableau($result);
  if ($sondage_table['sondage_nombre_vote']==0)  // pas de vote
  {
    $v_sondage_reponses = $sondage_table['sondage_reponse'];
    $v_sondage_nbre_reponse = $sondage_table['sondage_nbre_reponse'];
    $v_sondage_delai = ($sondage_table['sondage_date_cloture'] - $sondage_table['sondage_date_ouverture'] ) / 86400;
    if ($v_sondage_delai<0)
    {
      $v_sondage_delai = 0;     
    }
    while($temp = $bdd->tableau($result))
    {
      if (trim($temp['sondage_reponse'])<>"")
      {
        $v_sondage_reponses .= "\r\n".$temp['sondage_reponse'];
      }
    }
  }
}

function f_sondage_editer($sujet_id,$v_sondage_delai,$v_sondage_nbre_reponse,$v_sondage_tab_reponses)
{
  global $langue,$sql,$bdd;

  $date_debut=time();
  $date_fin=$v_sondage_delai;
  if ($v_sondage_delai<>0)
  {
      $date_fin=$date_debut+$v_sondage_delai*86400;
  }
    $sql = 'UPDATE ' . SONDAGE . '
        SET sondage_nbre_reponse = \'' . $v_sondage_nbre_reponse . '\', sondage_date_ouverture = \'' . $date_debut . '\', sondage_date_cloture = \'' . $date_fin . '\', sondage_nombre_vote = \'' . 0 . '\'
        WHERE sujet_id = \'' . $sujet_id . '\' ';

    if( ! $bdd->requete($sql) )
    {
        info($langue['er_titre'], sprintf($langue['er_insert'], 'update_sondage'), __LINE__, __FILE__, $sql, TRUE);
    }
    $i=0;
  $sql="";

    foreach  ($v_sondage_tab_reponses as $q )
    {
    $i++;
    $sql = 'UPDATE ' . SONDAGE_VOTE . '
      SET sondage_reponse_num = \'' . ($i) . '\',
      sondage_reponse = \'' . $q . '\',
      sondage_votes = \'0\'
      WHERE sujet_id = \'' . $sujet_id . '\'
      AND sondage_reponse_num = \'' . ($i) . '\'
       ';
      if( ! $bdd->requete($sql) )
      {
          info($langue['er_titre'], sprintf($langue['er_insert'], 'update_sondage_votes'), __LINE__, __FILE__, $sql, TRUE);
      }
  }

}

?>
 
421
13 Octobre 2006, 20:38
C'est selon, dès fois je n arrives pas à faire des copier/coller ici, j'utilises firefox, mais c'est autre chose...

c'est dans poster.php

$fscode_buttons = array('b', 'i', 'u''
 
421
13 Octobre 2006, 17:19
Bonjour http://www.fire-soft-board.com/fsb/images/smileys/happy.gif

Je viens d'essayer d'installer le mod swf disponible pour la version 1.0.4 du forum sur la 1.0.7 et dès la première modification, celle du fichier poster.php, où il faut chercher la suite "$fscode buton ...", et bien la recherche n'aboutie pas, cette ligne n'existant tout simplement pas dans cette version.

J'ai lu le topic concernant ce mod dans "développement", mais cela ne m'aide pas plus.

Donc, puis je installer ce mod sur la version 1.0.7 d'une autre manière, sinon il y a t il un moyen (code ou autre) pour insérer un fichier flash dans un topic ?
 
421
03 Octobre 2006, 17:28
Oui, la censure, c'est exactement cela.

Sur le forum que je mets en place, je m'attends à ce que des "noms d'oiseaux" fusent au moindre dérapage, donc j'aimerai que des astérisques, par exemple, les masques.

Ceci, aussi contradictoire que cela puisse paraitre, dans un but de laisser leur liberté d'expression aux membres : quand il s'agit de politique, les mots "à chaud" sont souvent vite lachés, et là astérisques et c'est bon, ca passe, sinon intervention du modo et risque d'escalade...

Je crois que je viens de trouver, je vais pousser voir si il marche, merci pour le mot clé ! http://www.fire-soft-board.com/fsb/images/smileys/winkle.gif

http://www.fire-soft-board.com/fsb/sujet-3354-2.html
 
421
03 Octobre 2006, 14:25
Salut

Je cherche un mod capable de faire cela, notamment pour d'éventuelles insultes.

Il me semble que je l'ai vu quelques part sur le forum mais je n'arrive plus à y mettre la main dessus.

Quelqu'un peut il me renseigner ?

FSB 1.0.5 premods Vaschi, upgradé a 1.0.6a.

Lol, et sans vouloir abuser, si quelqu'un avait une liste d'insultes pré enregistrée ce searit pas mal, ca m'éviterai de faire des recherches pas trop interessantes ! ^^
 
421
01 Octobre 2006, 18:04
[size=12]Voila, je ne l avais pas encore fait donc j adresse à toute l équipe mes remerciements, d abord de fournir le script du forum gratuitement, puis d apporter son soutien aux utilisateurs.

si vous voulez voir le résultat, c'est par ici
[/size]
 
421
01 Octobre 2006, 10:37
Salut,

Bon, c'est pas encore ça en fait ...http://www.fire-soft-board.com/fsb/images/smileys/fsb2_ouais.gif

Je pensais avoir réglé le problême mais cela m'avait enlevé l'upload des avatars ...

Donc voici le fichier profil_corps.tpl de mon thème:

"impossible de coller dans le cadre"

Je repasserai plus tard, ca ne presse pas ... ;)
 
421
30 Septembre 2006, 17:56
Merci à vous deux.

Génova, c'est bon, j'ai modifié le fichier profil_corps.tpl et pris le fichier sujet_corps.tpl d4IceCold que j'ai transféré vers Eversky (j'ai dû m'embrouiller quelques part parce que j'étais persuadé de l'avoir fait).

Shekral, j'avais vu effectivement cela mais j'ai dû zapper cette opération importante.
Je fais une sauvegarde maintenant qu'il me semble que tout est ok puis je transfère ces fichiers.

Encore quelques tests et ca sera bonhttp://www.fire-soft-board.com/fsb/images/smileys/fsb2_oui.gif

Je passerai vous dire quelque chose de toute façon ! Clin d'oeil
 
421
30 Septembre 2006, 16:12
Bonjour,


Actuellement, je peaufines le forum que je vais ouvrir, et je me "casse les dents" sur quelques petits soucis, qui ne gêne en rien l'ouverture du forum mais que j'aimerai quand même réglés.

Je sais que cela ne se fait pas d'ouvrir un topic pour plusieurs problêmes, mais je pense qu'une majorité sont propres au forum que j'installes et ne serviront dons pas à grand monde.

Si je me trompe, dites moi le ou supprimez le post.


Forum v1.0.5, premod Vaschi, updaté >1.0.6 puis >1.0.6a.

Thème : EverSky
d'origine : IceCold



Problêmes rencontrés:


-La case "Soumettre" sur la page d'inscription d'un nouveau membre(celle où il y a le règlement) apparait deux fois sous le thème EverSky (1 seule fois avec IceCold)

Vu le nombre de modifications que j'ai dû faire pour adapter le thème, j'ai dû mettre quelques choses en trop quelques part, mais je ne trouve plus où.



-L'âge et le genre n'apparaissent pas sous le nom du membre sous Eversky, apparait sous IceCold

Je précise que j'ai transférer les templates permettant de modifier son genre dans son profil et que j'ai déposé les gifs masc et fem dans le dossier img d'Eversky.
J'ai également ouvert l'intégralité des fichiers contenus dans le dossiers IceCold afin de rechercher un lien vers le fichier masc.gif, sans succès.



-La balise swf ne fonctionne pas (pourtant apparemment d'origine dans la prémod), sous aucuns des thèmes.
Entre crochets : swf=300x300 nomduswf.swf /swf



-Apparemment je ne suis pas le seul, j'ai lu des choses mais pas trouvé de solutions, et puis j'en ai marre d'ouvrir des comptes email de partout (gmail, hotmail, ifrance, la poste, rien ne marche), et cela pour envoyer les demandes d'activation.

Pouvez vous me conseiller une adresse qui fonctionne, le cas échéant j'enleverai cette option (qui peut pourtant s'avérer utile en cas de problêmes, et je me refuse de mettre une activation manuelle)




http://www.fire-soft-board.com/fsb/images/smileys/cupsmilies.gifEt sinon ca marche trop bien ! http://www.fire-soft-board.com/fsb/images/smileys/cupsmilies.gif
 
421
30 Septembre 2006, 12:38
J ai copié le fichier template contenu dans IceCold admin, admin configuration.tpl est le tour est joué ! (pour beaucoup pareil) ;)
 
421
30 Septembre 2006, 10:42
Pour l instant, ca à l air de bien fonctionner ! :wink:

On va pouvoir se boire une bière pour fêter ça ! ^^ :fsb2_drink:
 
421
29 Septembre 2006, 19:50
Bon, je vais essayer alors, merci :wink:
 
421
29 Septembre 2006, 19:31
Concrètement, le forum va buggué ou les mods seront simplement indisponibles ?
 
421
29 Septembre 2006, 19:00
Alors,

Déjà merci pour le fichier de migration Génova.

Ensuite, si mes souvenirs sont bons, le nombre de mods disponibles pour la version 1.0.6 est, comme le dis plus haut Faer Onaur, assez réduits pour l'instant.


Quel va être l'impact d'une telle migration sur l'ensemble du forum, si l'update des mods n'est pas possible ?


Parce qu'apparement, mis à part une chose que je n'ai pas eu le temps de voir, il fonctionne bien je pense (pas testé encore à fond mais bon ...)

Ceci dit, si je dois me donner une semaine de plus avant d'ouvrir, je la prendrai.

Je n'ai pas envie de perdre les posts des membres.
 


.