[PLUGIN] Gutuma pour Pluxml : module de gestion de newsletters
Jerry Wham
Member
Bonsoir à tous,
Voici une adaptation de l'application Gutuma qui permet de gérer et d'envoyer des newsletters.
[del]Le plugin se compose de deux dossiers principaux :
- le dossier gutuma à placer dans le dossier de plugins
- le dossier news à placer à la racine du site (au même niveau que le dossier core par exemple)[/del]
Je vous laisse le soin de lire l'aide en ligne (ou le fichier README) pour compléter l'installation et découvrir les spécificités de l'application.
Le lien de téléchargement est ici.
Enjoy
PS : Merci à DanielSan pour me l'avoir fait connaître ;-)
Petite précision importante : le mot de passe ne doit pas contenir des caractères tels que € car le cryptage buggue sinon.
*******************************************************************
Historique :
*******************************************************************
* V1.0 01/05/2012 : mise en ligne
** 02/05/2012 : légère modification dans les fichiers gutuma/admin.php et gutuma/lang/fr.php : lorsque le module n'est pas installé, un lien "Installer le module" est affiché à la place de "Ecrire une newsletter", ce qui est plus logique.
** 03/05/2012 : ajout de deux index dans le fichier lang/fr pour la page gadget.js.php lorsqu'aucune liste de diffusion n'est disponible.
*******************************************************************
*V1.1 04/05/2012 : corrections pour un fonctionnement sur les systèmes windows (merci Stéphane pour les indications)
*******************************************************************
*V1.2 28/10/2012 : Meilleure intégration à Pluxml. Tout tient maintenant dans un seul dossier à placer dans le dossier plugins.
** Meilleure utilisation des librairies et des conventions de Pluxml.
** Correction de bugs sur les liens et les formulaires ajax. Les utilisateurs n'ont plus besoin d'être connectés pour pouvoir s'abonner (ce qui est quand même plus pratique ).
** Correction de bugs liés à la gestion des utilisateurs.
IMPORTANT POUR LA MIGRATION DE LA V1.1 A LA V1.2 AFIN DE NE PAS PERDRE LES ANCIENNES LISTES DE DIFFUSION
* Remplacer l'ancien dossier gutuma par le nouveau dans le dossier plugins
* Copier tout le contenu de l'ancien dossier /news/lists/ (celui à la racine de pluxml) dans le dossier /plugins/gutuma/news/lists
* Supprimer le dossier /news (celui à la racine de pluxml)
IMPORTANT POUR TOUTE MISE A JOUR AFIN DE NE PAS PERDRE LES ANCIENNES LISTES DE DIFFUSION
* Faire une sauvegarde du dossier /plugins/gutuma/news/lists/ avant d'écraser l'ancien dossier par la mise à jour.
* Remplacer ensuite ce même dossier par la sauvegarde précédente.
*******************************************************************
*V1.3 29/10/2012 : Correction de la 1.2 qui conservait quelques morceaux de codes inadaptés ainsi que quelques autres erreurs. La version 1.2 a été supprimée.
Correction du chemin racine pour l'affichage des liens d'abonnement.
*******************************************************************
*V1.4 07/02/2013 : Adaptation du plugin pour la version pluxml 5.1.7
Le plugin fonctionne également toujours avec la version 5.1.6
*******************************************************************
*V1.5 23/09/2013 : Adaptation du plugin pour la version pluxml 5.2
Correction du bug de connexion depuis pluxml
Correction du bug sur la langue dans la session. En effet, l'index lang étant utilisé par pluxml, gutuma écrasait parfois les traductions de pluxml.
*******************************************************************
*V1.6 01/10/2013 : Correction de bugs et modification de l'emplacement de fichiers sensibles
Correction du bug de connexion depuis pluxml
Déplacement des listes de diffusion vers le dossier data de pluxml afin de faciliter les sauvegardes et mises à jour
Déplacement du fichier de config vers le dossier data
Dépôt du code sur github
*******************************************************************
Voici une adaptation de l'application Gutuma qui permet de gérer et d'envoyer des newsletters.
[del]Le plugin se compose de deux dossiers principaux :
- le dossier gutuma à placer dans le dossier de plugins
- le dossier news à placer à la racine du site (au même niveau que le dossier core par exemple)[/del]
Je vous laisse le soin de lire l'aide en ligne (ou le fichier README) pour compléter l'installation et découvrir les spécificités de l'application.
Le lien de téléchargement est ici.
Enjoy
PS : Merci à DanielSan pour me l'avoir fait connaître ;-)
Petite précision importante : le mot de passe ne doit pas contenir des caractères tels que € car le cryptage buggue sinon.
*******************************************************************
Historique :
*******************************************************************
* V1.0 01/05/2012 : mise en ligne
** 02/05/2012 : légère modification dans les fichiers gutuma/admin.php et gutuma/lang/fr.php : lorsque le module n'est pas installé, un lien "Installer le module" est affiché à la place de "Ecrire une newsletter", ce qui est plus logique.
** 03/05/2012 : ajout de deux index dans le fichier lang/fr pour la page gadget.js.php lorsqu'aucune liste de diffusion n'est disponible.
*******************************************************************
*V1.1 04/05/2012 : corrections pour un fonctionnement sur les systèmes windows (merci Stéphane pour les indications)
*******************************************************************
*V1.2 28/10/2012 : Meilleure intégration à Pluxml. Tout tient maintenant dans un seul dossier à placer dans le dossier plugins.
** Meilleure utilisation des librairies et des conventions de Pluxml.
** Correction de bugs sur les liens et les formulaires ajax. Les utilisateurs n'ont plus besoin d'être connectés pour pouvoir s'abonner (ce qui est quand même plus pratique ).
** Correction de bugs liés à la gestion des utilisateurs.
IMPORTANT POUR LA MIGRATION DE LA V1.1 A LA V1.2 AFIN DE NE PAS PERDRE LES ANCIENNES LISTES DE DIFFUSION
* Remplacer l'ancien dossier gutuma par le nouveau dans le dossier plugins
* Copier tout le contenu de l'ancien dossier /news/lists/ (celui à la racine de pluxml) dans le dossier /plugins/gutuma/news/lists
* Supprimer le dossier /news (celui à la racine de pluxml)
IMPORTANT POUR TOUTE MISE A JOUR AFIN DE NE PAS PERDRE LES ANCIENNES LISTES DE DIFFUSION
* Faire une sauvegarde du dossier /plugins/gutuma/news/lists/ avant d'écraser l'ancien dossier par la mise à jour.
* Remplacer ensuite ce même dossier par la sauvegarde précédente.
*******************************************************************
*V1.3 29/10/2012 : Correction de la 1.2 qui conservait quelques morceaux de codes inadaptés ainsi que quelques autres erreurs. La version 1.2 a été supprimée.
Correction du chemin racine pour l'affichage des liens d'abonnement.
*******************************************************************
*V1.4 07/02/2013 : Adaptation du plugin pour la version pluxml 5.1.7
Le plugin fonctionne également toujours avec la version 5.1.6
*******************************************************************
*V1.5 23/09/2013 : Adaptation du plugin pour la version pluxml 5.2
Correction du bug de connexion depuis pluxml
Correction du bug sur la langue dans la session. En effet, l'index lang étant utilisé par pluxml, gutuma écrasait parfois les traductions de pluxml.
*******************************************************************
*V1.6 01/10/2013 : Correction de bugs et modification de l'emplacement de fichiers sensibles
Correction du bug de connexion depuis pluxml
Déplacement des listes de diffusion vers le dossier data de pluxml afin de faciliter les sauvegardes et mises à jour
Déplacement du fichier de config vers le dossier data
Dépôt du code sur github
*******************************************************************
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
merci Jerry pour en avoir fait un plugin !
cependant, c'est un autre utilisateur de PluXml qui m'a fait découvrir Gutuma, Frédéric je crois ?
ca manquait vraiment.
merci je vais tester ca sur mon blog
a bientôt
L'archive a été modifiée en conséquence mais je n'ai pas modifié le numéro de version.
Enjoy.
je saisie meme parametres comme celles de pluxml.....!!!!
Mais hélas pour l'instant ça ne marche pas encore bien, j'ai le même problème que brar2010 : je l'ai testé en local (avec Xampp), mais le login/mot de passe de l'admin (utilisateur 001) n'est pas reconnu.
Ce qui fait que je n'ai pas de sous-menu sous Gutuma, il manque plein de choses, bref il y a une étape qui ne s'est pas bien passée à l'installation.
J'ai refait le test à partir de zéro, pensant m'être trompé, mais c'était pareil la 2ème fois. Il doit y avoir un truc qui cloche quelque part à l'installation ?
Si c'est le cas, quelles sont les étapes que vous avez suivies ?
Peut-être que l'archive n'était pas complète ? Dans le doute, je viens de l'effacer et d'en remettre une nouvelle copie sur mon serveur. Merci de la télécharger à nouveau, de supprimer les fichiers précédents et de retenter avec les nouveaux.
@Francis : Le sous menu de Gutuma n'apparait qu'une fois que l'on s'est connecté et que l'on rédige une newsletter.
Petite précision : le mot de passe ne doit pas contenir des caractères tels que € car le cryptage buggue sinon.
Jusqu'à présent, je n'avais testé qu'en local. Je viens de mettre l'application sur le serveur de l'hébergeur que j'utilise habituellement et tout fonctionne correctement. Ma version de pluxml en local est la 5.1.6 tandis que celle de l'hébergeur est la 5.1.5
Par contre PHP est en 5.3
Quelles sont les versions que vous utilisez ?
mes remarques au niveau du code
la ligne suivant dans le fichier le fichier admin.php, n'est pas nécessaire. le fichier prepend.php est inclus automatiquement par PluXml
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
1) fichier admin.php , ligne 60
je preferais voir
2) pour rendre le code lisible, fichier admin.php, ligne 65, c'est quoi cette valeur 2 (PROFIL_MODERATOR ?)
dans ce cas mettre
nb: faire de meme partout où tu utilises un nombre mettre plutot la constante de type PROFIL_ADMIN, PROFIL_MODERATOR etc... Le code sera plus compréhensible et dans 6 mois tu seras bien content de savoir à quoi correspondent les valeurs.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
fichier /news/install.php
la fonction gu_config::plx_charAleatoire() n'existe pas.
l'installation s'arrete là.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Ok, c'est noté. Je vais corriger ça. Merci beaucoup pour tes conseils.
La fonction est normalement en bas du fichier gutuma.php. Je l'ai nommé ainsi car je l'ai copiée de la lib de pluxml. J'ai essayé (je ne dis pas que je l'ai forcément bien fait), que le module soit utilisable également si on n'utilise pas pluxml. C'est pour cette raison que je l'ai copiée.
Ce qui m'étonne c'est que l'installation s'arrête.
j'ai mis un point d'arret apres le bloc de code cité au dessus et le code ne s'arrete pas à cet endroit
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
veut dire qu'il y a une classe gu_config avec dedans une fonction plx_charAleatoire(), fonction qui doit etre déclarée static si on est en php5 sinon ça fait des warnings
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
donc dans gutuma.php meme en bas il n'y a pas de fonction plx_charAleatoire
dans le fichier news/inc/_pluxml.php es-tu sur que les chemins sont corrects suivant les cas d'appel d'où on se situe sur le site (front end, back end, gutuma)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Oui et c'est le cas.
Toutes mes confuses. Je n'avais pas le code sous les yeux quand j'ai répondu et j'ai fait de mémoire. Le fichier setting.php qui contient fonction plx_charAleatoire, est inclus dans le fichier gutuma.php (qui est lui même ensuite inclus dans tous les autres fichiers.
Oui la pluspart du temps, les fichiers utilisent ../config.php. C'est le cas lorsque l'on navigue sur le site.
Par contre, les liens pour s'inscrire à la newsletter, surtout ceux qui utilisent l'ajax (section appelée "gadgets" par le créateur initial de gutuma), se servent du fichier gadets.js.php situé dans le dossier js/.
Le fichier config.php étant dans le dossier inc/ au même niveau que le dossier js/, il faut alors remonter de deux crans pour trouver le fichier config.php.
Je ne sais pas si mes explications sont assez claires ?
EDIT : Je viens de faire des corrections selon tes indications. J'ai modifié la définition de la constante RPATH en tenant compte du DIRECTORY_SEPARATOR qui est différent selon les systèmes (/ ou \). Je viens de tester avec wamp et ça fonctionne.
Si Stéphane, tu vois d'autres erreurs, n'hésite pas à m'en faire part. Le code ne te choque pas trop ???
A quelle étape es-tu stoppé (installation, login) ? Quelle version de php as-tu? Quelle version de pluxml utilises-tu ? Quel est le message d'erreur ? Sur quelle page ? Que disent les fichiers log d'apache et de php ? Ton mot de passe contient-il des caractères exotiques (comme €, @, £ ou autre) ?
Merci de répondre à ces quelques questions...
LE test est sous easy php:pbleme de login_passe
J'ai créé une liste avec deux abonnés, ça marche.
Je viens d'envoyer une newsletter, mais je ne l'ai reçue que sur la première des deux adresses. L'autre est bonne, j'ai vérifié.
Il faut que je fasse d'autres tests, je m'arrête là pour ce soir.
[Edit du 6/5/2012 : c'était une erreur de ma part, j'avais oublié d'ajouter la liste dans le champ "Destinataire" qui était donc vide, avec la bonne manip ça marche très bien]
En tout cas ça prend forme, l'interface est autrement mieux que celle d'origine de Gutuma, et le paramétrage est très complet.
Ce serait intéressant que d'autres fassent eux aussi des tests, on attend les résultats de tous.
J'avais simplement oublié d'ajouter la liste comme destinataire ! J'avais bien regardé la liste spam, mais le problème n'était pas là, le message n'est pas classé parmi les spams, ni chez laposte.net, ni chez OVH.
J'ai reçu une copie de la newsletter comme administrateur, mais l'envoi n'a évidemment pas fonctionné !
J'avais vu le nom de la liste affiché en haut à droite, dans la liste déroulante et j'ai envoyé en pensant que ça revenait à une sélection de liste. En fait, il suffisait de lire ce qui est affiché !
Il y a un message de rappel lorsque l'objet est vide, ce serait bien d'avoir aussi un message de ce type lorsque le contenu "Destinataires" est vide.
J'ai fait ce matin un test avec 5 adresses, ça marche nickel !
Merci encore Jerry, il va être bien utile ce plugin !
Je vais voir ce que je peux faire pour l'absence de destinataire.
Est-ce que les autres utilisateurs peuvent nous confirmer que ça fonctionne, s'il vous plait ?
Ca ne fonctionne pas chez moi.
Je ne vois pas le lien d'install quand je suis dans la partie "Gestion des utilisateurs".
Pour mon profil (admin), dans la colonne "Action" du tableau est inscrit "non applicable".
Une idée ?
Pour le "non applicable" dans la colonne action c'est normal car pour un administrateur (d'autant plus pour le 001), il n'y pas possibilité de désactiver son droit en écriture. Il faut changer le statut en gestionnaire.