FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.13 : [.tar.gz][.zip] (maj 20/10/2014)
Pack langue française pour 1.4.x : [.zip] (maj 06/01/2012)

Branche 1.5.x : fluxbb.org
Pack langue française pour 1.5.x : [.zip] (maj 14/01/2016)

Ancienne Version 1.2.24 fr : [.zip] (maj 26/08/2011)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#1 27-09-2010 16:04:02

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Mettre un bouton "Déplacer à la corbeille"

Bonjour à tous.

Après avoir cherché durant des heures, j'ai réussi à établir un bouton qui serait mis en place sur tous les premiers posts de chaque topics qui permettrait de déplacer un topic dans un forum nommé corbeille (comme on le voit souvent sur divers board).
Seule les admin et modérateur verront le bouton et pourront mettre le topic à la corbeille.
L'id du forum "Corbeille" devra être défini dans le fichier corbeille.php.

Voici un screen pour voir ou serait le bouton :

boutond.png

Il faudra modifier :

- viewtopic.php
- corbeille.php (à créer)
- french/misc.php
- french/common.php


Dans le viewtopic.php

1) Trouver (ligne 327 environ):

    <h3><?php if (($post_count + $start_from) > 1) echo ' Re: '; ?><?php echo pun_htmlspecialchars($cur_topic['subject']) ?></h3>
                <div class="postmsg">
                    <?php echo $cur_post['message']."\n" ?>
<?php if ($cur_post['edited'] != '') echo "\t\t\t\t\t".'<p class="postedit"><em>'.$lang_topic['Last edit'].' '.pun_htmlspecialchars($cur_post['edited_by']).' ('.format_time($cur_post['edited']).')</em></p>'."\n"; ?>
                </div>
<?php if ($signature != '') echo "\t\t\t\t".'<div class="postsignature"><hr />'.$signature.'</div>'."\n"; ?>
            </div>
            <div class="clearer"></div>
            <div class="postfootleft"><?php if ($cur_post['poster_id'] > 1) echo '<p>'.$is_online.'</p>'; ?></div>

Ajouter ensuite :

<?php     

if ($post_count==1)/* Mettre le bouton que sur le premier post du topic */
    {
                             
        if ($is_admmod) /* Si le membre est un modérateur ou un admin */
        
             { 
            echo "<form action='corbeille.php' method='post'>
<p align='right'><input type='submit' name='corbeille' value='".$lang_common['Corbeille']."' />
<input type='hidden' name='t_id' value='".$id."' />
</p></form>"; /* On affiche le bouton "Mettre à la corbeille" */
             };        
        
    };
        
        ?>     

Dans le fichier corbeille.php (à créer) :

2) Ajouter ceci :

<?php 
    define('PUN_ROOT', './');
    require PUN_ROOT.'include/common.php';
    
    define('ID_CORBEILLE', 9); /* Mettre l'id du forum "corbeille" */
    
    $arr_lang = array();
    $arr_lang['msg1'] = 'Impossible de recenser les modérateurs';
    $arr_lang['msg2'] = 'On ne peut deplacer le topic !';
    $arr_lang['msg3'] = $lang_misc['Move topic redirect'];
    $arr_lang['msg4'] = $lang_misc['Pas_droit'];
    
    $corbeille_id = ID_CORBEILLE;
    
    if (isset($_POST['corbeille']))    /* Si on a cliqué sur le bouton */
    {
        $efface_id = (isset($_POST['t_id'])? intval($_POST['t_id']) : 0); /* On définit la variable $efface_id */
        
        if($efface_id > 0)
        {
            $result = $db->query('SELECT f.moderators, f.id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.id='.$efface_id) or error($arr_lang['msg1'], __FILE__, __LINE__, $db->error());
            if($db->num_rows($result))
            {
                $corbeille_requete = $db->fetch_assoc($result);
                $forum_id = $corbeille_requete['id'];
                $mods_array = ($corbeille_requete['moderators'] != '') ? unserialize($corbeille_requete['moderators']) : array();
                $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;
                if ($is_admmod)
                {
                    // Mettre à la corbeille
                    $db->query('UPDATE '.$db->prefix.'topics SET forum_id='.$corbeille_id.' WHERE id = '.$efface_id) or error($arr_lang['msg2'], __FILE__, __LINE__, $db->error());
                    update_forum($forum_id);
                    update_forum($corbeille_id);
                
                    redirect('viewforum.php?id='.$corbeille_id, $arr_lang['msg3']);  /*On redirige vers la corbeille */
                }
            }
        }
    }
    /* si on n'est pas passé par le précédent redirect, on est redirigé vers l'index */
    redirect('index.php', $arr_lang['msg4']);
