Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
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
Des screens serait top 
Hors ligne
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
euuuh ou ça ?
Hors ligne
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
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
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... 
Hors ligne
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
Est-ce que c'est possible d'avoir un screen svp?
Hors ligne
@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)
Bouh !
StarShip Renaissance
Hors ligne
Pages : 1