Bonjour à tous.
En parcourrant les forums, je me suis aperçu que pas mal de monde, comme moi, avait des problèmes pour être notifié via email lorsque un nouvel utilisateur s'enregistrait. Un MOD existe mais ne fonctionne pas en V1.4.0 et supérieur. Voici les modifs basées sur le MOD d'origine qui fonctionnent chez moi (PWG 1.4.1 - hébergeur Free).
On commence par le fichier register.php :
//----------------------------------------------------------- user registration $errors = array(); if (isset($_POST['submit'])) { $errors = register_user($_POST['login'], $_POST['password'], $_POST['password_conf'], $_POST['mail_address']); if (count($errors) == 0) { $query = ' SELECT id FROM '.USERS_TABLE.' WHERE username = \''.$_POST['login'].'\' ;'; list($user_id) = mysql_fetch_array(pwg_query($query)); $session_id = session_create($user_id, $conf['session_length']); $url = 'category.php?id='.$session_id; redirect($url); } } // mail notification for administrators if ( $conf['mail_notification'] ) { notify('new_user',$_POST['login']); } // end mail notification $login = !empty($_POST['login'])?$_POST['login']:''; $email = !empty($_POST['mail_address'])?$_POST['mail_address']:'';
Puis dans Include\functions.inc.php :
// notify sends a email to every admin of the gallery function notify( $type, $infos = '' ) (.....) case 'upload' : $subject = $lang['mail_new_upload_subject']; $content.= $lang['mail_new_upload_content']; break; case 'comment' : $subject = $lang['mail_new_comment_subject']; $content.= $lang['mail_new_comment_content']; break; // add for reveive email when new_user case 'new_user' : $subject = $lang['mail_new_user_subject']; $content.= $lang['mail_new_user_content']; break; // end add by me } $infos = str_replace( ' ', ' ', $infos ); $infos = str_replace( '−', '-', $infos ); $content.= "\n\n".$infos; $content.= "\n\n-- \nPhpWebGallery ".PHPWG_VERSION; $content = wordwrap( $content, 72 ); @mail( $to, $subject, $content, $headers );
Remarque : l'absence du paramètre $options pour que cela fonctionne chez Free
Et enfin, le fichier language\fr_FR.iso-8859-1\common.lang.php et / ou language\en_UK.iso-8859-1\common.lang.php en fonction des besoins :
$lang['mail_new_upload_subject'] = 'Nouvelle image sur le site'; $lang['mail_new_upload_content'] = 'Une nouvelle image a été placée sur la galerie. Elle est en attente de validation. RDV dans la section d\'administration pour valider ou supprimer cette image.'; $lang['mail_new_comment_subject'] = 'Nouveau commentaire sur le site'; $lang['mail_new_comment_content'] = 'Un nouveau commentaire a été posté sur la galerie. Si vous avez activé la validation des commentaires, il faut d\'abord valider le commentaire dans la zone d\'administration pour le voir apparaître.'."\n\n".'Vous avez accès aux derniers commentaires dans la zone d\'administration.'; // Added for new user notification $lang['mail_new_user_subject'] = 'Nouvel utilisateur sur le site'; $lang['mail_new_user_content'] = 'Un nouvel utilisateur s\'est enregistré sur les galeries. Validez son inscription afin qu\'il puisse voir toutes les images. Allez dans le mode Admin et affectez les autorisations ou les groupes nécessaires à cet utilisateur.'."\n\n".'Envoyez lui une notification lorsque les paramètres auront été configurés.'; // End for new user notification
Voilà, ce MOD sera-t il inclu dans la branche 1.5 ? Ce serait bien en tous cas.
Eric
Dernière modification par Eric (2005-06-20 18:31:19)
Hors ligne
Merci beaucoup je vais essayer ce week end mais c'est tres interessant !
Hors ligne
Juste une petite question
Faire de même dans admin\register.php
Je ne vois pas ce fichier dans admin\
??
Hors ligne
Salut RiSbO.
Je ne vois pas ce fichier dans admin\
Ah bon ? Tu as la 1.4.1 ? Sinon, essayes d'appliquer le MOD que sur le register.php présent sous la racine PWG.
Hors ligne
Eric a écrit:
Salut RiSbO.
Je ne vois pas ce fichier dans admin\
Ah bon ? Tu as la 1.4.1 ? Sinon, essayes d'appliquer le MOD que sur le register.php présent sous la racine PWG.
Salut,
Non j'ai le 1.4.0, lorsque j'applique la modif sa bug, je vais peut etre installé la maj 1.4.1 du coup
j'essaierai sa ce week end :)
Hors ligne
Non j'ai le 1.4.0, lorsque j'applique la modif sa bug, je vais peut etre installé la maj 1.4.1 du coup
Cà m'étonne un peu ton histoire car j'ai fais les modifs pour la 1.4.0 à l'origine. Puis j'ai migré vers 1.4.1 et comme je n'ai pas eu à intervenir sur le MOD pour que çà continu à fonctionner, j'en ai déduit qu'il était compatible pour les 2 versions...
Qu'entends-tu pas "sa bug" ? Un message d'erreur ?
Hors ligne
Très interressé par ton MOD, je viens de le tester sur la version 1.4.1 et j'obtiens une page blanche à l'appelle de phpwebgallery.
Je n'ai pas non plus de register.php dans admin.
Aucun messages d'erreurs.
Aurais-tu déja rencontré ce genre de problème ?
Hors ligne
Salut Florianbfr.
Une précision stp : as-tu une page blanche lors de l'accès en Guest (càd en lançant index.php sans se logger) ? Où est-ce lorsque tu tentes de te connecter avec ton loggin ?
Si tu obtiens une page blanche en Guest c'est que tu t'es trompé dans l'application des modifs. Revérifies ton fichiers functions.inc.php en le comparant avec l'original (en espérant que tu as fait une sauvagarde !).
Si c'est lorsque tu t'inscrits, c'est que l'erreur se trouve dans le fichier register.php - même punition ;-)
Perso, je n'ai pas d'autre MOD que celui là d'actif sur mon site et çà fonctionne impec.
Tiens moi au courrant.
Hors ligne
Erratum :
Devant l'incompréhension concernant le fichier register.php sous Admin, j'ai revérifié mon install et, effectivement, ce fichier n'a rien à y faire. J'comprend pas trop comment il est arrivé là mais bon, l'important c'est que le MOD fonctionne sans que l'on ait à "tripatouiller" ce fichier. Je l'ai d'ailleurs supprimé chez moi.
Attention, je parle bien d'un pseudo fichier register.php dans le répertoire admin ! Pas celui se trouvant sous la racine de PWG !
J'ai corrigé le post du MOD en fonction. Toutes mes excuses à ceux que j'aurais "enduit" d'erreur... ;-)
Hors ligne
J'ai re-fait un test ce soir et c'est toujours pareille. Page blanche à l'appelle de la page category.php.
Suite à tes remarques, j'efface la modif dans functions.inc.php (que j'avais inserré à la fin, c'est peut être là l'erreur ?) et tout re-fonctionne. Mais je ne crois pas qu'une nouvelle inscription m'enverra un mail .
Une autre idée ?
Hors ligne
Salut Florianbfr et désolé pour le petit retard.
Je reste dubitatif devant ton problème de page blanche. J'ai essayé de le reproduire chez moi sans succès en insérant le MOD à divers endroits. Je commence à me demander si tu ne fais pas une erreur d'identification du MOD proprement dit... Sans vouloir froisser ta susceptibilité ni tes compétances (que je ne connais pas) en programmation, je me permet tout de même ceci :
Le MOD est composé de ceci pour le fichier register.php :
// mail notification for administrators
if ( $conf['mail_notification'] )
{
notify('new_user',$_POST['login']);
}
// end mail notification
De ceci pour le fichier functions.inc.php :
// add for reveive email when new_user
case 'new_user' :
$subject = $lang['mail_new_user_subject'];
$content.= $lang['mail_new_user_content'];
break;
// end add by me
Et de ceci pour le fichier language\fr_FR.iso-8859-1\common.lang.php :
// Added for new user notification
$lang['mail_new_user_subject'] = 'Nouvel utilisateur sur le site';
$lang['mail_new_user_content'] = 'Un nouvel utilisateur s\'est enregistré sur les galeries. Validez son inscription afin qu\'il puisse voir toutes les images. Allez dans le mode Admin et affectez les autorisations ou les groupes nécessaires à cet utilisateur.'."\n\n".'Envoyez lui une notification lorsque les paramètres auront été configurés.';
// End for new user notification
Le reste du code doit déjà exister dans les fichiers considérés et n'est donc pas à rajouter. Celà ne sert que pour indiquer précisément ou insérer le MOD. Je ne vois aucune raison qui puisse causer ton problème à part une mauvaise insertion du code. Je continue cependant mes recherches...
PS : Peux tu donner l'adresse de ton site pour que je me rende compte par moi même ?
Dernière modification par Eric (2005-06-23 18:51:28)
Hors ligne
Effectivement, je n'avais pas insseré le code corectement. Débutant en PHP, je suis automaticien et à l'occasion je programme sous VB6 pro. Désolé pour cette erreur et encore merci de ton aide.
pour info : l'adresse de mon site en cours de dévellopement. Rien de bien extraordinaire, mais si tu aime l'aviation, il y a des photos du dernier salon du Bourget !
http://thebaroudeur.homelinux.net
Je fais ce site pour partager nos photos avec ma famille et mes amis car nous sommes tous elloignés les uns des autres.
Merci
@+
Florian
Hors ligne
moi j'ai une question:
Est il possible d'envoyer un email groupé . par exemle à toute les personnes faisant partie du meme groupe dans la galerie. Pour envoyer un message du genre:
venez voir les nouvelle photo de la rubrique "voiture".
on va me dire de copier tous les emails des gens mais quand on a 100 personnes...
ce serait plus simple en un seul clic.
j'attends vos propositions
Hors ligne
Hello,
est-ce qu'il ne vaudrait pas mieux appeller la fonction notify dans le bloc qui commence par:
if (count($errors) == 0), donc dans le cas où l'enregistrement de l'utilisateur s'est bien passé
(et avant le redirect($url);) ?
Dernière modification par Culinde (2005-07-19 22:09:03)
Hors ligne