?>


Dans le fichier french/misc.php

3) Chercher (ligne 58 59 environ) :

'Stick topic redirect'        =>    'Discussion épinglée. Redirection ...',
'Unstick topic redirect'    =>    'Discussion détachée. Redirection ...',

Ajouter ensuite :

'Pas_droit'                 =>  'Vous n\'avez pas le droit d\'être là, vous allez être redirigé',


Dans le fichier french/common.php

4) Chercher (ligne 131 environ) :


// Stuff for the page footer

Ajouter ensuite :

'Corbeille'             =>  'Mettre à la corbeille',


Et vouala c'est fini smile
J'espère qu'elle vous sera utile wink


Cordialement, WinuX


PS : Pensez à changer l'id du forum corbeille dans le fichier corbeille par l'id de votre forum corbeille à vous wink

Dernière modification par WinuX (03-10-2010 12:44:02)

Hors ligne

#2 27-09-2010 21:12:42

#KiRà
Membre
Lieu : Spain
Inscription : 27-09-2010
Messages : 23

Re : Mettre un bouton "Déplacer à la corbeille"

Très bonne astuce ! smile

Hors ligne

#3 28-09-2010 07:48:58

Mpok
Néo Admin
Inscription : 10-08-2006
Messages : 2 928
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

Et pourquoi ne pas en faire une mod officielle ?


Life is a struggle, programming is a suffer.

Hors ligne

#4 28-09-2010 10:34:54

PascL
Habitué très actif
Inscription : 06-09-2007
Messages : 554
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

Euh il manque pas une requête pour définir la variable $mods_array ? Je suis pas sûr que ce soit défini partout.
Et pour définir le $mods_array, tu dois d'abord avoir l'id du topic à effacer (le $efface_id) donc ya probablement les if à changer d'ordre.
(et faut mettre $efface_id dans la requête, pas $_POST['t_id'])

En l'état, ça ne doit marcher que pour un admin (à moins que je me trompe et que la variable soit définie partout, mais je crois que c'est dépendant du forum où l'on est)

Hors ligne

#5 28-09-2010 11:11:44

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : Mettre un bouton "Déplacer à la corbeille"

PascL a écrit :

Euh il manque pas une requête pour définir la variable $mods_array ? Je suis pas sûr que ce soit défini partout.
Et pour définir le $mods_array, tu dois d'abord avoir l'id du topic à effacer (le $efface_id) donc ya probablement les if à changer d'ordre.
(et faut mettre $efface_id dans la requête, pas $_POST['t_id'])

En l'état, ça ne doit marcher que pour un admin (à moins que je me trompe et que la variable soit définie partout, mais je crois que c'est dépendant du forum où l'on est)

Tu as raison, je corrige ça, merci de la remarque wink
En plus yavait une erreur dans l'url d'une redirection xD j'avais écrit "index?php", fin bref :m:

Mpok a écrit :

Et pourquoi ne pas en faire une mod officielle ?

Pourquoi pas wink
Je corrige d'abord ça, après je vois pour la traduction en anglais.

EDIT : Fichier corbeille.php corrigé et testé avec un compte modo wink

EDIT 2 : J'ai oublié de prendre en compte le dernier post qui n'est pas mis à jour, je m'en charge wink

Dites, pour la mis à jour du dernier posteur, il faut updater la table forum en retirant le nombre de post du topic déplacer, et enlever 1 au nombre de topic. Cependant je suis pas sur que ca soit tout, et j'ai tenter une requete en joignant la table post à la table forum avec une condition qui est que l'id du topic du post doit être l'id du topic à envoyer à la corbeille. Cependant je patauge.
La redirection fonctionne, et le déplacement de forums aussi, le seul problème, c'est juste qu'il est afficher le dernier posteur au mauvais endroit. Une piste?

Dernière modification par WinuX (28-09-2010 15:42:07)

Hors ligne

#6 29-09-2010 14:48:32

leecoktai
Nouveau Membre
Inscription : 29-09-2010
Messages : 4

