Archives FluxBB.fr

Les archives de FluxBB.fr

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

#1 20-02-2010 14:33:07

happyjo
Membre

Ajout d'un commentaire sur un post

Suite à cette discussion, j'ai remarqué qu'il n'y avait pas de script tout fait pour mon besoin.
Je ne peux pas poster dans la partie mod, donc voici mon script.

Mon besoin :

Je veux pouvoir signaler via un commentaire, des erreurs aux membres à ne plus commettre sans devoir modifier le corp du post.
Je veux également pouvoir signaler la raison de la modification du post (Pour éviter l'envoi systématique d'un mp qui justifier la modification).

Mon script est simple mais fonctionnel, j'ai prévu un champ "type_raison" au cas ou vous voudriez ajouter un type. Vous devez de plus utiliser "Mysqli".

Pour la nouvelle table :

CREATE TABLE IF NOT EXISTS `ffe_raisons` (
  `id_raison` int(6) NOT NULL auto_increment,
  `type_raison` tinyint(1) default NULL,
  `lib_raison` varchar(100) NOT NULL,
  `date_raison` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `etat_raison` tinyint(1) NOT NULL,
  `id_post_raison` int(10) NOT NULL,
  `id_membre` smallint(3) NOT NULL,
  PRIMARY KEY  (`id_raison`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Pour les modifs sur les fichiers

dans le fichier viewtopic.php :

Ajouter à la ligne 260 :

$lib_raison = '';

à la ligne 345 (au dessus de // Generation post action array) :

    if($pun_user['g_id'] != PUN_GUEST){
        //Recherche des raisons de modifications
        $resultRaison = $db->query("select lib_raison, DATE_FORMAT(date_raison,'%d-%m-%Y') as date_raison from ffe_raisons where etat_raison='1' and id_post_raison='".$cur_post['id']."'", true) or error('Impossible de retrouver les informations des messages', __FILE__, __LINE__, $db->error());
        $ind=0;
        while ($cur_raison = $db->fetch_assoc($resultRaison)){
            $ind++;
            $lib_raison .= "Remarque n°".$ind." : ".$cur_raison['lib_raison']. " (".$cur_raison['date_raison'].") <br />";
        }
    }

remplacer ligne 412 :

<?php echo (count($post_actions)) ? '<ul>'.implode($lang_topic['Link separator'].'</li>', $post_actions).'</li></ul></div>'."\n" : '<div> </div></div>'."\n" ?>

par

<?php
                echo ($lib_raison !='') ? "<div class=\"raison\">".$lib_raison."</div>\n" : '';
                echo (count($post_actions)) ? '<ul>'.implode($lang_topic['Link separator'].'</li>', $post_actions).'</li></ul></div>'."\n" : '<div> </div></div>'."\n"; ?>

dans le fichier edit.php :

Ajouter à la ligne 54 (en dessous de : $can_edit_subject) :

$can_add_justify = ($is_admmod) ? true : false;

Ajouter à la ligne 116 (au dessus de : $can_edit_subject) :

        if($can_add_justify){

            $raison_justif=pun_trim($_POST['raison_justif']);

            if(!empty($raison_justif)){

                $db->query("INSERT INTO `basedeco-fexo`.`ffe_raisons` (`id_raison` ,`type_raison` , `lib_raison` ,`etat_raison` ,`id_post_raison`, `id_membre`) VALUES (NULL , NULL, '".$db->escape($raison_justif)."', '1', ".$id.", ".$pun_user['id'].")");

            }

        }

Ajouter à la ligne 230 (Au dessus de <ul class="bblinks">) :

                        if ($can_add_justify):
                        ?>                        
                        <label><?php echo $lang_common['RaisonModif'] ?><br />
                        <input class="longinput" type="text" name="raison_justif" size="80" maxlength="70" tabindex="<?php echo $cur_index++ ?>" value="<?php echo pun_htmlspecialchars(isset($_POST['raison_justif']) ? $_POST['raison_justif'] : $cur_post['raison_justif']) ?>" /><br /></label><?php endif; ?>

Dans votre fichier de langue : Common.php, ajoutez :

'RaisonModif'            =>    'Raison',

Dans votre fichier css (dans le répertoire imports), ajoutez :

.raison
{
    font-size: 9px;
    color: #FE6A74;
}

Et voilà, l'administrateur et les modérateurs peuvent désormais ajouter des commentaires sur les posts, ces commentaires ne sont visibles que par les membres du forum.
Les visiteurs ne voient que le post.

Vous l'aurez compris, si on utilise le type, on peux faire du reporting pour mesurer à quel point certains membres abusent.

N'hésitez pas à remonter vos problèmes et les bugs

Dernière modification par happyjo (20-02-2010 15:16:58)

Hors ligne

#2 20-02-2010 16:04:20

Guims
Membre

Re : Ajout d'un commentaire sur un post

Des screens serait top smile

Hors ligne

#3 20-02-2010 16:12:42

Otomatic
Régisseur

Re : Ajout d'un commentaire sur un post

Bonjour,

Oubli de prise en compte de $db_prefix


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

#4 20-02-2010 17:02:13

happyjo
Membre

Re : Ajout d'un commentaire sur un post

euuuh ou ça ?

Hors ligne

#5 20-02-2010 17:44:49

fanf73
Wik-wiki

Re : Ajout d'un commentaire sur un post

De partout dans tes requêtes SQL, tu écris en dur le préfixe que tu utilises pour tes tables.

Juste au passage, le fait d'indiquer la raison de modifications ne sera pas forcément très visible, il n'y a que si le membre relis son message qu'il peut voir votre message, et je ne sais pas si ça va le marquer, contrairement à un MP.

Il n'en reste pas moins que l'astuce est bien utile.


Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.

Hors ligne

#6 20-02-2010 21:45:44

happyjo
Membre

Re : Ajout d'un commentaire sur un post

Pas faux pour le préfix, merci pour la précision je penserai à modifier et à le partager.

Pour l'utilité, après comme tu le soulignes, chacun trouve midi à sa porte

Hors ligne

#7 21-02-2010 09:18:06

Mpok
Néo Admin

Re : Ajout d'un commentaire sur un post

happyjo a écrit :

Pas faux pour le préfix, merci pour la précision je penserai à modifier et à le partager.

J'en profite pour faire une remarque GENERALE :

Si les Mods vont (probablement) à l'avenir être hébergées sur le .org (et donc subir le processus de vérification), ce ne sera pas le cas des "Trucs et Astuces", qui resteront ici.
Les futurs auteurs seront donc priés de respecter le même degré d'exigence, sans qu'il y ait forcément une validation officielle. Je compte sur vous... wink

Hors ligne

#8 05-04-2010 15:38:42

Emple
Membre

Re : Ajout d'un commentaire sur un post

Bonjour à tous

je prépare mon forum et je bute sur l'adaptation de l'astuce présentée dans cette discussion.

Dans la modification de edit.php à la ligne 116 j'ai essayé de corriger en mettant

                $db->query ("INSERT INTO '.$db->prefix.'ffe_raisons (id_raison, type_raison, lib_raison, etat_raison, id_post_raison, id_membre) VALUES (NULL , NULL, '".$db->escape($raison_justif)."', '1', ".$id.", ".$pun_user['id'].")") or error('Unable to add ffe_raisons', __FILE__, __LINE__, $db->error());

mais malgré plusieurs essais j'arrive toujours à Error: Unable to add ffe_raisons
quand je veux mettre un commentaire.

Quelqu'un pourrait indiquer l'erreur dans la syntaxe utilisée?

Merci d'avance

Hors ligne

#9 08-04-2010 14:45:51

GRiBOU
Membre

Re : Ajout d'un commentaire sur un post

Est-ce que c'est possible d'avoir un screen svp?

Hors ligne

#10 08-04-2010 16:07:59

PascL
Membre

Re : Ajout d'un commentaire sur un post

@Emple:
"ffe_" semble être le préfixe utilisé par l'auteur de la mod, tu devrais donc pouvoir l'enlever de ta ligne.
A voir également comment tu as appelé ta table (pun_raisons ? flux_raisons ? ffe_raisons ?) et quel est le préfixe de tes autres tables...

Dernière modification par PascL (08-04-2010 16:08:15)

Hors ligne

Pied de page des forums