PhpMyNewsLetter 2.0

Support et annonces PhpMyNewsLetter.

Vous n'êtes pas identifié(e).

Annonce

Pour me permettre de mieux vous aider au mieux, merci d'être le plus précis possible en donnant :
- la version de phpmynewsletter utilisée
- votre hébergement : personnel, dédié, mutualisé
- votre hébergeur (OVH, free, Infomaniak, 1and1,...)
- votre OS : linux, windows
- version de PHP (5.3, 5.6, 7.0, hhvm...)
Toutes les réponses à mes questions qui sont sans retour de votre part seront considérées comme résolues !

#1 28-12-2016 11:41:00

RaphAstronome
Membre

[2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Bonjour,

J'ai fais la mise à jour vers la 2.0.4. Hébergement mutualisé OVH linux, PHP 5.6 .
La procédure automatique ne fonctionnant pas j'ai fait la mise à jour à la main.
J'ai aussi mis à jour la base de données avec les requêtes récupérés dans le script update.php

J'ai un petit soucis avec les "Abonnés en attente de confirmation" :
Le bouton "Supprimer cette adresse électronique" qui ne fonctionne pas, cela met une page blanche.
Par contre je peux forcer la confirmation de l'adresse puis la supprimer dans "Supprimer un abonné" sans problème.

Petite question en passant : les adresses dans "Gestion des adresses mails (abonnés) en erreur" ce vident après un certain temps ? Je ne vois pas d'option pour les retirer, juste "Restaurer".

Merci

PS : voici les commandes SQL telles que je les ai envoyés sur le serveur :

ALTER TABLE `pmn2_config` 
            CHANGE  `sending_method` `sending_method` ENUM( 'smtp','lbsmtp','php_mail','php_mail_infomaniak','smtp_gmail_tls',
					'smtp_gmail_ssl','smtp_mutu_ovh','smtp_mutu_1and1','smtp_mutu_gandi','smtp_mutu_online','smtp_mutu_infomaniak' );


ALTER TABLE `pmn2_config` ADD `smtp_port` VARCHAR(5) NOT NULL AFTER `smtp_host`;

ALTER TABLE `pmn2_config` 
            ADD  `table_email_deleted` VARCHAR( 255 ) NOT NULL DEFAULT '',
            ADD  `table_smtp` varchar(255) NOT NULL DEFAULT '',
            ADD  `alert_sub` ENUM(  '0',  '1' ) NOT NULL default '1',
            ADD  `active_tracking` enum('0','1') NOT NULL DEFAULT '1';

UPDATE `pmn2_config` SET table_email_deleted='pmn2_email_deleted',table_smtp='pmn2_smtp';

ALTER TABLE `pmn2_email`
            ADD `campaign_id` INT(7) DEFAULT NULL,
            ADD KEY `categorie` (`categorie`),
            ADD KEY `campaign_id` (`campaign_id`);


CREATE TABLE IF NOT EXISTS `pmn2_email_deleted` (
            `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
            `email` varchar(255) NOT NULL DEFAULT '',
            `list_id` int(5) unsigned NOT NULL DEFAULT '0',
            `hash` varchar(40) NOT NULL DEFAULT '',
            `error` enum('N','Y') NOT NULL DEFAULT 'N',
            `status` varchar(255) DEFAULT NULL,
            `type` enum('','autoreply','blocked','generic','soft','hard','temporary','unsub','by_admin') NOT NULL,
            `categorie` varchar(255) NOT NULL,
            `short_desc` text NOT NULL,
            `long_desc` text NOT NULL,
            `campaign_id` int(7) unsigned NOT NULL DEFAULT '0',
            PRIMARY KEY (`id`),
            UNIQUE KEY `unique_email_by_list` (`email`,`list_id`),
            KEY `hash` (`hash`),
            KEY `error` (`error`),
            KEY `status` (`status`),
            KEY `type` (`type`),
            KEY `categorie` (`categorie`),
            KEY `campaign_id` (`campaign_id`)
            ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `pmn2_smtp` (
            `smtp_id` int(7) NOT NULL AUTO_INCREMENT,
            `smtp_name` text NOT NULL,
            `smtp_url` varchar(255) NOT NULL,
            `smtp_user` text NOT NULL,
            `smtp_pass` text NOT NULL,
            `smtp_port` int(5) unsigned NOT NULL,
            `smtp_secure` text NOT NULL,
            `smtp_limite` int(4) unsigned NOT NULL,
            `smtp_used` int(4) unsigned NOT NULL,
            `smtp_date_create` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
            `smtp_date_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
            `id_use` int(6) unsigned NOT NULL DEFAULT '0',
            PRIMARY KEY (`smtp_id`),
            UNIQUE KEY `smtp_url` (`smtp_url`,`smtp_port`),
            KEY `smtp_used` (`smtp_used`),
            KEY `smtp_limite` (`smtp_limite`)
            ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

ALTER TABLE `pmn2_track`
            ADD `browser` varchar(150) NOT NULL,
            ADD `version` varchar(150) NOT NULL,
            ADD `platform` varchar(255) NOT NULL,
            ADD `useragent` text NOT NULL,
            ADD `devicetype` varchar(10) NOT NULL,
            ADD KEY `ip` (`ip`),
            ADD KEY `browser` (`browser`),
            ADD KEY `version` (`version`),
            ADD KEY `platform` (`platform`),
            ADD KEY `devicetype` (`devicetype`);

ALTER TABLE `pmn2_track_links` CHANGE `cpt` `cpt` INT( 7 ) UNSIGNED NOT NULL DEFAULT  '0';

Hors ligne

#2 28-12-2016 12:21:42

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Bonjour RaphAstronome,

Pour la mise à jour des tables, c'est OK.
Je vois que tu as contourné le problème, mais ça ne répond pas à la question !
Page blanche...
Je regarde de suite et te tiens informé.

Arnaud


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#3 28-12-2016 13:44:51

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

N'importe quoi Arnaud !
Désolé, en fait, c'était une écriture trop rapide...

Bref, après la ligne 246 dans le fichier include/lib/pmn_fonctions.php,

Tu vas ajouter :

function delete_subscriber_tmp($cnx, $table_email, $list_id, $del_addr, $table_email_deleted, $motif) {
    $CPTID = $cnx->query("SELECT count(*) AS CPTID 
            FROM $table_email
                WHERE list_id = ".$list_id." 
                    AND email = ".escape_string($cnx,$del_addr))->fetch();
    if ( $CPTID['CPTID'] > 0 ) {
        if (!$cnx->query("INSERT IGNORE INTO $table_email_deleted (email, list_id, hash)
                              SELECT email, list_id, hash 
                                  FROM $table_email 
                                      WHERE email=".escape_string($cnx,$del_addr)."
                                        AND list_id=".$list_id)){
            return false;
        } else {
            $cnx->query("UPDATE $table_email_deleted 
                             SET error='Y', type='".($motif!=''?$motif:'unsub')."'
                                 WHERE email=".escape_string($cnx,$del_addr)."
                                     AND list_id=".$list_id);
            if (!$cnx->query("DELETE FROM $table_email 
                    WHERE list_id = ".$list_id." 
                        AND email=".escape_string($cnx,$del_addr))) {
                return false;
            } else {
                return true;
            }
        }
    } else {
        return 5;
    }
}

Et dans le fichier op.php, ligne 100, tu vas remplacer :

$deleted_temp = delete_subscriber($cnx,$row_config_globale['table_temp'],$list_id,$del_tmpaddr,$row_config_globale['table_email_deleted'],'by_admin');

par

$deleted_temp = delete_subscriber_tmp($cnx,$row_config_globale['table_temp'],$list_id,$del_tmpaddr,$row_config_globale['table_email_deleted'],'by_admin');

Toutes mes confuses, je publie de suite le correctif, et merci pour le report de bug

Bonne journée


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#4 28-12-2016 15:11:35

RaphAstronome
Membre

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Le problème semble similaire.

J'ai mis mon hébergement en mode "développement".
Avec le patch j'obtiens :

Fatal error: Call to undefined function delete_subscriber_tmp() in /(dossier)/op.php on line 126

Sans l'erreur est tout autre et semble être dû à un soucis de SQL :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'field list'' in /(dossier)/include/db/PDOExtended/PDOExtended.php:88 Stack trace: #0 [internal function]: PDO->query('SELECT count(id...') #1 /(dossier)/include/db/PDOExtended/PDOExtended.php(88): call_user_func_array(Array, Array) #2 /(dossier)/include/lib/pmn_fonctions.php(222): PDOExtended->__call('query', Array) #3 /(dossier)/include/lib/pmn_fonctions.php(222): PDOExtended->query('SELECT count(id...') #4 /(dossier)/op.php(126): delete_subscriber(Object(PDOExtended), 'pmn2_temp', '1', '(mail_à_suppr)....', 'pmn2_email_dele...', 'by_admin') #5 /(dossier)/index.php(28): include('/home/aafcwqui/...') #6 {main} thrown in /(dossier)/include/db/PDOExtended/PDOExtended.php on line 88

EDIT : oups, j'ai pas tout fait !

EDIT 2 : ok, en fait cela fonctionne big_smile (je garde mon message d'origine pour référance mais c'est ok).
Juste un détail : dans op.php la ligne 100 est totalement autre :

                        $subscriber_op_msg_a = "<h4 class='alert_error'>".tr("ERROR_ADDING_SUBSCRIBER"," <b>$add_addr</b>").".</h4>";

C'est la ligne 126 qu'il m'a fallu modifier.

Dernière modification par RaphAstronome (28-12-2016 15:20:09)

Hors ligne

#5 28-12-2016 15:34:48

RaphAstronome
Membre

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Dernier détail : lorsque l'on rédige un message et que l'on clique sur "Réinitialiser" on obtient une page avec l'entête et le menu normal mais avec marqué "oups !".

J'obtiens aussi un petit warning dans l'acceuil "Chiffres clé, toutes listes confondues" :
Warning: reset() expects parameter 1 to be array, null given in /(dossier)/include/listes.php on line 251
(les graphiques fonctionnent sans problème)

Même genre de chose dans "Tracking, suivi des envois" :
Warning: Division by zero in /home/aafcwqui/www/newsl/include/tracking.php on line 231
Warning: Division by zero in /home/aafcwqui/www/newsl/include/tracking.php on line 338
(note : le tracking est activé et ce même en 2.0.3 où j'avais retouché le code)

Sinon comment fait t'on pour vider la liste des adresses mails (abonnés) en erreur ?

Hors ligne

#6 30-12-2016 14:04:02

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Est-ce que tu pourrais télécharger la dernière version (d'hier) et l'installer via ftp par dessus celle que tu as stp ?
Le reset listes ligne 251 est corrigé depuis quelques jours.

Merci d'un retour


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#7 30-12-2016 14:06:27

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Sinon : la liste des mails en erreur n'est pas vidable, au motif suivant :
Elle permet de constituer une base de connaissance qui permet d'éviter d'ajouter les mails qui sont en erreur (en gros, permet d'éviter les inscriptions pouvant être générées par des robots)...

Ceci dit : je pourrais très bien ajouter une option d'affichage (ou non) de la liste. Et cette liste permet des corrections... Bien pratique très souvent !


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#8 30-12-2016 16:12:47

RaphAstronome
Membre

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

J'ai mis en place la dernière version mais il est apparu une erreur bloquante :

Parse error: syntax error, unexpected '>' in /home/aafcwqui/www/newsl/include/listes.php on line 99

La ligne :

            if (count($results_stat_platform)&&$total>0 >0) {

(j'ai retiré me ">0" en trop)

Sinon j'ai toujours "Warning: reset() expects parameter 1 to be array, null given in /home/aafcwqui/www/newsl/include/listes.php on line 251" les autres sont partis.

Autre Warning en exportant la liste des abonnés ajouté au début du fichier récupéré :

<br />
<b>Warning</b>:  Missing argument 4 for get_newsletter_total_subscribers(), called in /home/aafcwqui/www/newsl/export.php on line 17 and defined in <b>/home/aafcwqui/www/newsl/include/lib/pmn_fonctions.php</b> on line <b>434</b><br />

Hors ligne

#9 30-12-2016 16:37:32

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Tu peux supprimer la ligne 251 directement, et je reconnais l'erreur...
Je m'occupe de la dernière après


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#10 30-12-2016 16:45:13

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

modifie la ligne 17 de export.php
par :

$list_total_subscribers=get_newsletter_total_subscribers($cnx,$row_config_globale['table_email'],$list_id,-1);

Le -1 à la fin, c'est pour exporter toute la liste.


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#11 30-12-2016 16:46:46

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

La ligne :

if (count($results_stat_platform)&&$total>0 >0) {

à corriger par :

if (count($results_stat_platform) >0 &&$total>0 ) {

Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

#12 30-12-2016 16:48:38

Arnaud
Administrateur

Re : [2.0.4]Bouton "Supprimer cette adresse électronique" ne fonctionne pas

Le zip est à jour, MERCI  wink


Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide  wink

Hors ligne

Pied de page des forums

Propulsé par FluxBB