[[PhplistDocumentation Phplist Documentation]]
----
=====Manuel de modifications dans PHPlist=====
//Cet article se base sur un excellent document preparé par //BD-31//. Vous êtes invité à contribuer.//
====I. Configuration====
==Supprimer les erreurs d'affichage des lettres avec accent==
Dans l'interface d'administration:
modifier //Charset for HTML messages//: Changer UTF-8 en iso-8859-1
modifier //Charset for Text messages//: Changer UTF-8 en iso-8859-1
==Proposition de traduction pour les mails automatiques du système==
**Les pages d'inscription**
Dans la page principale, aller sur "''page(s) d’inscription''" pour configurer
**Requête de confirmation**
modifier Subject of the message users receive when they subscribe
~Requête de confirmation
modifier Message users receive when they subscribe
%%(txt}
Bienvenue dans notre système de gestion de newsletter(s) ...
Votre adresse email a été inscrite aux newsletters suivantes:
[LISTS]
Si cela vous convient, merci de cliquer sur le lien suivant pour confirmer votre inscription.
Sans cette confirmation, cette demande d'inscription sera annulée.
[CONFIRMATIONURL]
Si vous pensez qu'il s'agit d'une erreur, ou ne souhaitez pas recevoir ces newsletters, ignorez simplement ce message.
Merci
%%
==Désinscription==
modifier Subject of the message users receive when they unsubscribe
~Désinscription de la Newsletter
modifier Message users receive when they unsubscribe
%%(txt)
Vous avez été désinscrit de notre newsletter.
Vous ne devrez donc plus recevoir d'autres mail du système de newsletter. En effet, vous avez été ajouté dans notre "blacklist", ce qui signifie que notre système de newsletter refusera actuelement de vous envoyer d'autres mails sans intervention manuelle d'un de ses administrateurs.
S'il s'agit d'une erreur, ou si vous avez changé d'avis, vous pouvez vous réinscrire:
Rendez vous sur: [SUBSCRIBEURL] et suivez les instructions.
Merci.
%%
==Confirmation de l'inscription==
modifier Subject of the message users receive after confirming their email address
~Inscription à la Newsletter
modifier Message users receive after confirming their email address
%%
Bienvenue dans notre Newsletter
Merci de conserver cet email pour un éventuel usage ultérieur.
Votre adresse email a été ajoutée aux newsletters suivantes:
[LISTS]
Pour mettre à jour vos données et preferences, merci de vous rendre à l'adresse: [PREFERENCESURL].
Et pour vous désinscrire, à l'adresse: [UNSUBSCRIBEURL].
Merci
%%
==Modification détails==
modifier Subject of the message users receive when they have changed their details
~[information] Modification de vos détails de membre de liste
modifier Message that is sent when users change their information
%%
Ce message vous informe d'une modification de vos details dans la base de données de notre système de newsletter
Vous êtes actuelement membres des listes suivantes:
[LISTS]
[CONFIRMATIONINFO]
Les informations dans notre système vous concernant sont:
[USERDATA]
Si cela n'est pas correct, merci de les modifier à l'adresse suivante:
[PREFERENCESURL]
Merci
%%
modifier Part of the message that is sent to their new email address when users change their information, and the email address has changed
%%
Lors de la mise à jour de vos détails, votre adresse mail a été modifiée.
Merci de confirmer cette nouvelle adresse en visitant cette page:
[CONFIRMATIONURL]
%%
modifier Part of the message that is sent to their old email address when users change their information, and the email address has changed
%%
Attention: Lors de la mise à jour de vos détails, votre adresse mail a été modifiée.
Un message a été envoyé à votre nouvelle adresse email avec un lien de confirmation pour valider la modification. Merci de vous rendre à cette adresse pour valider votre nouveau paramétrage.
%%
modifier Subject of message to send when users request their personal location
~Votre zone personelle
modifier Message to send when they request their personal location
%%
Vous avez demandé l'adresse de votre zone personnelle pour mettre à jour vos détails depuis notre site internet.
La voici ci-dessous. Assurez vous de bien utiliser le lien entier sur une seule ligne.
En effet, il peut arriver que votre logiciel de mail coupe automatiquement certains liens en plusieurs lignes.
Adresse de votre zone personnelle :
[PREFERENCESURL]
Merci.
%%
==Pied de page par défaut pour la Newsletter==
modifier Default footer for sending a message
%%
--
Pour vous désabonner à cette liste, visitez [UNSUBSCRIBE]
Pour mettre vos préférences à jour, visitez [PREFERENCES]
Faire suivre un message a quelqun [FORWARD]
%%
==Pied de page des messages/newsletters transferés==
modifier Footer used when a message has been forwarded
%%
--
Ce message vous a été transféré par [FORWARDEDBY].
Vous n'avez pas été incrit automatiquement sur cette liste de diffusion.
our vous y inscrire allez à
[SUBSCRIBE]
%%
====II. Modifications ====
===Modifier le pied de page des emails===
**a) Suppression des liens de gestion des données utilisateur**
Mettre à blanc les données du "pied de page par défaut lors de l’expédition de message" pour éviter les problèmes de mise en page lors de l'expédition des versions html. Il faut "ruser" en mettant ""''& nbsp;''"" (blanc) dans la zone de texte.
Version à introduire pour les messages n'utilisant pas de modèle (template) adapté:
%%
--
Pour vous désabonner à cette liste, visitez [UNSUBSCRIBE].
Pour mettre vos préférences à jour, visitez [PREFERENCES].
Faire suivre un message à quelqu'un [FORWARD].
%%
===Appliquer un style===
Il faut absolument intégrer le style pour toutes les lignes, et pas en en-tête ou á travers d'un lien externe, sinon ils risquent d'être perdus (hotmail, gmail, yahoo).
Les styles appliqués à des messages HTML qui utilisent des modèles, sont conditionnés dans les modèles.
Les styles appliqués à l'ensemble des messages HTML qui n'utilisent pas de modèles, sont conditionnés par la section "modifier CSS for HTML messages without a template" dans la page "configurer phplist". Cela défini, entre autre, le style appliqué aux paragraphes, liens, titres…
===Modification des pages d'administration===
Fichier à modifier : ''admin/header.inc'' et les fichiers CSS : ''styles/phplist.css''…
Lignes modifiées pour adapter l'entête à la nouvelle image :
%%(html)
%%
Pour modifier le pied de page: fichier à modifier: ''admin/footer.inc''
===Modification des pages d'accueil===
Modifier la section "En-tête" de "modifier une page d’inscription" dans la partie administration. Le code ci dessus est applicable.
Le début de la section "Pied de page" corespond à la ligne située en haut à droite. Le reste correspond au pied de page.
Pour supprimer le logo PHPList, il faut supprimer les lignes 134 à 138 du fichier ''admin/connect.php'':
%%(php)
if (REGISTER) {
$PoweredByImage = '
';
} else {
$PoweredByImage = '
';
}
%%
===Modifications===
a) **Traductions** :
Page: ''admin/defaultconfig.inc'' Lignes : 128 à 426
Pour traduire les texte de la page "configurer phplist"
%%(php)
Page : admin/subscribelib2.php Ligne : 271 et 272
print '
Vous êtes connecté avec le login You are logged in as '.$_SESSION["logindetails"]["adminname"].'
'.$GLOBALS['I18N']->get(' Cet email est sur liste noire (blacklist), une demande de confirmation à été expédiée.').' ';
print $GLOBALS['I18N']->get(' Si l’utilisateur confirme l’inscription, il sera retiré de la liste noire (blacklist).').'
';
Ligne : 328
print "
L'utilisateur a été ajouté et confirmé
";
Ligne : 393 à 396
Fatal_Error("Cannot change to that email address.
This email already exists.
Please use the preferences URL for this email to make updates.
Click here to request your personal location");
Ligne : 701
'Confirmez le courriel',htmlspecialchars(stripslashes($_REQUEST["emailconfirm"])),$textlinewidth,'Confirm email');
%%
%%(php)
Page : admin/structure.php Ligne : 29 à 49
"user" => array ( # a user in the system
"id" => array("integer not null primary key auto_increment","sysexp:ID"),
"email" => array("varchar(255) not null","Email"),
"confirmed" => array("tinyint default 0","sys:Est-ce que cet utilisateur est confirm é ?"),
"blacklisted" => array("tinyint default 0","sys: Est-ce que cet utilisateur est en liste noire ?"),
"bouncecount" => array("integer default 0","sys: Nombre de messages rejetés pour cet utilisateur"),
"entered" => array("datetime", "sysexp: Créé le"),
"modified" => array("timestamp", "sysexp: Dernière modification le"),
"uniqid" => array("varchar(255)","sys: Identifiant unique de l’utilisateur"),
"unique_1" => array("(email)","sys:unique"),
"htmlemail" => array("tinyint default 1"," Envoyer les emails en HTML à cet utilisateur"),
"subscribepage" => array("integer","sysexp: Page de souscription utilisée"),
"rssfrequency" => array("varchar(100)"," Fréquence RSS"),
"password" => array("varchar(255)","Password"),
"passwordchanged" => array("date","sys: Dernière modification du mot de passe"),
"disabled" => array("tinyint default 0"," Est ce que ce compte est désactivé ?"),
"extradata" => array("text"," Données supplémentaires"),
"foreignkey" => array("varchar(100)"," Foreign Key "),
%%
%%(php)
Page : admin/lan/fr/statsmgt.php Ligne : à rajouter
'Overview' => 'Vue d\'ensemble',
%%
%%(php)
Page : admin/lan/fr/template.php Ligne : à rajouter
'You can upload a template file or paste the text in the box below' => 'Vous pouvez charger un modèle ou copier le texte dans la fenêtre ci-dessous',
'Template file.' => 'Modèle à charger',
%%
%%(php)
Page : admin/lan/fr/export.php Ligne : à rajouter
"When they subscribed to" => "Lorsqu'ils ont souscrit à ",
Page : admin/user.css Ligne : 51 à 55 et 60
echo " ".PageLink2("members","Retour à la liste des membres Back to Members of this list","id=$list")."\n";
if (isset($start))
echo " ".PageLink2("users","Retour à la liste des utilisateurs Back to the list of users","start=$start&unconfirmed=".$_GET["unconfirmed"])."\n";
if ($find)
echo " ".PageLink2("users","Retour au résultat des recherches Back to the search results","start=$start&find=".urlencode($find)."&findby=".urlencode($findby)."&unconfirmed=".$_GET["unconfirmed"]."\n");
echo " ".PageLink2("$returnpage$more","Retour à Return to $returnpage");
%%
%%(php)
Page : admin/commonlib/pages/users.php Ligne : 213
printf($GLOBALS['I18N']->get('%s utilisateurs au total users in total'),$total);
%%
%%(php)
Page : index.php Ligne : 453 à 457
$html .= '
Vous êtes logué comme administrateur ('.$_SESSION["logindetails"]["adminname"].') de ce système phplist
';
$html .= '
Vous avez donc la possibilité d\'accéder à ces choix, ce qui n\'est pas le cas pour les utilisateurs arrivant sur cette page.
Please choose: Confirmer immédiatement cet utilisateur
Envoyer à cet utilisateur une demande de confirmation par email
';
%%
====III. Utilisation de PHPList====
===Liste===
Création : cliquer simplement sur "ajouter une liste", remplir les champs et valider.
"Voir les membres" permet d'afficher les membres et d'effectuer des modifications comme de copier tout ou partie des membres vers une autre liste, de supprimer et modifier.
!! En cas de suppression, les utilisateurs sont supprimés de la liste, mais pas de la base.
Cela permet également d'exporter la liste en format csv. Avant de l'ouvrir avec Excel, il faut modifier l'extention en .txt.
Pour importer des utilisateurs, voir "gérer les utilisateurs".
===Messages===
==Les modèles==
Si on utilise les modèles (templates) il pourrait être préférable de désactiver l'option FCKeditor dans les fichiers ''config.php'' (ligne 498)
==Les messages==
Code de base d'un message:
%%(html)
Risques dans le bâtiment :
Risques informatiques :
Risques pour l'environnement :
Risques machine :
Risques pour l'Homme au travail :
Général :
Institutionnels :
%%
===Gérer les utilisateurs===
==Utilisateurs==
Permet d'afficher l'ensemble de la liste des utilisateurs, sans tri par liste.
==attributs des utilisateurs==
Permet de définir les champs complémentaires utilisables pour chaques liste, et pour chaques pages d'accueil/d'inscription.
==Vérifier les valeurs pour==
Permet de définir / modifier les valeurs pour les attributs au format liste de choix
==faire le ménage dans la base de données utilisateurs==
Permet d'afficher des utilisateurs en fonction de filtres établis. Le but est de faire le ménage dans les utilisateurs.
==effectuer une vérification de certains utilisateurs==
==marquer en masse les utilisateurs comme non confirmés==
==importer des utilisateurs==
__Préparation du fichier__:
- Vérifier que dans la première ligne du fichier à importer que la valeur soit "EMAIL"
- Enregistrer le fichier au format .txt avec des tabulations comme séparateur
- Pour les champs 'case à cocher', la valeur doit être vide (NULL), 'off' ou 'on'.
- Il est également possible de prévoir un champ "Foreign Key" pour enregistrer une clé externe.
- Créer une nouvelle liste, si nécessaire, avant d'importer
__Importer__:
- A partir de la page principale, cliquer sur "importer". 4 possibilités, mais il faut privilégier la première "importer des adresses email avec des attributs différents de votre système".
- Sélectionner la liste dans laquelle importer les nouveaux contacts.
- Sélectionner le fichier.
- Spécifier ce qui délimite les champs (TAB par défaut)
- Cocher "Résultat test:" pour avoir un aperçu de l'import.
- Cocher les autres options, notamment "Confirmer d'office".
- Cliquer sur "Importer"
Dans l'écran suivant:
- Cliquer sur remettre à zéro la session import pour revenir en arrière
- Ou sur confirmer l’import pour finir l'import
==exporter des utilisateurs==
Cela permet d'exporter la liste en format csv (important: sélectionner les dates). Avant d'ouvrir le fichier avec Excel, il faut modifier l'extension en .txt.
===Expédition===
==Fermer ou pas le navigateur?==
Lors de l'expédition des emails, le message suivant est affiché: //Vous pouvez cliquer sur le bouton Arrêt de votre navigateur sans crainte maintenant, un rapport sera envoyé par email à...//
En fait, cela dépend du type de serveur PHP (PHP-cgi ou PHP-cli). Avec PHP-cli vous pouvez suivre le conseil du message et fermer le navigateur. Mais si vous avez PHP-cgi, vous aurez probablement des arrêts causés par des 'timeouts'. Rafraîchir la fenêtre du navigateur (F5) chaque 20 minutes pourrait aider a maintenir le processus de l'envoi, mais si vous avez un grand nombre de messages il serait plus commode d'utiliser un 'cron job'.
Pour une explication plus approfondie, voyez:
- http://docs.phplist.com/PhpInterfacesInfo
- http://docs.phplist.com/ProcessQueueInfo
Pour connaitre la version el le type de serveur (PHP-cgi/PHP-cli), créer une page avec ce code :
%%(php)
%%
La mettre en ligne, et visualisez la (ligne : Server API).
==Problème d'exécution du script==
Il est possible que l'expédition des emails soit bloquée par une limite de temps imposée par le serveur d'hébergement.
Une cause possible est l'usage de 'batch processing' (MAILQUEUE_BATCH_SIZE) avec PHP-cgi sur le serveur. Cette combinaison peut causer des 'timeouts' et il faut recharger chaque batch, ou bien ne pas utiliser batch processing. Dans ce cas, essayer les modifications suivante dans le fichier ''config.php'' (lignes > 300) :
%%
# Désactiver batch processing:
define("MAILQUEUE_BATCH_SIZE", 0);
# Batch_period est sans éffet si batch processing est désactivé:
define("MAILQUEUE_BATCH_PERIOD",3600);
# Pause entre messages (en secondes) afin de
# ne pas envoyer plus que 400 messages par heure:
define('MAILQUEUE_THROTTLE',9);
# Autothrottle désactivé:
define('MAILQUEUE_AUTOTHROTTLE',0);
%%
Voir les messages suivant sur le forum :
http://forums.phplist.com/viewtopic.php?t=9631
http://forums.phplist.com/viewtopic.php?p=31090#31090
Le MAILQUEUE_THROTTLE est paramétré avec une valeur à 9 sec, ce qui correspond à 400 messages par heure (3600/400). Cette valeur dépend de l'hébergeur et peut être modifié en fonction.
Le problème que vous avez, peut aussi être causé par une demande trop grande des ressources du serveur c.a.d., que la demande faite par phplist sur les ressources du serveur MySql par exemple, dépasse la limite de demandes autorisé par l'hébergeur. Dans ce cas le programme qui contrôle l'usage des ressources des utilisateurs, arrêtera le script. Il faudrait contacter l'hébergeur et voir s'il est incliné a résoudre le problème.
Merci à H2B2 pour ces explications.
SI cela ne marche pas, c'est que votre hébergeur a mis des sécurités et restreint le temps d'exécution des scripts. C'est ce qui m'est arrivé chez 1&1. Deux solutions : rafraîchir la page toutes les 15 min, ou changer d'hébergement pour un serveur privé.
----
CategoryDocumentation