larger smaller normal text version of this page
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
 ...

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
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 :
<TR valign="top" background="images/masthead.png">
	<TD colSpan=2 height="63">&nbsp;</TD>
	<TD width="132" align=left valign="bottom"><SPAN class=webblermenu><a href="http://www.fbp.fr" target="_blank">FBP</a></SPAN></TD>
</TR>
<TR>
	<TD bgColor="#000000"><IMG height=1 alt="" src="images/transparent.png" width=20 border=0></TD>
	<TD bgColor="#000000"><IMG height=1 alt="" src="images/transparent.png" width=555 border=0></TD>
	<TD bgColor="#000000"><IMG height=1 alt="" src="images/transparent.png" width=132 border=0></TD>
</TR>


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:
if (REGISTER) {
$PoweredByImage = '<p align=left><a href="http://www.phplist.com"><img src="http://phplist.tincan.co.uk/images/'.$v.'/power-phplist.png" width=70 height=30 title="Powered by PHPlist version '.$v.', &copy; tincan ltd" alt="Powered by PHPlist'.$v.', &copy tincan ltd" border="0"></a></p>';
} else {
  $PoweredByImage = '<p align=left><a href="http://www.phplist.com"><img src="images/power-phplist.png" width=70 height=30 title="Powered by PHPlist version '.$v.', &copy; tincan ltd" alt="Powered by PHPlist'.$v.', &copy tincan ltd" border="0"></a></p>';
}


Modifications

a) Traductions :
Page: admin/defaultconfig.inc Lignes : 128 à 426
Pour traduire les texte de la page "configurer phplist"
Page : admin/subscribelib2.php  Ligne : 271 et 272
print '<p><b> Vous &ecirc;tes connect&eacute; avec le login You are logged in as '.$_SESSION["logindetails"]["adminname"].'</b></p>';
print '<p><a href="'.$adminpages.'"> Retour &agrave; la page d&rsquo;administration Back to the main admin page</a></p>';
    Ligne : 278 et 279
print '<p>'.$GLOBALS['I18N']->get(' Cet email est sur liste noire (blacklist), une demande de confirmation &agrave; &eacute;t&eacute; exp&eacute;di&eacute;e.').'<br/>';
print $GLOBALS['I18N']->get(' Si l&rsquo;utilisateur confirme l&rsquo;inscription, il sera retir&eacute; de la liste noire (blacklist).').'</p>';
    Ligne : 328
print "<p>L'utilisateur a &eacute;t&eacute; ajout&eacute; et confirm&eacute;</p>";
    Ligne : 393 à 396
      Fatal_Error("Cannot change to that email address.
      <br/>This email already exists.
      <br/>Please use the preferences URL for this email to make updates.
      <br/>Click <a href=\""
.getConfig("preferencesurl")."&email=$email\">here</a> to request your personal location");
    Ligne : 701
'Confirmez le courriel',htmlspecialchars(stripslashes($_REQUEST["emailconfirm"])),$textlinewidth,'Confirm email');

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 &eacute; ?"),
        "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&eacute;s pour cet utilisateur"),
        "entered" => array("datetime", "sysexp: Cr&eacute;&eacute; le"),
        "modified" => array("timestamp", "sysexp: Derni&egrave;re modification le"),
        "uniqid" => array("varchar(255)","sys: Identifiant unique de l&rsquo;utilisateur"),
        "unique_1" => array("(email)","sys:unique"),
        "htmlemail" => array("tinyint default 1"," Envoyer les emails en HTML &agrave; cet utilisateur"),
        "subscribepage" => array("integer","sysexp: Page de souscription utilis&eacute;e"),
        "rssfrequency" => array("varchar(100)"," Fr&eacute;quence RSS"),
        "password" => array("varchar(255)","Password"),
        "passwordchanged" => array("date","sys: Derni&egrave;re modification du mot de passe"),
        "disabled" => array("tinyint default 0"," Est ce que ce compte est d&eacute;sactiv&eacute; ?"),
        "extradata" => array("text"," Donn&eacute;es suppl&eacute;mentaires"),
        "foreignkey" => array("varchar(100)"," Foreign Key "),

Page : admin/lan/fr/statsmgt.php    Ligne : à rajouter
'Overview' => 'Vue d\'ensemble',

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&egrave;le ou copier le texte dans la fen&ecirc;tre ci-dessous',
'Template file.' => 'Mod&egrave;le &agrave; charger',

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 "<br />".PageLink2("members","Retour &agrave; la liste des membres Back to Members of this list","id=$list")."\n";
if (isset($start))
  echo "<br />".PageLink2("users","Retour &agrave; la liste des utilisateurs Back to the list of users","start=$start&unconfirmed=".$_GET["unconfirmed"])."\n";
if ($find)
  echo "<br />".PageLink2("users","Retour au r&eacute;sultat des recherches Back to the search results","start=$start&find=".urlencode($find)."&findby=".urlencode($findby)."&unconfirmed=".$_GET["unconfirmed"]."\n");

  echo "<br/>".PageLink2("$returnpage$more","Retour &agrave; Return to $returnpage");

Page : admin/commonlib/pages/users.php  Ligne : 213
printf($GLOBALS['I18N']->get('%s utilisateurs au total users in total'),$total);

Page : index.php    Ligne : 453 à 457
    $html .= '<div class="adminmessage"><p><b>Vous &ecirc;tes logu&eacute; comme administrateur ('.$_SESSION["logindetails"]["adminname"].') de ce syst&egrave;me phplist</b></p>';
    $html .= '<p>Vous avez donc la possibilit&eacute; d\'acc&eacute;der &agrave; ces choix, ce qui n\'est pas le cas pour les utilisateurs arrivant sur cette page.</p>';
    $html .= '<p><a href="'.$GLOBALS['adminpages'].'">Retour &agrave; la zone d\'administration</a></p>';
    $html .= '<p><b>Please choose</b>: <br/><input type=radio name="makeconfirmed" value="1"> Confirmer imm&eacute;diatement cet utilisateur
      <br/><input type=radio name="makeconfirmed" value="0" checked> Envoyer &agrave; cet utilisateur une demande de confirmation par email</p></div>'
;



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:
<h3>Risques dans le bâtiment :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>
<h3>Risques informatiques :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>
<h3>Risques pour l'environnement :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>
<h3>Risques machine :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>
<h3>Risques pour l'Homme au travail :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>
<h3>Général :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>
<h3>Institutionnels :</h3>
<ul>
	<li><p><a href=""></a></p></li>
</ul>


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
phpinfo();
?>

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
Page was generated in 0.5599 seconds