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 !

#1552 Re : Support général » modifier une liste. » 05-04-2015 08:15:53

OK OK !
Alors non, va dans configuration de la newsletter, le premier champ est "NOM DE LA NEWSLETTER", et là tu peux le modifier, puis enregistrer les réglages.

Mais surtout ne pas hésiter à demander !

#1553 Re : Support général » modifier une liste. » 05-04-2015 08:15:53

Quelques précisions ?
Ou des exemples ?

#1556 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

dcrea a écrit :

ouep c'est drôlement chouette de votre part

Je parlais surtout du site  wink

#1557 Re : Bugs » [Résolu] Écriture impossible dans admin/import ! ! » 08-03-2015 19:03:27

Mais de rien !

Bon usage, et surtout ne pas hésiter à revenir !

#1558 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

Sinon, je me suis inscrit, et réinscrit, ça fonctionne très bien ! En 2 coups de cuillère à pot, c'est presque fini... Pas mal non ?  wink  wink

#1559 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

dcrea a écrit :

alors ca fonctionne mais si je peux me permettre ca m'enlève une partie du site coté droit et footer !

C'est pour cela que c'est long !
En fait, il faut enlever les balises de style de la portion de code que j'ai donnée, et l'intégrer proprement dans l'environnement existant...

#1562 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

J'ai été trop vite, il faut enlever le session_start(); de la ligne 2, juste après le <?php

#1564 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

Non, dans index.php, le fichier d'accueil du portail.
Pour le action du formulaire, il faut aussi ne rien mettre, et donc avoir :

<form action='' method='post'>
<input type='text' name='email_addr' value='' size='30'>
<input type='hidden' name='list_id' value='1'>
<input type='hidden' name='op' value='join'>
<input type='submit' value='souscrire'>
</form>

et donc supprimer le script appelé... Ça va pas être de tout repos...

#1565 Re : Bugs » [résolu] erreur php dans online.php » 12-03-2015 09:27:22

Sinon, et pour répondre au problème initial, la ligne 28 est à corriger par :

$unsubLink = "<br /><div align='center' style='padding-top:10px;font-size:10pt;font-family:arial,helvetica,sans-serif;padding-bottom:10px;color:#878e83;'><hr noshade='' color='#D4D4D4' width='90%' size='1'>Je ne souhaite plus recevoir la newsletter : <a href='" . $row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?i=$i&list_id=$l&op=leave&email_addr=$e&h=$h' style='' target='_blank'>d&eacute;sinscription / unsubscribe</a><br /><a href='http://www.phpmynewsletter.com/' style='' target='_blank'>Phpmynewsletter 2.0</a></div></body></html>";

#1566 Re : Bugs » [résolu] erreur php dans online.php » 12-03-2015 09:27:22

Re ouh là là !!!
J'ai cliqué et j'ai un magnifique  :

This site is protected by CrawlProtect !!!

Your visit has been blocked.

If you think that this shouldn't have been the case, please contact the webmaster.

Pas bon du tout ! Un prospect qui reçoit ton mail, clique, et finalement part, et se désinscrit ! A corriger au plus vite.
Sinon, dans l'entête du message, il est écrit comme expéditeur : Admin... Un mail se personnalise, c'est urgent de corriger tout celà...

#1568 Re : Bugs » [résolu] erreur php dans online.php » 12-03-2015 09:27:22

Je cherche et je me rends compte que je ne trouve pas ce mail, tu peux me le renvoyer STP ?

#1569 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

Voilà qui est fait.

Je n'ai pas le code source de la page index, mais pour inclure la gestion du code d'inscription, ça va être un peu compliqué, et ne rentre pas vraiment dans mes attributions ici, mais en gros :
Tout le code :