Re : Mettre un bouton "Déplacer à la corbeille"

Merci....:D

Hors ligne

#7 29-09-2010 15:33:40

PascL
Habitué très actif
Inscription : 06-09-2007
Messages : 554
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

WinuX a écrit :

Dites, pour la mis à jour du dernier posteur, il faut updater la table forum en retirant le nombre de post du topic déplacer, et enlever 1 au nombre de topic. Cependant je suis pas sur que ca soit tout, et j'ai tenter une requete en joignant la table post à la table forum avec une condition qui est que l'id du topic du post doit être l'id du topic à envoyer à la corbeille. Cependant je patauge.
La redirection fonctionne, et le déplacement de forums aussi, le seul problème, c'est juste qu'il est afficher le dernier posteur au mauvais endroit. Une piste?

Pour la mise à jour de la date, du dernier posteur, etc d'un forum, fluxbb utilise la fonction update_forum().


Pour connaitre l'id du forum précédent, remplace ta première requête dans corbeille.php par :

'SELECT f.moderators, f.id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.id='.$efface_id

L'id de l'ancien forum sera $corbeille_requete['id]

Hors ligne

#8 30-09-2010 09:04:33

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : Mettre un bouton "Déplacer à la corbeille"

Ta requête est incomplète non?
Fin j'ai rajouter des truc de toute facon happy (ptete inutile mais bon)

Voici le nouveau code de corbeille.php

<?php 
    define('PUN_ROOT', './');
    require PUN_ROOT.'include/common.php'; /* On inclu le common.php contenant les infos necessaires sur le membre */
    
    $efface_id = (isset($_POST['t_id'])? intval($_POST['t_id']) : 0); /* On défini la variable $efface_id */

                                     
    $result = $db->query('SELECT t.forum_id, t.id, f.moderators, f.id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.id="'.$efface_id.'"') or error('Impossible de rescencer les modérateurs', __FILE__, __LINE__, $db->error());
    $corbeille_requete = $db->fetch_assoc($result);
    $forum_id = $corbeille_requete['forum_id'];

    
    $mods_array = ($corbeille_requete['moderators'] != '') ? unserialize($corbeille_requete['moderators']) : array(); /*On défini la variable $mods-array */
    $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false; /* On defini la variable $is_admod */
    
    $corbeille_id = '1'; /* Mettre l'id du forum "corbeille" */
        
    if ($is_admmod) { /* si le membre est un admin ou un modérateur */
    
                if (isset($_POST['corbeille']))    /* Si on a cliqué sur le bouton */ 
            {
          
          if($efface_id > 0){

         update_forum($forum_id) ;
         
        // Mettre à la corbeille
      $db->query('UPDATE '.$db->prefix.'topics SET forum_id= "'.$corbeille_id.'" WHERE id = "'.$efface_id.'"') or error('On ne peut deplacer le topic !', __FILE__, __LINE__, $db->error());
      
                
        redirect('viewforum.php?id='.$corbeille_id, $lang_misc['Move topic redirect']);  /*On redirige vers la corbeille */
                           }

           }
                     }
        else { redirect('index?php', $lang_misc['Pas_droit']);}; /* Si on est un membre hors staff, on est redirigé vers l'index */
        
       
        
    ?>

Je dois me tromper quelques part, mais ça ne met rien à jour ..

PS : l'id de l'ancien forum c'est $corbeille_requete['forum_id'] et non $corbeille_requete['id']
car la requête récupère 2 id, celle du topic et celle du forum, fin c'est juste pour te préciser wink

Hors ligne

#9 30-09-2010 09:52:06

PascL
Habitué très actif
Inscription : 06-09-2007
Messages : 554
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

Ma requête suffisait.
* t.id est déjà connu, c'est la variable $efface_id
* t.forum_id et f.id sont identiques
Truc en double = truc inutile wink

Pour la mise à jour, insère la fonction update_forum après la requête qui fait l'update, ça devrait aller mieux smile
Et oublie pas d'updater l'ancien forum et le forum corbeille.

Dernière modification par PascL (30-09-2010 09:52:21)

Hors ligne

#10 30-09-2010 09:58:19

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : Mettre un bouton "Déplacer à la corbeille"

Oki, merci beaucoup smile
Je vais faire ça smile

Et t'as raison, "Truc en double = truc inutile" happy

Si j'en fais une mod officiel, ca te dérangera pas si je mets ton nom dans les auteurs vu que tu m'as très bien aidé smile ?

Hors ligne

#11 30-09-2010 11:16:41

PascL
Habitué très actif
Inscription : 06-09-2007
Messages : 554
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

WinuX a écrit :

Si j'en fais une mod officiel, ca te dérangera pas si je mets ton nom dans les auteurs vu que tu m'as très bien aidé smile ?

Avoir mon nom dans les auteurs ne me dérange pas, ne pas l'avoir ne me dérange pas non plus. A toi de voir tongue

Hors ligne

#12 03-10-2010 10:37:29

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : Mettre un bouton "Déplacer à la corbeille"

Oki bah il le sera tongue
Fin faut encore que j'arrive a faire cette update happy

J'ai suivi ton conseil, après avoir plus ou moins galéré avec des erreurs de syntaxe de merde -__-", j'ai réussi à entrer les requettes de maj pour le forum et pour la corbeille.
Problème c'est qu'encore une fois, ca ne fait rien =\

Voici le code (qui commence à prendre de l'ampleur happy).
Comme d'hab' le déplacement fonctionne, mais en index j'ai toujours les anciennes stats =\


<?php 
    define('PUN_ROOT', './');
    require PUN_ROOT.'include/common.php'; /* On inclu le common.php contenant les infos necessaires sur le membre */
    
    $efface_id = (isset($_POST['t_id'])? intval($_POST['t_id']) : 0); /* On défini la variable $efface_id */

                                     
    $result = $db->query('SELECT f.moderators, f.id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.id="'.$efface_id.'"') or error('Impossible de rescencer les modérateurs', __FILE__, __LINE__, $db->error());
    $corbeille_requete = $db->fetch_assoc($result);
    $forum_id = $corbeille_requete['forum_id'];

    
    $mods_array = ($corbeille_requete['moderators'] != '') ? unserialize($corbeille_requete['moderators']) : array(); /*On défini la variable $mods-array */
    $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false; /* On defini la variable $is_admod */
    
    $corbeille_id = '9'; /* Mettre l'id du forum "corbeille" */
        
    if ($is_admmod) { /* si le membre est un admin ou un modérateur */
    
                if (isset($_POST['corbeille']))    /* Si on a cliqué sur le bouton */ 
            {
          
          if($efface_id > 0)
                
         
         
         //Fonction update forum
    $result = $db->query('SELECT COUNT(id), SUM(num_replies) FROM '.$db->prefix.'topics WHERE forum_id="'.$forum_id.'"') or error('Impossible de recuperer les stats des topics', __FILE__, __LINE__, $db->error());
    list($num_topics, $num_posts) = $db->fetch_row($result);

    $num_posts = $num_posts + $num_topics;        // $num_posts is only the sum of all replies (we have to add the topic posts)

    $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id="'.$forum_id.'" AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Unable to fetch last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    if ($db->num_rows($result)){        // S'il y a des topics
        list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);

        $db->query('UPDATE '.$db->prefix.'forums SET num_topics="'.$num_topics.'", num_posts="'.$num_posts.'", last_post="'.$last_post.'", last_post_id="'.$last_post_id.'", last_poster=\''.$db->escape($last_poster).'\' WHERE id="'.$forum_id.'"') or error('Unable to update last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    }
    
    else    // S'il n'y a pas de topics
        $db->query('UPDATE '.$db->prefix.'forums SET num_topics="'.$num_topics.'", num_posts="'.$num_posts.'", last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id="'.$forum_id.'"') or error('Unable to update last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());

         //Fonction update forum



        // Mettre à la corbeille
      $db->query('UPDATE '.$db->prefix.'topics SET forum_id= "'.$corbeille_id.'" WHERE id = "'.$efface_id.'"') or error('On ne peut deplacer le topic !', __FILE__, __LINE__, $db->error());
      
      
             //Fonction update corbeille
    $result = $db->query('SELECT COUNT(id), SUM(num_replies) FROM '.$db->prefix.'topics WHERE forum_id="'.$corbeille_id.'"') or error('Impossible de recuperer les stats des topics', __FILE__, __LINE__, $db->error());
    list($num_topics, $num_posts) = $db->fetch_row($result);

    $num_posts = $num_posts + $num_topics;        // $num_posts is only the sum of all replies (we have to add the topic posts)

    $result = $db->query('SELECT last_post, last_post_id, last_poster FROM '.$db->prefix.'topics WHERE forum_id="'.$corbeille_id.'" AND moved_to IS NULL ORDER BY last_post DESC LIMIT 1') or error('Unable to fetch last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    if ($db->num_rows($result))    {    // S'il y a des topics
        list($last_post, $last_post_id, $last_poster) = $db->fetch_row($result);

        $db->query('UPDATE '.$db->prefix.'forums SET num_topics="'.$num_topics.'", num_posts="'.$num_posts.'", last_post="'.$last_post.'", last_post_id="'.$last_post_id.'", last_poster=\''.$db->escape($last_poster).'\' WHERE id="'.$forum_id.'"') or error('Unable to update last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());
    }
    
    else    // S'il n'y a pas de topics
        $db->query('UPDATE '.$db->prefix.'forums SET num_topics="'.$num_topics.'", num_posts="'.$num_posts.'", last_post=NULL, last_post_id=NULL, last_poster=NULL WHERE id="'.$corbeille_id.'"') or error('Unable to update last_post/last_post_id/last_poster', __FILE__, __LINE__, $db->error());

         //Fonction update corbeille
                
        redirect('viewforum.php?id='.$corbeille_id, $lang_misc['Move topic redirect']);  /*On redirige vers la corbeille */
                           }

           
                     }
        else { redirect('index?php', $lang_misc['Pas_droit']);}; /* Si on est un membre hors staff, on est redirigé vers l'index */
        
       
        
    ?>

Je vois pas pourquoi il vient m'embêter cet index tongue

Dernière modification par WinuX (03-10-2010 10:38:34)

Hors ligne

#13 03-10-2010 11:31:16

PascL
Habitué très actif
Inscription : 06-09-2007
Messages : 554
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

J'ai modifié ton fichier corbeille:

<?php 
    define('PUN_ROOT', './');
    require PUN_ROOT.'include/common.php';
    
    define('ID_CORBEILLE', 9); /* Mettre l'id du forum "corbeille" */
    
    $arr_lang = array();
    $arr_lang['msg1'] = 'Impossible de recenser les modérateurs';
    $arr_lang['msg2'] = 'On ne peut deplacer le topic !';
    $arr_lang['msg3'] = $lang_misc['Move topic redirect'];
    $arr_lang['msg4'] = $lang_misc['Pas_droit'];
    
    $corbeille_id = ID_CORBEILLE;
    
    if (isset($_POST['corbeille']))    /* Si on a cliqué sur le bouton */
    {
        $efface_id = (isset($_POST['t_id'])? intval($_POST['t_id']) : 0); /* On définit la variable $efface_id */
        
        if($efface_id > 0)
        {
            $result = $db->query('SELECT f.moderators, f.id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.id='.$efface_id) or error($arr_lang['msg1'], __FILE__, __LINE__, $db->error());
            if($db->num_rows($result))
            {
                $corbeille_requete = $db->fetch_assoc($result);
                $forum_id = $corbeille_requete['id'];
                $mods_array = ($corbeille_requete['moderators'] != '') ? unserialize($corbeille_requete['moderators']) : array();
                $is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;
                if ($is_admmod)
                {
                    // Mettre à la corbeille
                    $db->query('UPDATE '.$db->prefix.'topics SET forum_id='.$corbeille_id.' WHERE id = '.$efface_id) or error($arr_lang['msg2'], __FILE__, __LINE__, $db->error());
                    update_forum($forum_id);
                    update_forum($corbeille_id);
                
                    redirect('viewforum.php?id='.$corbeille_id, $arr_lang['msg3']);  /*On redirige vers la corbeille */
                }
            }
        }
    }
    /* si on n'est pas passé par le précédent redirect, on est redirigé vers l'index */
    redirect('index.php', $arr_lang['msg4']);
?>

La variable $forum_id était fausse (c'est devenu ['id'], plus ['forum_id']), les update_forum doivent être faits après l'update du topic voulu (tu en faisais un avant et un après, et utiliser directement la fonction, c'est mieux que de la réécrire).
Et j'ai fait une vérif en plus (le $db->num_rows) et placé tous les messages affichés dans un tableau que j'ai défini au début du fichier (pour une mod officielle, faut créer un fichier lang pour ça).

Hors ligne

#14 03-10-2010 11:45:55

WinuX
Habitué actif
Inscription : 17-07-2010
Messages : 390

Re : Mettre un bouton "Déplacer à la corbeille"

Alors là merci smile
Ca marche impec smile

Hors ligne

#15 25-10-2010 02:57:05

agendatour
Nouveau Membre
Inscription : 25-10-2010
Messages : 1

Re : Mettre un bouton "Déplacer à la corbeille"

merci

Dernière modification par agendatour (25-10-2010 02:58:20)

Hors ligne

#16 01-11-2010 16:01:40

natalie1
Nouveau Membre
Lieu : Pham
Inscription : 01-11-2010
Messages : 4
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

Merci pour cette article, un info utile merci

Hors ligne

#17 01-11-2010 16:36:28

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 555
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

Bonjour,

agendatour et natalie1, il ne faudrait pas prendre les enfants du bon dieu pour des canards sauvages.
Stop au publicités sauvages. Encore une seule réponse de ce style dont le seul but est la pub et vous serez radiés de ce forum.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#18 29-11-2010 21:36:59

Florider
Habitué actif
Lieu : $noip = '127.0.0.1'; :p
Inscription : 15-02-2010
Messages : 254
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

j'ai trouver désoler ...

Dernière modification par Florider (29-11-2010 21:42:50)


Fluxbb ===> smile

Hors ligne

#19 13-11-2011 10:52:21

Retraité
Régulier
Inscription : 22-08-2010
Messages : 82

Re : Mettre un bouton "Déplacer à la corbeille"

Bonjour

J'ai essayé cette mode sur un forum V 1.4.6 qui fonctionne; mais qui est inopérante pour 1 Modérateur non affecté a la catégorie. ( Il a bien accès au bouton [Mettre à la corbeille]).

Mon souhait serait de rendre ce bouton opérant pour TOUS les Modérateurs de façon a garder les Modérateurs en charge de leurs catégories et pouvoir être suppléé par le premier Modérateur qui constate une anomalie sur une discussion.

Merci aux Contributeurs de cette mode ainsi qu'a tous pour votre aide et explication smile.

Hors ligne

#20 14-11-2011 11:42:19

PascL
Habitué très actif
Inscription : 06-09-2007
Messages : 554
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

@Retraité:
En version 1.2, il faudrait remplacer la ligne

$is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;

par

$is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD)) ? true : false;

Ça doit fonctionner aussi pour la 1.4, mais ça marchera seulement pour ceux qui sont dans le groupe modérateurs. Comme on peut définir d'autres groupes de modération en 1.4, il faut tester la variable $pun_user['g_moderator']. Etant toujours personnellement en 1.2 et n'ayant pas testé à fond la 1.4, je ne sais pas à quoi est égal cette variable mais quelqu'un d'autre pourra sûrement répondre à cette question.
La ligne deviendrait alors:

$is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD) || ($pun_user['g_moderator'] == QQCHOSE)) ? true : false;

où QQCHOSE est à remplacer par la bonne valeur...

Hors ligne

#21 14-11-2011 15:28:59

thib3113
Habitué très actif
Lieu : Toulouse
Inscription : 11-03-2011
Messages : 542
Site Web

Re : Mettre un bouton "Déplacer à la corbeille"

$is_admmod = ($pun_user['g_id'] == PUN_ADMIN || $pun_user['g_id'] == PUN_MOD ||($pun_user['g_moderator'] == 1) ? true : false;

voila , j'utilise cette mod sur 1.4.5, et j'avoue ne pas avoir pensé au fait que les modérateurs verraient le lien, mais que cela produirait une erreur ... je pense sortir une astuce sur cette mod, en 1.4.*

Dernière modification par thib3113 (14-11-2011 15:46:06)

Hors ligne

#22 14-11-2011 20:42:35

Retraité
Régulier
Inscription : 22-08-2010
Messages : 82

Re : Mettre un bouton "Déplacer à la corbeille"

Bonsoir

Merci PascL, j'ai fait le changement que tu proposes en premier, et le résultat est parfait.

J'ai mené différents test avec plusieurs Modérateurs non affectés aux catégories; ils peuvent agir. Les discussions dans les sous forums peuvent aussi être déplacées. Les Administrateurs peuvent réaffecter les discussions sans problème.

Grand merci smile

Dernière modification par Retraité (14-11-2011 20:48:51)

Hors ligne

Pied de page des forums