Avertir les admins/modos des msgs en attente - HELP

Voici le forum libre concernant les MODs!

Pas de support dans ce forum

Modérateur: Equipe

Règles du forum
Rappel: Conditions générales d'utilisation de phpBB-fr.com

Attention, aucun support de MODs n'est donné dans ce forum.

Avertir les admins/modos des msgs en attente - HELP

Messagede Ariane A le 28 Aoû 2008 à 09:34

Bonjour,

Sur mon forum se trouve un sous-forum où les messages doivent être validés par l'admin (ou des modos) avant d'être affichés.

Si un programmeur pouvait développer un MOD qui enverrait un e-mail à tous les admins/modos lorsqu'un sujet ou message est en attente de modération, ce serait vraiment génial !
(Car actuellement on est obligés de se connecter et d'aller dans le panneau de modération pour le voir.)

Merci beaucoup !

Ariane
http://www.partirA2.com
Ariane A
Apprenti-posteur
Apprenti-posteur
 
Messages: 131
Inscription: 18 Mar 2003 à 20:38

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 28 Aoû 2008 à 12:57

je vais voir ce que je peux faire 8)
EDIT voilà:
  • CREER un fichier nommé
    Code: Tout sélectionner
    post_to_approve_notify.txt
  • y placer le code suivant
    Code: Tout sélectionner
    Subject: Nouveau message soumis à votre approbation dans le forum - {FORUM_NAME}

    Bonjour ,

    Vous recevez cet e-mail en tant qu'administrateur de "{SITENAME}" ou modérateur du forum "{FORUM_NAME}" .
    Ce forum a reçu un nouveau message qui nécessite votre approbation. Vous pouvez utiliser le lien suivant pour voir ce message:

    {U_NEWEST_POST}
  • le sauvegarder en UTF8 dans le répertoire language/fr/email/
  • OUVRIR
    Code: Tout sélectionner
    includes_functions_display.php
  • CHERCHER
    Code: Tout sélectionner
    'SELECT'   => 'm.*, u.user_colour, g.group_colour, g.group_type',
  • REMPLACER PAR
    Code: Tout sélectionner
    'SELECT'   => 'm.*, u.user_colour, u.user_email, g.group_colour, g.group_type',
  • CHERCHER
    Code: Tout sélectionner
             $forum_moderators[$row['forum_id']][] = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
  • AJOUTER APRES
    Code: Tout sélectionner
             $mail_moderators[$row['forum_id']][] = $row['user_email'];
  • CHERCHER 10 lignes plus bas
    Code: Tout sélectionner
       return;
  • REMPLACER PAR
    Code: Tout sélectionner
       return $mail_moderators;
  • OUVRIR
    Code: Tout sélectionner
    posting.php
  • CHERCHER
    Code: Tout sélectionner
             if ($post_need_approval)
             {
  • AJOUTER APRES (attention à bien le mettre après l'accolade ouvrante { )
    Code: Tout sélectionner
                $forum_id = $data['forum_id'];
                $topic_id = $data['topic_id'];
                $post_id = $data['post_id'];
                include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
                $messenger = new messenger();
                $moderators=array();
                $mail_moderators = get_moderators($moderators, $forum_id);
                $messenger->to($config['board_contact']);
                foreach($mail_moderators[$forum_id] as $email)
                {
                   $messenger->bcc($email);
                }
                $messenger->template('post_to_approve_notify', $config['default_lang']);
                $messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
                $messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
                $messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
                $messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
                $messenger->assign_vars(array(
                   'FORUM_NAME'         => htmlspecialchars_decode($post_data['forum_name']),
                   'SITENAME'            => $config['sitename'],
                   'U_NEWEST_POST'         => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id&p=$post_id&e=$post_id",
                
                ));
                $messenger->send();
                unset($moderators, $mail_moderators);
                $messenger->save_queue();
  • SAUVEGARDER tous les fichiers modifiés


attention à ce que, quand tu cliqueras sur le lien de l'email, ta dernière connexion soit celle d'un admin ou d'un modo, sinon tu auras droit au message "le sujet demandé n'existe pas"
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede Ariane A le 29 Aoû 2008 à 10:20

Salut spitfire pat !

Merci beaucoup pour ton aide ! et quelle rapidité !

J'ai fait quelques tests, ça marche :D , mais quand je poste (avec un utilisateur test), je vois ce message d'erreur tout en haut de la page, pendant le message d'info sur l'approbation :

[phpBB Debug] PHP Notice: in file /posting.php on line 1014: Invalid argument supplied for foreach()

Je ne sais pas si ça peut venir de ma config. Je n'ai que le groupe de modérateurs globaux (par défaut), et donc pas de modérateurs spécialement pour un ou plusieurs forums.

2ème chose (pas importante pour moi), quand je clique sur le lien dans le mail, je vois "Le sujet demandé n’existe pas." mais c'est peut-être parce que je n'utilise pas la "connexion automatique". J'ai fait attention de déconnecter l'utilisateur test avant de me déconnecter en tant qu'admin.

Personnellement, ce 2ème point n'est pas grave, le fait de savoir qu'il y a des messages à approuver est le plus important.

Peux-tu essayer de corriger ce message d'erreur ? ça serait cool !

Merci !!!

Ariane


PS: tu as fait une toute petite faute dans le code : il faut ouvrir le fichier functions_display.php DANS LE DOSSIER includes
Ariane A
Apprenti-posteur
Apprenti-posteur
 
Messages: 131
Inscription: 18 Mar 2003 à 20:38

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 29 Aoû 2008 à 12:54

oui, mon script n'avait pas prévu, que le forum pourrait ne pas avoir de modérateurs
aussi remplace
Code: Tout sélectionner
            foreach($mail_moderators[$forum_id] as $email)
            {
               $messenger->bcc($email);
            }
par
Code: Tout sélectionner
            for($i=0;$i<sizeof($mail_moderators[$forum_id]);$i++)
            {
               $messenger->bcc($mail_moderators[$forum_id][$i]);
            }
mais les modératurs globaux ne recevront rien.

pour le 2e problème, il faut que tu aies la connexion automatique
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede Ariane A le 29 Aoû 2008 à 16:59

OK, merci beaucoup !
Ariane A
Apprenti-posteur
Apprenti-posteur
 
Messages: 131
Inscription: 18 Mar 2003 à 20:38

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede pal92 le 09 Sep 2008 à 21:49

Bonjour,

j'ai essayé la dernière modification de tes lignes de codes, car j'avais aussi une erreur de code et en plus je ne reçevais les mails !!

Mais le problème est que seul l'administrater reçois !! lesmails !! alors que je voudrais que sa soit seulement les modo du forum porprement-dit qui devrait recevoir le mail et non l'admin ou les modo genereaux.

Merci d'avance
pal92
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: 25 Avr 2005 à 13:46

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 10 Sep 2008 à 03:50

pal92 a écrit:j'ai essayé la dernière modification de tes lignes de codes, car j'avais aussi une erreur de code et en plus je ne reçevais les mails !!

l'erreur, avant la dernière modification, ne survenant que si le forum n'a pas de modérateurs, si tu as rencontré cette erreur avec un forum ayant des modérateurs, c'est que tu t'es trompé plus haut
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede pal92 le 10 Sep 2008 à 09:40

Bonjour,

Je n'ai personne en moderatuer globaux !!

J'ai crée des groupe de moderateurs (4) en fonction des sous-forum !! avec les permissions moderatur standard

un groupe de modo par forum avec plusieurs modo en sont seint.

J'ai bien le message d'erreur d'erreur avec la 1er ligne de code, d'ou mon passage à la deuxième !
qui marche, mais je suis le seul en tant qu'admin a resevoir les mail !

merci d'avance.
pal92
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: 25 Avr 2005 à 13:46

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 10 Sep 2008 à 11:28

pal92 a écrit:Je n'ai personne en moderatuer globaux !!

je ne sais si tu as bien lu mon dernier message avant ta demande: j'y précisais que ça ne marcherait pas avec les modérateurs globaux.

le code que j'ai mis ne marche qu'avec les modérateurs "locaux"
et s'il ne marche pas chez toi, c'est que tu t'es trompé dans les modifications
si tu ne trouves pas, passe-moi un lien vers functions_display.php sauvegardé sous functions_display.txt ou vers un zip contenant ce fichier
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede pal92 le 10 Sep 2008 à 16:57

Je n'ai pas vérifié le fichier functions_display.php !!

Seulement le deuxieme, je regarde cela dans les heures qui vienne et je te tien au courant !!

Merci.
pal92
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: 25 Avr 2005 à 13:46

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 10 Sep 2008 à 18:22

pal92 a écrit:Je n'ai pas vérifié le fichier functions_display.php !!
arf c'est pourtant dans celui-là que sont les principales modifications
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede pal92 le 10 Sep 2008 à 21:43

Après de multiple essais rien ne fait !!!

http://dl.free.fr/q9dJkceHy

J'ai donc avec les fichiers que je te joint

-message d'erreur qui apparait
-mail seulement à l'administrateur

But:

- Plus de message d'erreur
- Seulement les modos du forum x doivent reçevoir le mails.

Merci beaucoup pour ton aide.
pal92
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: 25 Avr 2005 à 13:46

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 11 Sep 2008 à 08:06

j'ai testé tes fichiers sur mon forum test et ça marche parfaitement , admins et modos recoivent l'email sans problème
l'erreur
invalid argument for foreach()
survient:
  1. parce que tu n'as pas fait la dernière modification que j'ai indiquée
  2. et uniquement sur les forums qui n'ont pas de modérateurs (et dans ce cas, il est normal qu'ils ne recoivent pas d'email puisqu'ils n'existent pas)
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede pal92 le 11 Sep 2008 à 16:30

Bonjour,

Je confirme l'erreur suivante:

[phpBB Debug] PHP Notice: in file /posting.php on line 1014: Invalid argument supplied for foreach()

Avec le dossier que je t'ai envoyé.

Et seul l'admin recoi un mail !

Merci d'avance.
pal92
Posteur néophyte
Posteur néophyte
 
Messages: 7
Inscription: 25 Avr 2005 à 13:46

Re: Avertir les admins/modos des msgs en attente - HELP

Messagede spitfire pat le 11 Sep 2008 à 17:19

pal92 a écrit:Je confirme l'erreur suivante:
[phpBB Debug] PHP Notice: in file /posting.php on line 1014: Invalid argument supplied for foreach()
Avec le dossier que je t'ai envoyé.

alors je me répète
  1. tu n'as pas fait les dernières modifications que j'ai préconisées (et effectivement dans le dossier que je t'ai envoyé, elles n'y sont pas)
    spitfire pat a écrit:remplacer
    Code: Tout sélectionner
                foreach($mail_moderators[$forum_id] as $email)
                {
                   $messenger->bcc($email);
                }
    par
    Code: Tout sélectionner
                for($i=0;$i<sizeof($mail_moderators[$forum_id]);$i++)
                {
                   $messenger->bcc($mail_moderators[$forum_id][$i]);
                }
  2. le forum où tu as fait le test ne possède pas de modérateurs
    EDIT suite à ton PM j'ai jeté un oeil à ton site. tes forums sont modérés non pas par des individus, mais par des groupes et le script que j'ai fait ne marche qu'avec des modérateurs individuels
Avatar de l’utilisateur
spitfire pat
Superstar
 
Messages: 14513
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Suivante

Retourner vers Discussions, recherches et traductions

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Liens : phpBB.biz • phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB-Services.com • phpBB3 Styles • phpBB podpora • Net Avenir • PromoBenef • Ticket Gagnant •