<?php
session_start();
include("_loader.php");
include("include/lib/class.phpmailer.php");
if (!function_exists('iconv') && function_exists('libiconv')) {
    function iconv($input_encoding, $output_encoding, $string) {
        return libiconv($input_encoding, $output_encoding, $string);
    }
}
if (!function_exists('iconv') && !function_exists('libiconv')) {
    include_once("include/lib/ConvertCharset.class.php");
    function iconv($input_encoding, $output_encoding, $string) {
        $converter = new ConvertCharset();
        return $converter->Convert($string, $input_encoding, $output_encoding);
    }
}
$cnx->query("SET NAMES UTF8");
$row_config_globale = $cnx->SqlRow("SELECT * FROM $table_global_config");
include("include/lang/" . $row_config_globale['language'] . ".php");
$list_id    = (!empty($_POST['list_id']) ? $_POST['list_id'] : "");
$list_id    = (empty($list_id) && !empty($_GET['list_id']) ? $_GET['list_id'] : $list_id);
$email_addr = (!empty($_POST['email_addr']) ? $_POST['email_addr'] : "");
$email_addr = (empty($email_addr) && !empty($_GET['email_addr']) ? $_GET['email_addr'] : $email_addr);
$op         = (!empty($_POST['op']) ? $_POST['op'] : "");
$op         = (empty($op) && !empty($_GET['op']) ? $_GET['op'] : $op);
$hash       = (!empty($_POST['hash']) ? $_POST['hash'] : "");
$hash       = (empty($hash) && !empty($_GET['hash']) ? $_GET['hash'] : $hash);
$i          = (!empty($_POST['i']) ? $_POST['i'] : "");
$i          = (empty($i) && !empty($_GET['i']) ? $_GET['i'] : "");
$h          = (!empty($_POST['h']) ? $_POST['h'] : "");
$h          = (empty($h) && !empty($_GET['h']) ? $_GET['h'] : "");
if ($op == "leave" && !$row_config_globale['unsub_validation']) {
    $op = "leave_direct";
} else if ($op == "leave_direct" && $row_config_globale['unsub_validation']) {
    $op = "leave";
} else if ($op == "join" && !$row_config_globale['sub_validation']) {
    $op = "join_direct";
} else if ($op == "join_direct" && $row_config_globale['sub_validation']) {
    $op = "join";
}
?>
<!DOCTYPE HTML>
<html lang="fr">
    <head>
        <meta charset="utf-8" />
        <title><?=translate("NEWSLETTER_TITLE");?></title>
        <link rel="stylesheet" href="css/layout.css" type="text/css" media="screen" />
        <!--[if lte IE 8]>
        <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen" />
        <script src="js/html5shiv.js"></script><![endif]-->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script>!window.jQuery && document.write(unescape('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script>
    </head>
    <body>
        <section id="main" class="column">
            <article class="module width_full">
            <?php
            if (isset($list_id) && !empty($list_id) && isValidNewsletter($cnx, $row_config_globale['table_listsconfig'], $list_id) && isset($email_addr)) {
                if (!validEmailAddress($email_addr)) {
                    echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                    echo "<h4 class='alert_error'>" . translate("EMAIL_ADDRESS_NOT_VALID") . "</div>";
                    exit();
                }
                switch ($op) {
                    case "join":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $c = (empty($c) && !empty($_POST['c']) ? $_POST['c'] : "");
                        if (empty($c)||($_POST['c']!=$_SESSION['c'])) {
                            $_SESSION['new_sub']=$email_addr;
                            echo '<form method="post" action="">
                                    <div class="module_content">
                                        <fieldset>
                                            <label>Confirmer votre inscription en saisissant le code ci-dessous :</label>
                                            <label><img src="c.php" /></label>
                                            <input type="text" name="c" value="" />
                                            <input type="hidden" name="email_addr" value="'.$email_addr.'" />
                                            <input type="hidden" name="list_id" value="'.$list_id.'" />
                                            <input type="hidden" name="op" value="join" />
                                        </fieldset>
                                    </div>
                                    <footer>
                                        <div class="submit_link">
                                            <input type="submit" value="OK">
                                        </div>
                                    </footer>
                                </form>';
                        } elseif ($_POST['c']==$_SESSION['c']) {
                            if ($row_config_globale['mod_sub']=="0") {
                                $add  = addSubscriberTemp($cnx, $row_config_globale['table_email'], $row_config_globale['table_temp'], $list_id, $email_addr);
                                $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                                if (strlen($add) > 3) {
                                    $body = $news['subscription_body'];
                                    $body .= "\n\n" . translate("SUBSCRIPTION_MAIL_BODY") . ":\n";
                                    $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_join&email_addr=" . urlencode($email_addr) . "&hash=$add&list_id=$list_id'>Je m'abonne</a>";
                                    $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['subscription_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['subscription_subject']));
                                    $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                                    $mail = sendEmail($row_config_globale['sending_method'], $email_addr, $news['from_addr'], $news['from_name'], $subj, $body, $row_config_globale['smtp_auth'], $row_config_globale['smtp_host'], $row_config_globale['smtp_login'], $row_config_globale['smtp_pass'], $row_config_globale['charset']);
                                    echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_SEND_CONFIRM_MESSAGE") . "</h4>";
                                } elseif ($add ==0)
                                    echo "<h4 class='alert_error'>" . translate("SUBSCRIPTION_ALREADY_SUBSCRIBER") . "</h4>";
                                else
                                    echo "<h4 class='alert_error'>" . translate("ERROR_SQL2") . "</h4>";
                            } elseif ($row_config_globale['mod_sub']=="1") {
                                $add = addSubscriberMod($cnx, $row_config_globale['table_email'], $row_config_globale['table_sub'], $list_id, $email_addr);
                                if ($add)
                                    echo "<h4 class='alert_success'>" . translate("Subscription requested recorded, waiting for moderation") . "</h4>";
                                else if ($add == 0)
                                    echo "<h4 class='alert_error'>" . translate("You are already a subscriber") . "</h4>";
                                else
                                    echo "<h4 class='alert_error'>" . translate("Error while SQL query") . "</h4>";
                            }
                            echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                            echo '<div class="spacer"></div>';
                        }
                    break;
                    case "leave":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                        $hash = isValidSubscriber($cnx, $row_config_globale['table_email'], $list_id, $email_addr);
                        if ($hash==$h&&!empty($hash)&&strlen($hash)==32) {
                            $body = $news['quit_body'];
                            $body .= "\n\n" . translate("UNSUBSCRIPTION_MAIL_BODY") . " :\n";
                            $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_leave&email_addr=" . urlencode($email_addr) . "&hash=$hash&list_id=$list_id&i=$i'>Je me désabonne</a>";
                            $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['quit_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['quit_subject']));
                            $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                            if (sendEmail($row_config_globale['sending_method'],$email_addr,$news['from_addr'],$news['from_name'],$subj,
                                $body,$row_config_globale['smtp_auth'],$row_config_globale['smtp_host'],$row_config_globale['smtp_login'],
                                $row_config_globale['smtp_pass'],$row_config_globale['charset'])){
                                echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_SEND_CONFIRM_MESSAGE") . "</h4>";
                            } else {
                                echo "<h4 class='alert_error'>" . translate("ERROR_SENDING_CONFIRM_MAIL") . "</h4>";
                            }
                        } else {
                            echo "<h4 class='alert_error'>" . translate("You are not a subscriber of this newsletter") . "</h4>";
                        }
                        echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                        echo '<div class="spacer"></div>';
                    break;
                    case "confirm_join":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $add = addSubscriber($cnx, $row_config_globale['table_email'], $row_config_globale['table_temp'], $list_id, $email_addr, $hash);
                        if ($add==false) {
                            echo "<h4 class='alert_error'>" . translate("SUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS") . "! </h4>";
                        } elseif ($add==true) {
                            $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                            $body = $news['welcome_body'];
                            $body .= "\n\n" . translate("SUBSCRIPTION_UNSUBSCRIBE_LINK") . ":\n";
                            $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_leave&email_addr=" . urlencode($email_addr) . "&hash=$hash&list_id=$list_id'>Je confirme mon désabonnement</a>";
                            $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['welcome_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['welcome_subject']));
                            $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                            $mail = sendEmail($row_config_globale['sending_method'], $email_addr, $news['from_addr'], $news['from_name'], $subj, $body, $row_config_globale['smtp_auth'], $row_config_globale['smtp_host'], $row_config_globale['smtp_login'], $row_config_globale['smtp_pass'], $row_config_globale['charset']);
                            echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_FINISHED") . "</h4>";
                        } else {
                            echo "<h4 class='alert_error'>" . translate("ERROR_UNKNOWN") . "</h4>";
                        }
                        echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                        echo '<div class="spacer"></div>';
                    break;
                    case "confirm_leave":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $rm = removeSubscriber($cnx, $row_config_globale['table_email'], $row_config_globale['table_send'], $list_id, $email_addr, $hash, $i);
                        if ($rm == 1) {
                            echo "<h4 class='alert_success'>" . translate("UNSUBSCRIPTION_FINISHED") . ".</h4>";
                        } else if ($rm == -1) {
                            echo "<h4 class='alert_error'>" . translate("UNSUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS") . "</h4>";
                        } else {
                            echo "<h4 class='alert_error'>" . translate("ERROR_UNKNOWN") . "</h4>";
                        }
                        echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                        echo '<div class="spacer"></div>';
                    break;
                    case "join_direct":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        if (!$row_config_globale['sub_validation']) {
                            $add = addSubscriberDirect($cnx, $row_config_globale['table_email'], $list_id, $email_addr);
                            if($add){
                                $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                                $body = $news['welcome_body'];
                                $body .= "\n\n" . translate("UNSUBSCRIPTION_MAIL_BODY") . ":\n";
                                $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_leave&email_addr=" . urlencode($email_addr) . "&hash=$add&list_id=$list_id'>Je me désabonne</a>";
                                $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['welcome_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['welcome_subject']));
                                $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                                $mail = sendEmail($row_config_globale['sending_method'],$email_addr,$news['from_addr'], $news['from_name'], $subj, $body, $row_config_globale['smtp_auth'], $row_config_globale['smtp_host'], $row_config_globale['smtp_login'], $row_config_globale['smtp_pass'], $row_config_globale['charset']);
                                echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_FINISHED") . "</h4>";
                            } else {
                                echo "<h4 class='alert_error'>" . translate("SUBSCRIPTION_ALREADY_SUBSCRIBER") . "</h4>";
                            } 
                        }
                        echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                        echo '<div class="spacer"></div>';
                    break;
                    case "leave_direct":
                        echo '<header><h3>'.translate("UNSUBSCRIPTION_TITLE").'</h3></header>';
                        if (!$row_config_globale['unsub_validation']) {
                            $rm = removeSubscriberDirect($cnx, $row_config_globale['table_email'], $list_id, $email_addr);
                            if ($rm) {
                                echo "<h4 class='alert_success'>" . translate("UNSUBSCRIPTION_FINISHED") . ".</h4>";
                            } else if ($rm == -1) {
                                echo "<h4 class='alert_error'>" . translate("UNSUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS") . "</h4>";
                            } else {
                                echo "<h4 class='alert_error'>" . translate("ERROR_UNKNOWN") . "</h4>";
                            }
                        }
                        echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                        echo '<div class="spacer"></div>';
                    break;
                    default:
                        echo '<h4 class="alert_info">Vous pouvez fermer cette fenêtre</h4>';
                        echo '<div class="spacer"></div>';
                    break;
                }
            }
            ?>
            </article>
        </section>
    </body>
</html>

va être à adapter à peu près comme cela :

<?php
session_start();
include("mynewsletter/_loader.php");
include("mynewsletter/include/lib/class.phpmailer.php");
if (!function_exists('iconv') && function_exists('libiconv')) {
    function iconv($input_encoding, $output_encoding, $string) {
        return libiconv($input_encoding, $output_encoding, $string);
    }
}
if (!function_exists('iconv') && !function_exists('libiconv')) {
    include_once("mynewsletter/include/lib/ConvertCharset.class.php");
    function iconv($input_encoding, $output_encoding, $string) {
        $converter = new ConvertCharset();
        return $converter->Convert($string, $input_encoding, $output_encoding);
    }
}
$cnx->query("SET NAMES UTF8");
$row_config_globale = $cnx->SqlRow("SELECT * FROM $table_global_config");
include("mynewsletter/include/lang/" . $row_config_globale['language'] . ".php");
$list_id    = (!empty($_POST['list_id']) ? $_POST['list_id'] : "");
$list_id    = (empty($list_id) && !empty($_GET['list_id']) ? $_GET['list_id'] : $list_id);
$email_addr = (!empty($_POST['email_addr']) ? $_POST['email_addr'] : "");
$email_addr = (empty($email_addr) && !empty($_GET['email_addr']) ? $_GET['email_addr'] : $email_addr);
$op         = (!empty($_POST['op']) ? $_POST['op'] : "");
$op         = (empty($op) && !empty($_GET['op']) ? $_GET['op'] : $op);
$hash       = (!empty($_POST['hash']) ? $_POST['hash'] : "");
$hash       = (empty($hash) && !empty($_GET['hash']) ? $_GET['hash'] : $hash);
$i          = (!empty($_POST['i']) ? $_POST['i'] : "");
$i          = (empty($i) && !empty($_GET['i']) ? $_GET['i'] : "");
$h          = (!empty($_POST['h']) ? $_POST['h'] : "");
$h          = (empty($h) && !empty($_GET['h']) ? $_GET['h'] : "");
if ($op == "leave" && !$row_config_globale['unsub_validation']) {
    $op = "leave_direct";
} else if ($op == "leave_direct" && $row_config_globale['unsub_validation']) {
    $op = "leave";
} else if ($op == "join" && !$row_config_globale['sub_validation']) {
    $op = "join_direct";
} else if ($op == "join_direct" && $row_config_globale['sub_validation']) {
    $op = "join";
}
?>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <section id="main" class="column">
            <article class="module width_full">
            <?php
            if (isset($list_id) && !empty($list_id) && isValidNewsletter($cnx, $row_config_globale['table_listsconfig'], $list_id) && isset($email_addr)) {
                if (!validEmailAddress($email_addr)) {
                    echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                    echo "<h4 class='alert_error'>" . translate("EMAIL_ADDRESS_NOT_VALID") . "</div>";
                    exit();
                }
                switch ($op) {
                    case "join":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $c = (empty($c) && !empty($_POST['c']) ? $_POST['c'] : "");
                        if (empty($c)||($_POST['c']!=$_SESSION['c'])) {
                            $_SESSION['new_sub']=$email_addr;
                            echo '<form method="post" action="">
                                    <div class="module_content">
                                        <fieldset>
                                            <label>Confirmer votre inscription en saisissant le code ci-dessous :</label>
                                            <label><img src="c.php" /></label>
                                            <input type="text" name="c" value="" />
                                            <input type="hidden" name="email_addr" value="'.$email_addr.'" />
                                            <input type="hidden" name="list_id" value="'.$list_id.'" />
                                            <input type="hidden" name="op" value="join" />
                                        </fieldset>
                                    </div>
                                    <footer>
                                        <div class="submit_link">
                                            <input type="submit" value="OK">
                                        </div>
                                    </footer>
                                </form>';
                        } elseif ($_POST['c']==$_SESSION['c']) {
                            if ($row_config_globale['mod_sub']=="0") {
                                $add  = addSubscriberTemp($cnx, $row_config_globale['table_email'], $row_config_globale['table_temp'], $list_id, $email_addr);
                                $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                                if (strlen($add) > 3) {
                                    $body = $news['subscription_body'];
                                    $body .= "\n\n" . translate("SUBSCRIPTION_MAIL_BODY") . ":\n";
                                    $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_join&email_addr=" . urlencode($email_addr) . "&hash=$add&list_id=$list_id'>Je m'abonne</a>";
                                    $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['subscription_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['subscription_subject']));
                                    $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                                    $mail = sendEmail($row_config_globale['sending_method'], $email_addr, $news['from_addr'], $news['from_name'], $subj, $body, $row_config_globale['smtp_auth'], $row_config_globale['smtp_host'], $row_config_globale['smtp_login'], $row_config_globale['smtp_pass'], $row_config_globale['charset']);
                                    echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_SEND_CONFIRM_MESSAGE") . "</h4>";
                                } elseif ($add ==0)
                                    echo "<h4 class='alert_error'>" . translate("SUBSCRIPTION_ALREADY_SUBSCRIBER") . "</h4>";
                                else
                                    echo "<h4 class='alert_error'>" . translate("ERROR_SQL2") . "</h4>";
                            } elseif ($row_config_globale['mod_sub']=="1") {
                                $add = addSubscriberMod($cnx, $row_config_globale['table_email'], $row_config_globale['table_sub'], $list_id, $email_addr);
                                if ($add)
                                    echo "<h4 class='alert_success'>" . translate("Subscription requested recorded, waiting for moderation") . "</h4>";
                                else if ($add == 0)
                                    echo "<h4 class='alert_error'>" . translate("You are already a subscriber") . "</h4>";
                                else
                                    echo "<h4 class='alert_error'>" . translate("Error while SQL query") . "</h4>";
                            }
                            echo '<div class="spacer"></div>';
                        }
                    break;
                    case "leave":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                        $hash = isValidSubscriber($cnx, $row_config_globale['table_email'], $list_id, $email_addr);
                        if ($hash==$h&&!empty($hash)&&strlen($hash)==32) {
                            $body = $news['quit_body'];
                            $body .= "\n\n" . translate("UNSUBSCRIPTION_MAIL_BODY") . " :\n";
                            $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_leave&email_addr=" . urlencode($email_addr) . "&hash=$hash&list_id=$list_id&i=$i'>Je me désabonne</a>";
                            $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['quit_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['quit_subject']));
                            $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                            if (sendEmail($row_config_globale['sending_method'],$email_addr,$news['from_addr'],$news['from_name'],$subj,
                                $body,$row_config_globale['smtp_auth'],$row_config_globale['smtp_host'],$row_config_globale['smtp_login'],
                                $row_config_globale['smtp_pass'],$row_config_globale['charset'])){
                                echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_SEND_CONFIRM_MESSAGE") . "</h4>";
                            } else {
                                echo "<h4 class='alert_error'>" . translate("ERROR_SENDING_CONFIRM_MAIL") . "</h4>";
                            }
                        } else {
                            echo "<h4 class='alert_error'>" . translate("You are not a subscriber of this newsletter") . "</h4>";
                        }
                        echo '<div class="spacer"></div>';
                    break;
                    case "confirm_join":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $add = addSubscriber($cnx, $row_config_globale['table_email'], $row_config_globale['table_temp'], $list_id, $email_addr, $hash);
                        if ($add==false) {
                            echo "<h4 class='alert_error'>" . translate("SUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS") . "! </h4>";
                        } elseif ($add==true) {
                            $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                            $body = $news['welcome_body'];
                            $body .= "\n\n" . translate("SUBSCRIPTION_UNSUBSCRIBE_LINK") . ":\n";
                            $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_leave&email_addr=" . urlencode($email_addr) . "&hash=$hash&list_id=$list_id'>Je confirme mon désabonnement</a>";
                            $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['welcome_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['welcome_subject']));
                            $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                            $mail = sendEmail($row_config_globale['sending_method'], $email_addr, $news['from_addr'], $news['from_name'], $subj, $body, $row_config_globale['smtp_auth'], $row_config_globale['smtp_host'], $row_config_globale['smtp_login'], $row_config_globale['smtp_pass'], $row_config_globale['charset']);
                            echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_FINISHED") . "</h4>";
                        } else {
                            echo "<h4 class='alert_error'>" . translate("ERROR_UNKNOWN") . "</h4>";
                        }
                        echo '<div class="spacer"></div>';
                    break;
                    case "confirm_leave":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        $rm = removeSubscriber($cnx, $row_config_globale['table_email'], $row_config_globale['table_send'], $list_id, $email_addr, $hash, $i);
                        if ($rm == 1) {
                            echo "<h4 class='alert_success'>" . translate("UNSUBSCRIPTION_FINISHED") . ".</h4>";
                        } else if ($rm == -1) {
                            echo "<h4 class='alert_error'>" . translate("UNSUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS") . "</h4>";
                        } else {
                            echo "<h4 class='alert_error'>" . translate("ERROR_UNKNOWN") . "</h4>";
                        }
                        echo '<div class="spacer"></div>';
                    break;
                    case "join_direct":
                        echo '<header><h3>'.translate("SUBSCRIPTION_TITLE").'</h3></header>';
                        if (!$row_config_globale['sub_validation']) {
                            $add = addSubscriberDirect($cnx, $row_config_globale['table_email'], $list_id, $email_addr);
                            if($add){
                                $news = getConfig($cnx, $list_id, $row_config_globale['table_listsconfig']);
                                $body = $news['welcome_body'];
                                $body .= "\n\n" . translate("UNSUBSCRIPTION_MAIL_BODY") . ":\n";
                                $body .= "<a href='".$row_config_globale['base_url'] . $row_config_globale['path'] . "subscription.php?op=confirm_leave&email_addr=" . urlencode($email_addr) . "&hash=$add&list_id=$list_id'>Je me désabonne</a>";
                                $subj = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $news['welcome_subject'] : iconv("UTF-8", $row_config_globale['charset'], $news['welcome_subject']));
                                $body = (strtoupper($row_config_globale['charset']) == "UTF-8" ? $body : iconv("UTF-8", $row_config_globale['charset'], $body));
                                $mail = sendEmail($row_config_globale['sending_method'],$email_addr,$news['from_addr'], $news['from_name'], $subj, $body, $row_config_globale['smtp_auth'], $row_config_globale['smtp_host'], $row_config_globale['smtp_login'], $row_config_globale['smtp_pass'], $row_config_globale['charset']);
                                echo "<h4 class='alert_success'>" . translate("SUBSCRIPTION_FINISHED") . "</h4>";
                            } else {
                                echo "<h4 class='alert_error'>" . translate("SUBSCRIPTION_ALREADY_SUBSCRIBER") . "</h4>";
                            } 
                        }
                        echo '<div class="spacer"></div>';
                    break;
                    case "leave_direct":
                        echo '<header><h3>'.translate("UNSUBSCRIPTION_TITLE").'</h3></header>';
                        if (!$row_config_globale['unsub_validation']) {
                            $rm = removeSubscriberDirect($cnx, $row_config_globale['table_email'], $list_id, $email_addr);
                            if ($rm) {
                                echo "<h4 class='alert_success'>" . translate("UNSUBSCRIPTION_FINISHED") . ".</h4>";
                            } else if ($rm == -1) {
                                echo "<h4 class='alert_error'>" . translate("UNSUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS") . "</h4>";
                            } else {
                                echo "<h4 class='alert_error'>" . translate("ERROR_UNKNOWN") . "</h4>";
                            }
                        }
                        echo '<div class="spacer"></div>';
                    break;
                    default:
                    break;
                }
            }
            ?>
            </article>
        </section>

Mais ce n'est qu'un aperçu, car il va falloir gérer les exceptions, et ceci rentre dans un cadre très particulier d'internalisation d'un script.
Ce que je ne ferai pas, et je recommande vivement de laisser l'usage recommandé, c'est à dire, la gestion par fenêtre annexe.

#1570 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

Alors je me permets de déplacer la discussion dans support général, et non dans bug, dans un premier temps !

#1572 Re : Bugs » [Résolu] Écriture impossible dans admin/import ! ! » 08-03-2015 19:03:27

Bonjour et bienvenue sur le forum de support,

Globalement tout dépend des hébergements.
Je dirais que être bien sur de ne pas dire de bêtises, il aurait été bon de préciser l'environnement : version de php, hébergement mutualisé apparemment, linux ?

C'est donc un bug lié à certains hébergeurs.

Pour bien faire voici un correctif à apporter dans le code :

Dans le fichier index.php (vers ligne 134) à la racine de l'installation, tu as :

$tmp_subdir = (DIRECTORY_SEPARATOR == "/" ? "./import/" : ".\\import\\");

Tu vas remplacer cette ligne par :

//$tmp_subdir = (DIRECTORY_SEPARATOR == "/" ? "./import/" : ".\\import\\");
if(!is_dir("upload")){
    if(mkdir("upload",0700)){
        $_CONTINUE = true;
    } else {
        $_CONTINUE = false;
        die("<div class='error'>Error while creating upload directory : '".$row_config_globale['path']."upload'.<br>Please, check permissions or create '".$row_config_globale['path']."upload' manua
lly<br>Refresh after you correct it !</div>");
    }
}
$tmp_subdir="./upload/";

(CF : http://www.phpmynewsletter.com/forum/vi … php?id=113, Fred pour qui ça a bien fonctionné)

Sinon : que le fichier soit issu d'excel ou n'importe quoi, il doit bien respecter la norme de 1 mail simple par ligne !

(La version 2.0.4 en cours d'écriture est déjà modifiée avec ce correctif qui est un reste de la version 0.8beta5... si célèbre !)

Tenez nous au courant

#1574 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

Ouh là là !!!
Bon, c'est quoi ce code qui traîne au milieu de page :

<!DOCTYPE HTML>
<html lang="fr">
    <head>
        <meta charset="utf-8" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script>!window.jQuery && document.write(unescape('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script>
    </head>
    <body>
        <section id="main">
            <article>
                        </article>
        </section>
    </body>
</html>

Un simple appel à jquery dans la balise head suffit :

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

Ensuite tu as mis :

 target="_parent"

Ça ce n'est pas bon, c'est un target="_blank" qu'il faut, c'est à dire, ouvrir la fenêtre dans une autre fenêtre.
Il faut que ça ouvre une autre fenêtre, la gestion de la souscription est indépendante.

Donc, est ce un souci par rapport au fait que l'on ouvre une autre fenêtre ?

#1575 Re : Support général » [Résolu] Pb avec subscription.php » 08-03-2015 19:33:57

Je vais aller jeter un oeil et je reviens te dire...

Pied de page des forums

Propulsé par FluxBB