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 13-11-2018 22:02:33

archeo
Membre

blocage aprés la mise en service de la notification par SMS

Bonjour,

J'ai testé la notification par SMS sur une ligne FREE Mobile. J'ai complété mon identifiant et la clé d'identification au service. Lorsque j'ai relancé PhpMyNewsLetter j'ai obtenu un écran blanc, plus rien ne fonctionnait : enregistrement nouveaux abonnés, désinscriptions, login... La désactivation des paramètres de la notification par SMS dans config.php en les mettant en commentaires m'a permis de reprendre la main.

J'ai loupé quelque chose?


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#2 13-11-2018 22:26:10

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Ce sont ces 3 lignes qui posent problème (pas de valeur après = ?)

$end_task_sms = ;
$sub_validation_sms = ;
$unsub_validation_sms = ;

Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#3 14-11-2018 07:49:04

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Bonjour archeo,

Tu n'as rien loupé, et je ne comprends pas.
Toujours pareil, ça fonctionne parfaitement chez moi.
Les 3 lignes devraient être ainsi :

	$free_id            = 'xxxxxxxx';
	$free_pass          = 'xxxxxxxxxx';
	$end_task_sms       = 0;
	$sub_validation_sms = 1;
	$unsub_validation_sms = 1;

0 signifie non
1 signifie oui
$end_task_sms // pour envoyer un sms une fois l'envoi par tâche planifiée fini
$sub_validation_sms // pour envoyer un sms lors d'une inscription à la newsletter
$unsub_validation_sms // pour avertir d'une désinscription (sympa après une campagne !)


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 14-11-2018 11:01:31

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Si on corrige manuellement ça fonctionne. Mais ça mouline sur maxcd.bootstrapcdn
D'autre part ce qui est déconcertant c'est que l'on valide les codes FREE sur une page et que l'on modifie les options d'envoi sur deux autres pages. D'ailleurs est-ce que les valeurs de ces options sont bien envoyées par tous les navigateurs sur tous les OS sans que la page soit affichée? En tout cas j'ai testé avec firefox et chrome : même problème.


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#5 14-11-2018 11:33:10

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

maxcdn mouline ???
Tu peux essayer de cliquer ce lien et me dire :
https://maxcdn.bootstrapcdn.com/bootstr … rap.min.js

Les codes free n'ont aucun rapport avec les paramètres d'envoi donc oui c'est un autre onglet.

D'ailleurs est-ce que les valeurs de ces options sont bien envoyées par tous les navigateurs sur tous les OS sans que la page soit affichée? En tout cas j'ai testé avec firefox et chrome : même problème.

Pas compris le problème.

Une question : la version de phpmynewsletter installée est de quand ?

Si la question est : est ce que les valeurs que je ne vois pas sont bien envoyées dans le formulaire à la validation : c'est oui, car ce ne sont que des morceaux de page qui sont affichés ou cachés pour éviter d'avoir une page immense.
Je confirme que ça marche très bien chez moi.
As tu un bloqueur de pub ou quoi que ce soit altérant la page ?


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

#6 14-11-2018 13:03:45

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Arnaud a écrit :

maxcdn mouline ???
Tu peux essayer de cliquer ce lien et me dire :
https://maxcdn.bootstrapcdn.com/bootstr … rap.min.js

Tu veux tout ce qui s'affiche?

Arnaud a écrit :

Une question : la version de phpmynewsletter installée est de quand ?

J'ai tout réinstallé le 8/11 à partir d'une archive téléchargé le 7/11

Arnaud a écrit :

As tu un bloqueur de pub ou quoi que ce soit altérant la page ?

sur firefox oui sur chrome non
test avec vivaldi :
"Cette page ne fonctionne pas

Impossible actuellement de traiter cette demande via www.evolution-biologique.org.
HTTP ERROR 500"


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#7 14-11-2018 13:06:37

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Est-ce que les 3 lignes :
    $end_task_sms       = 0;
    $sub_validation_sms = 1;
    $unsub_validation_sms = 1;
sont renseignées dans le conf ?

Si erreur 500, se mettre en mode dev, rapporter l'erreur et se remettre en mode production après correction.


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 14-11-2018 13:49:50

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

L'erreur 500 n'apparait que si les valeurs sont vides. Pas d'affichage de message d'erreur en mod dev.
ça serait pas possible de tester si les valeurs sont vides au chargement  de config.php et si oui les compléter?


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#9 14-11-2018 14:18:23

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Non, ce n'est pas possible, car c'est une faute de syntaxe.
Ceci dit, je pense que la porte est ouvert chez PHP pour les bonnes idées, ça résoudrait le travail des développeurs du monde php...
Le problème est ailleurs il faut le chercher.


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 14-11-2018 17:24:01

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

"Houston we have an other problem!"
J'ai modifié manuellement le config.php pour reprendre la main, tout est bien sur OK oui mais ...
j'ai mis
"Etre averti des nouvelles inscriptions par FREE sms ?"
  de Oui à Non
et "Etre averti d'une désinscription par FREE sms ?"
de Oui à Non
les cases restent cochées tout va bien
puis déconnexion et  reconnexion les cases sont revenues à Oui mad
Par contre pas de soucis pour "Recevoir un FREE sms de fin de tâche planifiée ?" la modification est bien prise en compte
pourtant le config.php est

$end_task_sms       = 0;
$sub_validation_sms = 0;
$unsub_validation_sms = 0;

Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#11 14-11-2018 17:28:06

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Il y a une logique qui m'échappe entre ceci

<div class='form-group'>
 <label>
 Etre averti d'une désinscription ?
 </label>
 <br>
 <input type='radio' name='alert_unsub' value='0'  > 
 Non&nbsp;
 <input type='radio' name='alert_unsub' value='1' checked='checked' > 
 Oui
 </div>

et ceci :

<div class='form-group'>
 <label>
 Etre averti des nouvelles inscriptions par FREE sms ?
 </label><br><input type='radio' name='sub_validation_sms' value='0' checked='checked' > 
 Non&nbsp;
 <input type='radio' name='sub_validation_sms' value='1' checked='checked' > 
 Oui
 </div>

Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#12 14-11-2018 17:32:12

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Double checked à corriger effectivement !


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

#13 15-11-2018 11:12:16

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Pour information, je suis en train de reprendre la page de gestion globale pour les corrections.


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

#14 15-11-2018 11:39:40

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Ok, j’arrête les tests.
Pour info si on coche non à la place de oui pour "Etre averti des nouvelles inscriptions par FREE sms ?" ou Etre averti des nouvelles désinscription par FREE sms ? avant de valider, les données sont bien mises à jour dans le config.php
Pour $end_task_sms je n'ai pu tester car je n'ai pas de boutons oui non
Bon courage

Dernière modification par archeo (15-11-2018 11:40:11)


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#15 15-11-2018 13:28:44

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Parce que tu es en paramétre serveur mutualisé


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

#16 15-11-2018 13:52:47

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Oui mais alors le message "Recevoir un FREE sms de fin de tâche planifiée ?" sans ses options oui non ne devrait pas apparaitre. D'autre part, même si on a mis à jour manuellement le config.php, l'enregistrement de n'importe quel réglage remet à vide  $end_task_sms et plante tout.


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#17 15-11-2018 14:08:15

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Oui, j'ai bien compris, d'où ma réécriture de certains scripts.
Idéalement, tu bloques tes paramètres en les ajoutant manuellement aujourd'hui.
Une fois calés, moi je fais mes pages web, puis alors tu mettras à jour les pages php quand je le dirai.


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

#18 16-11-2018 10:04:28

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Bonjour,

J'ai réussi à reproduire le scénario qui plantait.
Les erreurs sont corrigées, il faut donc retélécharger l'archive complète et poser les fichiers en remplacement.
Sinon, les fichiers affectés sont :
/op.php
/include/globalconf.php

Si tu veux juste modifier ces 2 fichiers, faire un copier coller des sources ci-dessous :

op.php :

<?php
$op_true = array(
    'createConfig',
    'init',
    'preview',
    'SaveConfig',
    'saveGlobalconfig',
    'send_preview',
    'subscriber_add',
    'subscriber_del',
    'subscriber_del_temp',
    'val_subscriber_temp',
    'subscriber_import',
    'subscriber_mass_delete',
    'smtp_add',
    'smtp_del',
    'smtp_mod',
    'smtp_maj',
    'modifySender',
    'addSender',
    'delSender',
    'modifyUser',
    'addUser',
    'delUser'
);
if(in_array($op,$op_true)){
    switch($op){
        case 'SaveConfig':
            $save=saveModele($cnx,$_POST['list_id'],$row_config_globale['table_listsconfig'],$_POST['newsletter_name'],
                                  $_POST['from'],$_POST['from_name'],$_POST['subject'],$_POST['header'],$_POST['footer'],
                                  $_POST['subscription_subject'],$_POST['subscription_body'],$_POST['welcome_subject'],
                                  $_POST['welcome_body'],$_POST['quit_subject'],$_POST['quit_body'],$_POST['preview_addr']);
        break;
        case 'createConfig':
            $new_id=createNewsletter($cnx,$row_config_globale['table_listsconfig'],$_POST['newsletter_name'],$_POST['from'],
                                  $_POST['from_name'],$_POST['subject'],$_POST['header'],$_POST['footer'],
                                  $_POST['subscription_subject'],$_POST['subscription_body'],$_POST['welcome_subject'],
                                  $_POST['welcome_body'],$_POST['quit_subject'],$_POST['quit_body'],$_POST['preview_addr']);
            if($new_id > 0){
                $list_id=$new_id;
                $l='l';
            }
        break;
        case 'saveGlobalconfig':
            $smtp_host =(isset($_POST['smtp_host'])?$_POST['smtp_host']:'');
            $smtp_port =(isset($_POST['smtp_port'])?$_POST['smtp_port']:'');
            $smtp_auth =(isset($_POST['smtp_auth'])?$_POST['smtp_auth']:0);
            $smtp_login=(isset($_POST['smtp_login'])?$_POST['smtp_login']:'');
            $smtp_pass =(isset($_POST['smtp_pass'])?$_POST['smtp_pass']:'');
            $mod_sub   =(isset($_POST['mod_sub'])?$_POST['mod_sub']:0);
            $timezone  =(isset($_POST['timezone'])?$_POST['timezone']:'');
            $timer_ajax=(isset($_POST['timer_ajax'])?$_POST['timer_ajax']:10);
            $timer_cron=(isset($_POST['timer_cron'])?$_POST['timer_cron']:3);
            $free_id   =(isset($_POST['free_id'])?$_POST['free_id']:'');
            $free_pass =(isset($_POST['free_pass'])?$_POST['free_pass']:'');
            $key_dkim  =(isset($_POST['key_dkim'])?$_POST['key_dkim']:'');
            $nb_backup =(isset($_POST['nb_backup'])?$_POST['nb_backup']:5);
            $end_task  =(isset($_POST['end_task'])?$_POST['end_task']:0);
            $end_task_sms=(isset($_POST['end_task_sms'])?$_POST['end_task_sms']:0);
            $sub_validation_sms=(isset($_POST['sub_validation_sms'])?$_POST['sub_validation_sms']:0);
            $unsub_validation_sms=(isset($_POST['unsub_validation_sms'])?$_POST['unsub_validation_sms']:0);
            $alert_unsub=(isset($_POST['alert_unsub'])?$_POST['alert_unsub']:'');
            $loader    =(isset($_POST['loader'])?$_POST['loader']:1);
            $menu      =(isset($_POST['menu'])?$_POST['menu']:'hz');
            if(saveConfig($cnx,$_POST['table_config'],$_POST['admin_pass'],50,$_POST['base_url'],$_POST['path'],$_POST['language'],
                               $_POST['table_email'],$_POST['table_temp'],$_POST['table_listsconfig'],$_POST['table_archives'],
                               $_POST['sending_method'],$smtp_host,$smtp_port,$smtp_auth,$smtp_login,$smtp_pass,$_POST['sending_limit'],
                               $_POST['validation_period'],$_POST['sub_validation'],$_POST['unsub_validation'],$_POST['admin_email'],
                               $_POST['admin_name'],$_POST['mod_sub'],$_POST['table_sub'],$_POST['charset'],$_POST['table_track'],
                               $_POST['table_send'],$_POST['table_sauvegarde'],$_POST['table_upload'],$_POST['table_email_deleted'],
                               $_POST['table_senders'],$_POST['alert_sub'],$_POST['active_tracking'])){
                $configSaved=true;
                $row_config_globale = $cnx->SqlRow("SELECT * FROM $table_global_config");
            }else{
                $configSaved=false;
            }
            if($_POST['file']==1){
                $configFile =saveConfigFile($PMNL_VERSION,$_POST['db_host'],$_POST['db_login'],
                                            $_POST['db_pass'],$_POST['db_name'],
                                            $_POST['table_config'],$_POST['db_type'],
                                            $_POST['type_serveur'],$_POST['type_env'],
                                            $timezone, $_POST['code_mailtester'],
                                            $timer_ajax,$timer_cron,$free_id,$free_pass,
                                            $end_task,$end_task_sms,$sub_validation_sms,
                                            $unsub_validation_sms,$alert_unsub,
                                            $nb_backup,$key_dkim,$loader,$menu);
            }
            saveBounceFile($_POST['bounce_host'],$_POST['bounce_user'],$_POST['bounce_pass'],$_POST['bounce_port'],
                           $_POST['bounce_service'],$_POST['bounce_option'],$_POST['bounce_mail']);
            include("include/config.php");
            $row_config_globale = $cnx->SqlRow("SELECT * FROM $table_global_config");
        break;
        case 'subscriber_add':
            $add_addr = (empty($_POST['add_addr']) ? "" : $_POST['add_addr']);
            if(!empty($add_addr)&& validEmailAddress($add_addr) ){
                if(preg_match('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/', $add_addr)){
                    $add_r=add_subscriber($cnx,$row_config_globale['table_email'],$list_id,$add_addr,$row_config_globale['table_email_deleted']);
                    if($add_r==0){
                        $subscriber_op_msg_a = "<h4 class='alert alert-danger'>".tr("ERROR_ADDING_SUBSCRIBER"," <b>$add_addr</b>").".</h4>";
                    }else if($add_r==-1){
                        $subscriber_op_msg_a = "<h4 class='alert alert-danger'>".tr("ERROR_ALREADY_SUBSCRIBER", "<b>$add_addr</b>").".</h4>";
                    }else if($add_r==2){
                        $subscriber_op_msg_a = "<h4 class='alert alert-success'>".tr("SUBSCRIBER_ADDED", "<b>$add_addr</b>").".</h4>";
                    }else if($add_r==3){
                        $subscriber_op_msg_a = "<h4 class='alert alert-danger'>".tr("SUBSCRIBER_WITH_MAIL_DELETED", "<b>$add_addr</b>")."</h4>";
                    }
                } else {
                    $subscriber_op_msg_a = "<h4 class='alert alert-danger'>".tr("ERROR_SUPPLY_VALID_EMAIL")."</h4>";
                }
            } else {
                $subscriber_op_msg_a = "<h4 class='alert alert-danger'>".tr("ERROR_SUPPLY_VALID_EMAIL")."</h4>";
            }
        break;
        case 'subscriber_del':
            $del_addr = (empty($_POST['del_addr']) ? "" : $_POST['del_addr']);
            $deleted = delete_subscriber($cnx,$row_config_globale['table_email'],$list_id,$del_addr,$row_config_globale['table_email_deleted'],'by_admin');
            if($deleted){
                $subscriber_op_msg_d = "<h4 class='alert alert-success'>".tr("SUBSCRIBER_DELETED","<b>$del_addr</b>")."</h4>";
            }else{
                $subscriber_op_msg_d = "<h4 class='alert alert-danger'>".tr("ERROR_DELETING_SUBSCRIBER","<b>$del_addr</b>")."</h4>";
            }
        break;
        case 'subscriber_del_temp':
            $del_tmpaddr  = (empty($_POST['TmpUserAdress']) ? "" : $_POST['TmpUserAdress']);
            $deleted_temp = delete_subscriber_tmp($cnx,$row_config_globale['table_temp'],$list_id,$del_tmpaddr,$row_config_globale['table_email_deleted'],'by_admin');
            if( $deleted_temp ){
                $subscriber_op_msg_dt =  "<h4 class='alert alert-success'>".tr("SUBSCRIBER_TEMP_DELETED")."</h4>";
            }else{
                $subscriber_op_msg_dt =  "<h4 class='alert alert-danger'>".tr("ERROR_DELETING_TEMP","<i>$del_tmpaddr</i>")."</h4>";
            }
        break;
        case 'val_subscriber_temp':
            $force_tmpaddr = (empty($_POST['TmpUserAdress']) ? "" : $_POST['TmpUserAdress']);
            if (!validEmailAddress($force_tmpaddr)) {
                $deleted_temp = delete_subscriber($cnx,$row_config_globale['table_temp'],$list_id,$force_tmpaddr,$row_config_globale['table_email_deleted'],'hard');
                $subscriber_op_msg_dt =  "<h4 class='alert alert-danger'>".tr("ERROR_ADDING_SUBSCRIBER_TEMP","<i>$force_tmpaddr</i>")."</h4>";
            } else {
                $added_temp = force_subscriber($cnx,$row_config_globale['table_temp'],$list_id,$force_tmpaddr,$row_config_globale['table_email'],unique_id($force_tmpaddr));
                if( $added_temp ){
                    $subscriber_op_msg_dt =  "<h4 class='alert alert-success'>".tr("SUBSCRIBER_TEMP_FORCE_ADDED")." : $force_tmpaddr</h4>";
                }else{
                    $subscriber_op_msg_dt =  "<h4 class='alert alert-danger'>".tr("ERROR_ADDING_SUBSCRIBER_TEMP","<i>$force_tmpaddr</i>")."</h4>";
                }
            }
        break;
        case 'subscriber_import':
            @set_time_limit(300);
            $import_file = (!empty($_FILES['import_file']) ? $_FILES['import_file'] : "");
            if (!empty($import_file) && $import_file != "none" && $import_file['size'] > 0 && is_uploaded_file($import_file['tmp_name'])){
                $tmp_subdir_writable = true;
                $open_basedir = @ini_get('open_basedir');
                if (!empty($open_basedir)){
                    $tmp_subdir="./upload/";
                    $local_filename = $tmp_subdir.basename($import_file['tmp_name']);
                    move_uploaded_file($import_file['tmp_name'], $local_filename);
                    $liste = fopen($local_filename, 'r');
                } else{
                    $liste = fopen($import_file['tmp_name'], 'r');
                }
                if($tmp_subdir_writable){
                    $tx_import = 0;
                    $tx_error  = 0;
                    while (!feof($liste)){    
                        $mail_importe = fgets($liste, 4096);
                        preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/i', $mail_importe, $found_mails);
                        foreach ($found_mails[0] as $mail_importe){
                            if(strlen($mail_importe)==2){
                                // dummy and pretty function ;-) yeah !
                            }else{
                                $mail_importe = str_replace("'","",$mail_importe);
                                $mail_importe = str_replace('"',"",$mail_importe);
                                $mail_importe = strtolower(trim($mail_importe));
                                if(!empty($mail_importe)){
                                    $added=add_subscriber($cnx,$row_config_globale['table_email'],$list_id,$mail_importe,$row_config_globale['table_email_deleted']);
                                    if($added==-1){
                                        $subscriber_op_msg_i .= "<h4 class='alert alert-danger'>".tr("ERROR_ALREADY_SUBSCRIBER", "<b>$mail_importe</b>").".</h4>";
                                        $tx_error++;
                                    }elseif($added==2){
                                        $subscriber_op_msg_i .= "<h4 class='alert alert-success'>".tr("SUBSCRIBER_ADDED", "<b>$mail_importe</b>").".</h4>";
                                        $tx_import++;
                                    }elseif($added==0){
                                        $subscriber_op_msg_i .= "<h4 class='alert alert-danger'>".tr("ERROR_SQL") . "</h4>";
                                        $tx_error++;
                                    }elseif($added==3){
                                        $subscriber_op_msg_i .= "<h4 class='alert alert-danger'>".tr("EMAIL_ON_DELETED_LIST", "<b>$mail_importe</b>")."</h4>";
                                        $tx_error++;
                                    }
                                } else {
                                    $subscriber_op_msg_i .= "<h4 class='alert alert-danger'>".tr("INVALID_MAIL")." : ".$mail_importe."</h4>";
                                    $tx_error++;
                                }
                            }
                        }
                    }
                    $subscriber_op_msg_i .= "<h4 class='alert alert-success'><b>$tx_import ".tr("MAIL_ADDED")."</b></h4>";
                    $subscriber_op_msg_i .= "<h4 class='alert alert-danger'><b>$tx_error ".tr("MAIL_ADDED_ERROR")."</b></h4>";
                } else{
                    $subscriber_op_msg_i = "<h4 class='alert alert-danger'>".tr("ERROR_IMPORT_TMPDIR_NOT_WRITABLE")." !</h4>";
                }
            }else{
                $subscriber_op_msg_i = "<h4 class='alert alert-danger'>".tr("ERROR_IMPORT_FILE_MISSING")." !</h4>";
            }
        break;
        case 'subscriber_mass_delete':
            @set_time_limit(300);
            $import_file = (!empty($_FILES['import_file']) ? $_FILES['import_file'] : "");
            if (!empty($import_file) && $import_file != "none" && $import_file['size'] > 0 && is_uploaded_file($import_file['tmp_name'])){
                $tmp_subdir_writable = true;
                $open_basedir = @ini_get('open_basedir');
                if (!empty($open_basedir)){
                    $tmp_subdir="./upload/";
                    $local_filename = $tmp_subdir.basename($import_file['tmp_name']);
                    move_uploaded_file($import_file['tmp_name'], $local_filename);
                    $liste = fopen($local_filename, 'r');
                } else{
                    $liste = fopen($import_file['tmp_name'], 'r');
                }
                if($tmp_subdir_writable){
                    $tx_import = 0;
                    $tx_error  = 0;
                    while (!feof($liste)){    
                        $del_addr = fgets($liste, 4096);
                        preg_match_all('/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/i', $del_addr, $found_mails);
                        foreach ($found_mails[0] as $del_addr){
                            if(strlen($del_addr)==2){
                                // dummy and pretty function ;-) yeah !
                            }else{
                                $del_addr = str_replace("'","",$del_addr);
                                $del_addr = str_replace('"',"",$del_addr);
                                $del_addr = strtolower(trim($del_addr));
                                if(!empty($del_addr)&&validEmailAddress($del_addr)){
                                    $deleted = delete_subscriber($cnx,$row_config_globale['table_email'],$list_id,$del_addr,$row_config_globale['table_email_deleted'],'by_admin');
                                    if($deleted == true){
                                        //$subscriber_op_msg_md = "<h4 class='alert alert-success'>".tr("SUBSCRIBER_DELETED","<b>$del_addr</b>")."</h4>";
                                        $tx_import++;
                                    }elseif($deleted == false){
                                        //$subscriber_op_msg_md = "<h4 class='alert alert-danger'>".tr("ERROR_DELETING_SUBSCRIBER","<b>$del_addr</b>")."</h4>";
                                        $tx_error++;
                                    }elseif($deleted == 5){
                                        $subscriber_op_msg_md = "<h4 class='alert alert-danger'>".tr("ERROR_DELETING_SUBSCRIBER_NOT_IN_LIST","<b>$del_addr</b>")."</h4>";
                                        $tx_error++;
                                    }
                                } else {
                                    $subscriber_op_msg_md .= "<h4 class='alert alert-danger'>".tr("INVALID_MAIL")." : ".$del_addr."</h4>";
                                    $tx_error++;
                                }
                            }
                        }
                    }
                    $subscriber_op_msg_md .= "<h4 class='alert alert-success'><b>$tx_import ".tr("MAIL_MASS_DELETED")."</b></h4>";
                    $subscriber_op_msg_md .= "<h4 class='alert alert-danger'><b>$tx_error ".tr("MAIL_ADDED_ERROR")."</b></h4>";
                } else{
                    $subscriber_op_msg_md = "<h4 class='alert alert-danger'>".tr("ERROR_IMPORT_TMPDIR_NOT_WRITABLE")." !</h4>";
                }
            }else{
                $subscriber_op_msg_md = "<h4 class='alert alert-danger'>".tr("ERROR_IMPORT_FILE_MISSING")." !</h4>";
            }
        break;
        case 'smtp_add':
            $smtp_name   =(isset($_POST['smtp_name'])?$cnx->CleanInput($_POST['smtp_name']):'');
            $smtp_url    =(isset($_POST['smtp_url'])?$cnx->CleanInput($_POST['smtp_url']):'');
            $smtp_user   =(isset($_POST['smtp_user'])?$cnx->CleanInput($_POST['smtp_user']):'');
            $smtp_pass   =(isset($_POST['smtp_pass'])?$cnx->CleanInput($_POST['smtp_pass']):'');
            $smtp_port   =(isset($_POST['smtp_port'])?$cnx->CleanInput($_POST['smtp_port']):'');
            $smtp_secure =(isset($_POST['smtp_secure'])?$cnx->CleanInput($_POST['smtp_secure']):'');
            $smtp_limite =(isset($_POST['smtp_limite'])?$cnx->CleanInput($_POST['smtp_limite']):'');
            if($smtp_limite==0 || $smtp_limite==''){
                $smtp_limite=1800;
            }
            $cpt_already_exist = $cnx->SqlRow('SELECT * FROM '.$row_config_globale['table_smtp'].' 
                                                WHERE smtp_url="'.$smtp_url.'" 
                                                  AND smtp_port="'.$smtp_port.'"
                                                  AND smtp_user="'.$smtp_user.'"
                                                  AND smtp_pass="'.$smtp_pass.'"');
            if($cpt_already_exist==0){
                if($cnx->query("INSERT INTO ".$row_config_globale['table_smtp']
                           ." (smtp_name,smtp_url,smtp_user,smtp_pass,smtp_port,smtp_secure,smtp_limite,smtp_used,smtp_date_create,smtp_date_update)
                            VALUES ( '$smtp_name','$smtp_url','$smtp_user','$smtp_pass','$smtp_port','$smtp_secure','$smtp_limite',0,NOW(),NOW() )")){
                    $smtp_manage_msg = "<h4 class='alert alert-success'>Serveur smtp ajouté correctement !</h4>";
                    $daylog = @fopen('logs/daylog-' . date("Y-m-d") . '.txt', 'a+');
                    $daylogmsg= date("Y-m-d H:i:s") . " : ajout serveur smtp : '$smtp_name','$smtp_url','$smtp_limite'\n";
                    fwrite($daylog, $daylogmsg, strlen($daylogmsg));
                    fclose($daylog);
                } else {
                    $smtp_manage_msg = "<h4 class='alert alert-danger'>Ajout du serveur smtp en erreur !</h4>";
                }
            } else {
                $smtp_manage_msg = "<h4 class='alert alert-danger'>Serveur smtp déjà connu !</h4>";
            }
        break;
        case 'smtp_del':
            if($cnx->query("DELETE FROM ".$row_config_globale['table_smtp']." WHERE smtp_id=$smtp_id")){
                $smtp_manage_msg = "<h4 class='alert alert-success'>Suppression correcte du serveur smtp !</h4>";
                $daylog = @fopen('logs/daylog-' . date("Y-m-d") . '.txt', 'a+');
                $daylogmsg= date("Y-m-d H:i:s") . " : suppression du serveur smtp $smtp_id\n";
                fwrite($daylog, $daylogmsg, strlen($daylogmsg));
                fclose($daylog);
                @unlink('logs/smtp-'.$smtp_id.'.txt');
            } else {
                $smtp_manage_msg = "<h4 class='alert alert-danger'>Suppression du serveur smtp en erreur !</h4>";
            }
        break;
        case 'smtp_mod':
        break;
        case 'smtp_maj':
            $smtp_id     =(isset($_POST['smtp_id'])?$cnx->CleanInput($_POST['smtp_id']):'');
            $smtp_url    =(isset($_POST['smtp_url'])?$cnx->CleanInput($_POST['smtp_url']):'');
            $smtp_user   =(isset($_POST['smtp_user'])?$cnx->CleanInput($_POST['smtp_user']):'');
            $smtp_pass   =(isset($_POST['smtp_pass'])?$cnx->CleanInput($_POST['smtp_pass']):'');
            $smtp_port   =(isset($_POST['smtp_port'])?$cnx->CleanInput($_POST['smtp_port']):'');
            $smtp_secure =(isset($_POST['smtp_secure'])?$cnx->CleanInput($_POST['smtp_secure']):'');
            $smtp_limite =(isset($_POST['smtp_limite'])?$cnx->CleanInput($_POST['smtp_limite']):'');
            if($cnx->query("UPDATE ".$row_config_globale['table_smtp']." 
            	                SET smtp_url='$smtp_url' , smtp_user='$smtp_user' , smtp_pass='$smtp_pass',
            	                    smtp_port='$smtp_port' , smtp_secure='$smtp_secure' , smtp_limite='$smtp_limite'
            	            WHERE smtp_id=$smtp_id")){
                $smtp_manage_msg = "<h4 class='alert alert-success'>Mise à jour correcte du serveur smtp !</h4>";
                $daylog = @fopen('logs/daylog-' . date("Y-m-d") . '.txt', 'a+');
                $daylogmsg = date("Y-m-d H:i:s") . " : mise à jour du serveur smtp $smtp_id\n";
                $daylogmsg .= "Nouveaux paramètres :\n HOST : $smtp_url\nUSER : $smtp_user\nPASS : *******\n$PORT : $smtp_port\nSECURE : $smtp_secure\LIMITE : $smtp_limite\n";
                fwrite($daylog, $daylogmsg, strlen($daylogmsg));
                fclose($daylog);
            } else {
                $smtp_manage_msg = "<h4 class='alert alert-danger'>Mise àjour du serveur smtp en erreur !</h4>";
            }
        break;
        default:
        break;
    }
} else{
    $op = '';
}

Et /include/globalconf.php :

<?php
if ($op == "saveGlobalconfig") {
	if ($configSaved) {
		echo "<h4 class='alert alert-success'>" . tr("GCONFIG_SUCCESSFULLY_SAVED") . ".</h4>";
		if ($_POST['file'] == 1 && !$configFile){
			echo "<h4 class='alert alert-danger'>" . tr("UNABLE_WRITE_CONFIG") .".</h4>";
		}
	} else {
		if ($configFile == -1){
			echo "<h4 class='alert alert-danger'>" . tr("UNABLE_WRITE_CONFIG") .".</h4>";
		} else if ($file == 1){
			echo "<h4 class='alert alert-danger'>" . tr("ERROR_WHILE_SAVING_CONFIGURATION") . "</h4>";
		}
	}
}

include 'include/lib/constantes.php';

echo "<form method='post' name='global_config' enctype='multipart/form-data'>";
echo "<header><h4 class='tabs_involved'>" . tr('GCONFIG_TITLE') . "</h4></header>
<div class='row'>
	<div class='col-md-10'>
		<div id='rootwizard'>
			<div class='navbar'>
				<div class='navbar-inner'>
					<div class='container'>
						<ul>
							<li><a href='#tab1' data-toggle='tab'>" . tr('INSTALL_DB_TITLE') . "</a></li>
							<li><a href='#tab2' data-toggle='tab'>" . tr('INSTALL_ENVIRONMENT') . "</a></li>
							<li><a href='#tab3' data-toggle='tab'>" . tr('INSTALL_MESSAGE_SENDING_TITLE') . "</a></li>
							<li><a href='#tab4' data-toggle='tab'>" . tr('BOUNCE') . "</a></li>
							<li><a href='#tab5' data-toggle='tab'>" . tr('GCONFIG_SUBSCRIPTION_TITLE') . "</a></li>
							<li><a href='#tab7' data-toggle='tab'>DKIM, SPF et DMARC</a></li>
							<li><a href='#tab6' data-toggle='tab'>" . tr('GCONFIG_MISC_TITLE') . "</a></li>
						</ul>
					</div>
				</div>
			</div>
			<div class='tab-content'>
				<div id='tab1' class='tab-pane'>
					<div class='module_content'>
						<h4>" . tr('GCONFIG_DB_TITLE'). "</h4>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_DB_HOST" ) . "</label>
								<input type='hidden' name='file' value='1'><input class='form-control' type='text' name='db_host' value='" . htmlspecialchars($hostname) . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_DB_DBNAME" ) . "</label>
								<input class='form-control' type='text' name='db_name' value='" . htmlspecialchars($database) . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("INSTALL_DB_TYPE" ) . "</label><br>
									<select name='db_type' class='selectpicker' data-width='auto'>
									<option value='mysql' selected>MySQL</option>
									</select>
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_LOGIN" ) . "</label>
									<input class='form-control' type='text' name='db_login' value='" . htmlspecialchars($login) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_PASSWD" ) . "</label>
									<input class='form-control' type='password' name='db_pass' value='" . htmlspecialchars($pass) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_CONFIG_TABLE" ) . "</label>
									<input class='form-control' type='text' name='table_config' value='" . htmlspecialchars($table_global_config) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_MAIL" ) . "</label>
									<input class='form-control' type='text' name='table_email' value='" . htmlspecialchars($row_config_globale['table_email']) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_TEMPORARY" ) . "</label>
									<input class='form-control' type='text' name='table_temp' value='" . htmlspecialchars($row_config_globale['table_temp']) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_NEWSCONFIG" ) . "</label>
									<input class='form-control' type='text' name='table_listsconfig' value='" . htmlspecialchars($row_config_globale['table_listsconfig']) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_ARCHIVES" ) . "</label>
									<input class='form-control' type='text' name='table_archives' value='" . htmlspecialchars($row_config_globale['table_archives']) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_SUBMOD" ) . "</label>
									<input class='form-control' type='text' name='table_sub' value='" . htmlspecialchars($row_config_globale['mod_sub_table']) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_TRACK" ) . "</label>
									<input class='form-control' type='text' name='table_track' value='" . htmlspecialchars($row_config_globale['table_tracking']) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_SEND" ) . "</label>
									 <input class='form-control' type='text' name='table_send' value='" . htmlspecialchars($row_config_globale['table_send']) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_SV" ) . "</label>
									<input class='form-control' type='text' name='table_sauvegarde' value='" . htmlspecialchars($row_config_globale['table_sauvegarde']) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_UPLOAD" ) . "</label>
									<input class='form-control' type='text' name='table_upload' value='" . htmlspecialchars($row_config_globale['table_upload']) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_DB_TABLE_MAIL_DELETED" ) . "</label>
									<input class='form-control' type='text' name='table_email_deleted' value='" . htmlspecialchars($row_config_globale['table_email_deleted']) . "' />
								</div>		
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>Table des expéditeurs</label>
									<input class='form-control' type='text' name='table_senders' value='" . htmlspecialchars($row_config_globale['table_senders']) . "' />
								</div>
							</div>
						</div>
					</div>
				</div>
				<div id='tab2' class='tab-pane'>
					<div class='module_content'>
						<h4>".tr("GCONFIG_MANAGE_ENVIRONMENT" ) . "</h4>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("INSTALL_SERVER_TYPE" ) . "</label><br>
									<select name='type_serveur' class='selectpicker' data-width='auto'>
									<option value='shared' " . ( $type_serveur=='shared'?'selected':'' ) . ">".tr("SHARED_SERVER" ) . "</option>
									<option value='dedicated' " . ( $type_serveur=='dedicated'?'selected':'' ) . ">".tr("DEDICATED_SERVER" ) . "</option>
									</select>
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'>
									<label>".tr("INSTALL_ENVIRONMENT" ) . "</label><br>
									<select name='type_env' class='selectpicker' data-width='auto'>
									<option value='dev' " .($type_env=='dev' ?'selected':'' ) . ">".tr("INSTALL_DEVELOPMENT" ) . "</option>
									<option value='prod' " . ( $type_env=='prod'?'selected':'' ) . ">".tr("INSTALL_PRODUCTION") ."</option>
									</select>
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("LOCAL_TIME_ZONE" ) . " : </label><br>
									<select name='timezone' class='selectpicker' data-width='auto'>
									" . $PAYS_WITH_OPTION ."
									</select>
								</div>
							</div>
						</div>
					</div>
				</div>
				<div id='tab3' class='tab-pane'>
					<div class='module_content'>
						<h4>" . tr("GCONFIG_MESSAGE_HANDLING_TITLE") . "</h4>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_ADMIN_NAME" ) . "</label>
									<input class='form-control' type='text' name='admin_name' size='30' value='" . htmlspecialchars($row_config_globale['admin_name']) . "' />
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_ADMIN_MAIL" ) . "</label>
									<input class='form-control' type='text' name='admin_email' size='30' value='" . htmlspecialchars($row_config_globale['admin_email']) . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_CODE_MAILTESTER" ) . "</label>
									<input class='form-control' type='text' name='code_mailtester' size='30' value='" . ($code_mailtester!='' ? $code_mailtester : '') . "' />
								</div>
							</div>
						</div>
						<h4>" . tr("GCONFIG_TIMER_CROM_TIMER_AJAX") . "</h4>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_TIMER_AJAX" ) . ", ". tr("GCONFIG_SECONDES") ." (".tr("GCONFIG_TIME_FOR_EACH_LOOP" ) . ")</label>
									<input class='form-control' type='text' name='timer_ajax' size='30' value='" . ($timer_ajax!='' ? $timer_ajax : '10') . "' /></div>
								</div>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_NUM_LOOP" ) . "</label>
									<input class='form-control' type='text' name='sending_limit' size='3' value='".$row_config_globale['sending_limit']."' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>".tr("GCONFIG_TIMER_CRON" ) . ", ". tr("GCONFIG_SECONDES") ." (".tr("GCONFIG_TIME_FOR_EACH_SEND" ) . ")</label>
									<input class='form-control' type='text' name='timer_cron' size='30' value='" . ($timer_cron!='' ? $timer_cron : '3') . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-3'>
								<div class='form-group'><label>". tr("GCONFIG_ALERT_END_SCHEDUL_TASK" ) . " ?</label><br>";
								if($end_task=='0'||$end_task==''){
									echo "<input type='radio' name='end_task' value='0' checked='checked'>" . tr("NO") . "&nbsp;<input type='radio' name='end_task' value='1'>" . tr("YES" ) . "";
								}elseif($end_task=='1'){
									echo "<input type='radio' name='end_task' value='0'>" . tr("NO") . "&nbsp;<input type='radio' name='end_task' value='1' checked='checked'>" . tr("YES" ) . "";
								}
						echo "		</div>
							</div>";
						if(@$free_id!=''&&$free_pass!=''){
							echo "<div class='col-md-4'>
								<div class='form-group'><label>Recevoir un FREE sms de fin de tâche planifiée ?</label><br>";
								if($end_task_sms=='0'){
									echo "<input type='radio' name='end_task_sms' value='0' checked='checked'>" . tr("NO") . "&nbsp;<input type='radio' name='end_task_sms' value='1'>" . tr("YES" ) . "";
								}elseif($end_task_sms=='1'){
									echo "<input type='radio' name='end_task_sms' value='0'>" . tr("NO") . "&nbsp;<input type='radio' name='end_task_sms' value='1' checked='checked'>" . tr("YES" ) . "";
								}
								echo "</div>
							</div>";
						}
						echo "	<div class='col-md-3'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_CHARSET" ) . "</label><br>
									<select name='charset' class='selectpicker' data-width='auto'>";
									sort($locals);
									foreach ($locals as $local) {
										echo "<option value='$local'" . ($row_config_globale['charset'] == $local ? ' selected' : '') . ">$local</option>";
									}
						echo "			</select>
								</div>
							</div>
							<div class='col-md-2'>
								<div class='form-group'><label>Tracking ?</label><br>";
								if($row_config_globale['active_tracking']=='0'){
									echo "<input type='radio' name='active_tracking' value='0' checked='checked'>" . tr("NO") . "&nbsp;<input type='radio' name='active_tracking' value='1'>" . tr("YES" ) . "";
								}elseif($row_config_globale['active_tracking']=='1'){
									echo "<input type='radio' name='active_tracking' value='0'>" . tr("NO") . "&nbsp;<input type='radio' name='active_tracking' value='1' checked='checked'>" . tr("YES" ) . "";
								}
						echo "		</div>
							</div>
						</div>
						<h4>Configuration SMTP par défaut</h4>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_SEND_METHOD" ) . "</label><br>
									<select name='sending_method' onChange='checkSMTP()' class='selectpicker' data-width='auto'>
										<option value='smtp' ";
										if ($row_config_globale['sending_method'] == "smtp") 
											echo "selected='selected'" ;
										echo ">SMTP</option>
										<option value='smtp_over_tls' ";
										if ($row_config_globale['sending_method'] == "smtp_over_tls") 
											echo "selected='selected'" ;
										echo ">SMTP TLS (port 587)</option>
										<option value='smtp_over_ssl' ";
										if ($row_config_globale['sending_method'] == "smtp_over_ssl") 
											echo "selected='selected'" ;
										echo ">SMTP SSL (port 465)</option>
										<option value='lbsmtp' ";
										if ($row_config_globale['sending_method'] == "lbsmtp") 
											echo "selected='selected' " ;
										echo ">Load Balancing SMTP</option>
										<option value='smtp_gmail_tls' ";
										if ($row_config_globale['sending_method'] == "smtp_gmail_tls")
											echo "selected='selected'" ;
										echo ">SMTP GMAIL TLS (port 587)</option>
										<option value='smtp_gmail_ssl' ";
										if ($row_config_globale['sending_method'] == "smtp_gmail_ssl") 
											echo "selected='selected'" ;
										echo ">SMTP GMAIL SSL (port 465)</option>
										<option value='php_mail' ";
										if ($row_config_globale['sending_method'] == "php_mail") 
											echo "selected='selected'" ;
										echo ">" . tr("GCONFIG_MESSAGE_SEND_METHOD_FUNCTION") . "</option>
										<option value='smtp_mutu_ovh' ";
										if ($row_config_globale['sending_method'] == "smtp_mutu_ovh") 
											echo "selected='selected'" ;
										echo ">SMTP ".tr("INSTALL_SHARED" ) . " OVH</option>
										<option value='smtp_mutu_1and1' ";
										if ($row_config_globale['sending_method'] == "smtp_mutu_1and1") 
											echo "selected='selected'" ;
										echo ">SMTP ".tr("INSTALL_SHARED" ) . " 1AND1</option>
										<option value='smtp_mutu_gandi' ";
										if ($row_config_globale['sending_method'] == "smtp_mutu_gandi") 
											echo "selected='selected'" ;
										echo ">SMTP ".tr("INSTALL_SHARED" ) . " GANDI</option>
										<option value='smtp_mutu_online' ";
										if ($row_config_globale['sending_method'] == "smtp_mutu_online") 
											echo "selected='selected'" ;
										echo ">SMTP ".tr("INSTALL_SHARED" ) . " ONLINE</option>
										<option value='smtp_mutu_infomaniak' ";
										if ($row_config_globale['sending_method'] == "smtp_mutu_infomaniak") 
											echo "selected='selected'" ;
										echo ">SMTP ".tr("INSTALL_SHARED" ) . " INFOMANIAK</option>
										<option value='smtp_one_com' ";
										if ($row_config_globale['sending_method'] == "smtp_one_com") 
											echo "selected='selected'" ;
										echo ">SMTP ONE.COM</option>
										<option value='smtp_one_com_ssl' ";
										if ($row_config_globale['sending_method'] == "smtp_one_com_ssl") 
											echo "selected='selected'" ;
										echo ">SMTP ONE.COM SSL</option>
									</select>
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_SMTP_HOST" ) . "</label>
									<input class='form-control' type='text' name='smtp_host' value='".$row_config_globale['smtp_host']."' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_SMTP_PORT" ) . "</label>
									<input class='form-control' type='text' name='smtp_port' value='".$row_config_globale['smtp_port']."' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_SMTP_AUTH" ) . "</label><br>";
									if($row_config_globale['smtp_auth']=="0"){
										echo "<input type='radio' name='smtp_auth' value='0' checked='checked'>" . tr("NO") . "&nbsp;<input type='radio' name='smtp_auth' value='1'>" . tr("YES" ) . "";
									}elseif($row_config_globale['smtp_auth']=="1"){
										echo "<input type='radio' name='smtp_auth' value='0'>" . tr("NO") . "&nbsp;<input type='radio' name='smtp_auth' value='1' checked='checked'>" . tr("YES" ) . "";
									}
							echo "	</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_SMTP_LOGIN" ) . "</label>
									<input class='form-control' type='text' name='smtp_login' value='" . ( $row_config_globale['smtp_login']!=''?$row_config_globale['smtp_login']:'' ) . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_MESSAGE_SMTP_PASSWORD" ) . "</label>
									<input class='form-control' type='password' name='smtp_pass' value='" . ( $row_config_globale['smtp_pass']!=''?$row_config_globale['smtp_pass']:'' ) . "' />
								</div>
							</div>
						</div>
					</div>
				</div>
				<div id='tab4' class='tab-pane'>
					<div class='module_content'>
						<h4>" . tr("GCONFIG_MANAGE_BOUNCE") . "</h4>
						" . tr("BOUNCE_WARNING") . "
						<div class='alert alert-danger'>".tr("ALERT_MAIL_BOUNCE" ) . "</div>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("MAIL_FOR_BOUNCE" ) . "</label>
								<input class='form-control' type='text' name='bounce_mail' id='bounce_mail' value='" . (!empty($bounce_mail) ? $bounce_mail: '') . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_HOST_MAIL" ) . "</label>
									<input class='form-control' type='text' name='bounce_host' id='bounce_host' value='" . (!empty($bounce_host) ? $bounce_host : 'localhost') . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("INSTALL_DB_LOGIN" ) . "</label>
									<input class='form-control' type='text' name='bounce_user' id='bounce_user' value='" . (!empty($bounce_user) ? $bounce_user : '') . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("INSTALL_DB_PASS" ) . "</label>
									<input class='form-control' type='password' name='bounce_pass' id='bounce_pass' value='" . (!empty($bounce_pass) ? $bounce_pass : '') . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_PORT" ) . "</label>
									<input class='form-control' type='text' name='bounce_port' id='bounce_port' value='" . (!empty($bounce_port) ? $bounce_port : '110') . "' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_SERVICE" ) . "</label>
									<input class='form-control' type='text' name='bounce_service' id='bounce_service' value='" . (!empty($bounce_service) ? $bounce_service : 'pop3') . "' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_SERVICE_OPTION" ) . "</label>
									<input class='form-control' type='text' name='bounce_option' id='bounce_option' value='" . (!empty($bounce_option) ? $bounce_option : 'notls') . "'>
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-3'>
								<input class='btn btn-success' type='button' name='action' id='TestBounce' value='".tr("GCONFIG_TEST_BOUNCE" ) . "' />
								<input type='hidden' name='bounce_token' id='bounce_token' value='$token'>
							</div>
							<div class='col-md-9'>
								<span id='RsBounce' align='center'>&nbsp;</span>
							</div>
						</div>
						<script>
						$('#TestBounce').click(function(){
							$('#RsBounce').html('".tr("GCONFIG_TRY_CONNECT" ) . "...');
							$.ajax({
								type:'POST',
								url: 'include/ajax/test_imap.php',
								data: {'bounce_host':$('#bounce_host').val(),'bounce_user':$('#bounce_user').val(),'bounce_pass':$('#bounce_pass').val(),'bounce_port':$('#bounce_port').val(),'bounce_service':$('#bounce_service').val(),'bounce_option':$('#bounce_option').val(),'token':$('#bounce_token').val()},
								cache: false,
								success: function(data){
									$('#RsBounce').html(data);
								}
							});
						});
						</script>";
					echo '	
					</div>
				</div>';
				echo "
				<div id='tab5' class='tab-pane'>
					<div class='module_content'>
						<h4>" . tr("GCONFIG_SUBSCRIPTION_TITLE") . "</h4>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_SUBSCRIPTION_CONFIRM_SUB" ) . "</label><br>
									<input type='radio' name='sub_validation'	 value='0' ";
									if (!$row_config_globale['sub_validation']) 
										echo "checked='checked'";
									echo "> " . tr("NO") . "
									&nbsp;<input type='radio' name='sub_validation' value='1' ";
									if ($row_config_globale['sub_validation']) 
										echo "checked='checked'";
									echo "> " . tr("YES") . "
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>". tr("GCONFIF_SUBSCRIPTION_VALIDATION_TIMEOUT") ."</label>
									<input class='form-control' type='text' name='validation_period' value='".$row_config_globale['validation_period']."' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_ALERT_SUB" ) . "</label><br>
									<input type='radio' name='alert_sub' value='0' ";
									if (!$row_config_globale['alert_sub']) 
										echo "checked='checked'";
									echo "> " . tr("NO") . "
									&nbsp;<input type='radio' name='alert_sub' value='1' ";
									if ( $row_config_globale['alert_sub'] || !isset($row_config_globale['alert_sub']) || $row_config_globale['alert_sub']=='' ) 
										echo "checked='checked'";
									echo "> " . tr("YES") ."
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("GCONFIG_SUBSCRIPTION_CONFIRM_UNSUB" ) . "</label><br>
									<input type='radio' name='unsub_validation' value='0' ";
									if (!$row_config_globale['unsub_validation']) 
										echo "checked='checked'";
									echo "> " . tr("NO") . "
									&nbsp;<input type='radio' name='unsub_validation' value='1' ";
									if ($row_config_globale['unsub_validation']) 
										echo "checked='checked'";
									echo "> " . tr("YES") ."
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>".tr("ALERT_UNSUB" ) . "</label><br>
									<input type='radio' name='alert_unsub' value='0' ";
									if ( @$alert_unsub==0 ) 
										echo "checked='checked'";
									echo " > " . tr("NO") . "
									&nbsp;<input type='radio' name='alert_unsub' value='1' ";
									if ( @$alert_unsub==1 || !isset($alert_unsub) || $alert_unsub=='' ) 
										echo "checked='checked'";
									echo " > " . tr("YES") ."</div>
								</div>
							</div>
						</div>";
						if( @$free_id!='' && $free_pass!='' ){
							echo "
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>Etre averti des nouvelles inscriptions par FREE sms ?</label><br>
									<input type='radio' name='sub_validation_sms' value='0' ";
									if ( @$sub_validation_sms==0 ) 
										echo "checked='checked'";
									echo " > " . tr("NO") . "
									&nbsp;<input type='radio' name='sub_validation_sms' value='1' ";
									if ( @$sub_validation_sms==1 || !isset($sub_validation_sms) || $sub_validation_sms=='' ) 
										echo "checked='checked'";
									echo " > " . tr("YES") . "
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>Etre averti d'une désinscription par FREE sms ?</label><br>
									<input type='radio' name='unsub_validation_sms' value='0' ";
									if ( @$unsub_validation_sms==0 ) 
										echo "checked='checked'";
									echo " > " . tr("NO") . "
									&nbsp;<input type='radio' name='unsub_validation_sms' value='1' ";
									if ( @$unsub_validation_sms==1 || !isset($unsub_validation_sms) || $unsub_validation_sms=='' ) 
										echo "checked='checked'";
									echo " > " . tr("YES") . "
								</div>
							</div>
						</div>";
						}
						echo "
					
				</div>";
				echo "
				<div id='tab6' class='tab-pane'>
					<div class='module_content'>
						<h4>" . tr("GCONFIG_MISC_TITLE") . "</h4>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>". tr("GCONFIG_MISC_ADMIN_PASSW" ) . " " . tr("GCONFIG_MISC_ADMIN_PASSW2") ."</label>
									<input class='form-control' type='password' name='admin_pass' value='' autocomplete='off' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>". tr("GCONFIG_MISC_BASE_URL" ) . " (Sans le / de fin !)</label>
									<input class='form-control' type='text' name='base_url' value='".$row_config_globale['base_url']."' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>". tr("GCONFIG_MISC_BASE_PATH" ) . "</label>
									<input class='form-control' type='text' name='path' value='".$row_config_globale['path']."' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>". tr("GCONFIG_MISC_LANGUAGE" ) . "</label>
									<br><select name='language' class='selectpicker' data-width='auto'>".getLanguageList($row_config_globale['language'] ) . "</select>
								</div>
							</div>
						</div>
						<h4>Présentation globale :</h4>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>Choix du menu :</label>
									<input type='radio' name='menu' value='hz' ";
									if (@$menu=='hz'||!isset($menu)||$menu=='') 
										echo "checked='checked'";
									echo "> horizontal
									&nbsp;<input type='radio' name='menu' value='vt' ";
									if (@$menu=='vt') 
										echo "checked='checked'";
									echo "> vertical
								</div>
							</div>
							<div class='col-md-6'>
								<div class='form-group'><label>Afficher le loader :</label>
									<input type='radio' name='loader' value='1' ";
									if (@$loader==1||!isset($loader)||$loader=='') 
										echo "checked='checked'";
									echo "> " . tr("YES") ."
									&nbsp;<input type='radio' name='loader' value='0' ";
									if (@$loader==0) 
										echo "checked='checked'";
									echo "> " . tr("NO") . "
								</div>
							</div>
						</div>
						<h4>Sauvegardes de la base de données :</h4>
						<div class='row'>
							<div class='col-md-6'>
								<div class='form-group'><label>Nombre de sauvegardes à conserver :</label>
									<input class='form-control' type='text' name='nb_backup' value='".@$nb_backup."' autocomplete='off' />
								</div>
							</div>
						</div>
						<h4>Paramètres SMS API (pour les titulaires de ligne FREE Mobile)</h4>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>Identifiant FREE</label>
									<input class='form-control' type='text' name='free_id' value='".@$free_id."' />
								</div>
							</div>
							<div class='col-md-4'>
								<div class='form-group'><label>Clé d'identification au service :</label>
									<input class='form-control' type='text' name='free_pass' value='".@$free_pass."' />
								</div>
							</div>
						</div>
						<div class='row'>
							<div class='col-md-12'>
								Ce service gratuit proposé par free est intégré dans PhpMyNewsLetter pour vous informer :<br>
								- des fins d'envois des messages planifiés (si option cochée et identifiants FREE renseignés)<br>
								- des nouvelles inscriptions (si option cochée et identifiants FREE renseignés)<br>
								- des désinscriptions (si option cochée et identifiants FREE renseignés)<br>
								Pour activer ce service, il faut que vous soyiez titulaire d'une ligne mobile FREE et que vous activiez le service dans votre espace personnel :<br>
								> Connexion sur <a href='https://mobile.free.fr/moncompte/' target='_blank'>FREE</a> > Gérer mon compte > Mes options > Notifications par SMS<br>
								<div align='center'><img src='css/NotifSMS-f9edd.png' /><br>&copy; <a href='https://www.freenews.fr/freenews-edition-nationale-299/free-mobile-170/nouvelle-option-notifications-par-sms-chez-free-mobile-14817'>Freenews</a></div>
								Vous renseignerez ici vos identifiants FREE (l'identifiant de connexion à votre compte) et la clé d'identification au service.<br>
								Ce n'est que lorsque ces identifiants auront été renseignés ET enregistrés que les options de notifications seront disponibles.<br>
								Les notifications seront adressées au seul numéro de mobile lié à ce compte
							</div>
						</div>
					</div>
				</div>
				<div id='tab7' class='tab-pane'>
					<div class='module_content'>
						<h4>Configuration des enregistrements DKIM, SPF et DMARC</h4>
						<div class='row'>
							<div class='col-md-4'>
								<div class='form-group'><label>Sélecteur de clé DKIM</label><br>
									<input class='form-control' type='text' name='key_dkim' id='key_dkim' value='".$key_dkim."' autocomplete='off' />
								</div>
							</div>
							<div class='col-md-4'>
								<br>Le sélecteur est la valeur avant le \"._domainkey\", exemple : <b>default</b>._domainkey.votresite.com
							</div>
						</div>
						<div class='row'>
							<div class='col-md-2'>
								<input class='btn btn-success' type='button' name='action' id='TestKeys' value='Tester les clés' />
								<input type='hidden' name='key_token' id='key_token' value='$token'>
							</div>
							<div class='col-md-1'>
							</div>
							<div class='col-md-9'>
								<span id='RsTestKeys'>&nbsp;</span>
							</div>
						</div>
						<script>
							$('#TestKeys').click(function(){
								$('#RsTestKeys').html('Test en cours...');
								$.ajax({
									type:'POST',
									url: 'include/ajax/test_dns.php',
									data: {'key_dkim':$('#key_dkim').val(),'token':$('#key_token').val()},
									cache: false,
									success: function(data){
										$('#RsTestKeys').html(data);
									}
								});
							});
						</script>
					</div>
				</div>
			</div>
		</div>
	</div>
	<div class='col-md-2'>
		<div class='content-box fixedBox'>
			<h4>" . tr( "ACTIONS" ) . " :</h4>
			<input type='hidden' name='op' value='saveGlobalconfig'>
			<input type='hidden' name='mod_sub' value='0'>
			<input type='hidden' name='token' value='$token' />
			<input type='submit' value='" . tr("GCONFIG_SAVE_BTN") . "' class='btn btn-success'>
		</div>
	</div>
</div>
</form>
<script>
	$(document).ready(function() { 
		$('#rootwizard').bootstrapWizard(); 
	})
</script>";

Ne pas hésiter à remonter les bugs de fonctionnement, et encore merci du signalement et de ta patience.

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

#19 16-11-2018 11:07:55

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Bien, déjà il n'y a plu de plantage mais :
si on coche non à la place de oui pour "Etre averti des nouvelles inscriptions par FREE sms?" et "Etre averti des nouvelles désinscription par FREE sms?" puis on enregistre, on quitte (on ferme firefox en plus) puis en relance c'est oui qui est coché alors que config.php contient :

	$sub_validation_sms = 0;
	$unsub_validation_sms = 0;

D'autre part dans "environnement" j'ai sélectionné "mutualisé" mais on revient toujours à "dédié" pourtant dans config.php on a

$type_serveur       = 'shared';

et dans "Gestion des envois" j'ai toujours "Recevoir un FREE sms de fin de tâche planifiée ? oui non"

Ce qui m' amène à la question : peut-on faire une campagne planifiée sur un hébergement OVH mutualisé?


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#20 16-11-2018 11:14:47

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Ouh que non ! Pas de tâhce cron disponible en dynamique en mutualisé !
Après il doit y avoir un souci de cache, ça se produit assez souvent, mais en vrai dédié, y'a jamais de problème.


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

#21 16-11-2018 14:50:29

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Après moultes manipulations, je confirme le bug sur dédié et mutualisé !
Dans le fichier _loader.php, il manque un "=" qui générait une affectation plutot qu'un test !

if( $type_serveur=='dedicated' ) {
	$cnx->query( "SET sql_mode = '';" );
}

Je corrige l'ensemble et republierai une version complète après d'autres tests.


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

#22 16-11-2018 16:13:49

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Arnaud a écrit :

Ouh que non ! Pas de tâhce cron disponible en dynamique en mutualisé !

Pourtant dans ma console d'administration il y a une option "Tâches planifiées - Cron", pour ce que j'en ai compris il faut indiquer un fichier à exécuter. Mais il ne s'en dit pas du bien sur les forums OVH.

Je viens de faire un dernier test d'envois de courrier. Tout est OK sauf à la fin où ça affiche "indefined %" sur la barre d'avancement. C'est sans conséquence puisque tous les destinataires de la liste de test on reçu le mail.

Un autre point sans relation avec le reste. Il manque un fichier index.php dans le répertoire DKIM après l'installation. En l'état on pouvait lister le contenu et afficher en clair la clef privée. J'ai mis les droits les droits de private.key à 600 mais je pense que des droits à 400 devraient suffire.


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#23 16-11-2018 19:44:51

archeo
Membre

Re : blocage aprés la mise en service de la notification par SMS

Arnaud a écrit :

Après moultes manipulations, je confirme le bug sur dédié et mutualisé !
Dans le fichier _loader.php, il manque un "=" qui générait une affectation plutot qu'un test !

if( $type_serveur=='dedicated' ) {
	$cnx->query( "SET sql_mode = '';" );
}

Je corrige l'ensemble et republierai une version complète après d'autres tests.

Vérifié ça fonctionne


Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE lol

Hors ligne

#24 17-11-2018 21:17:45

Arnaud
Administrateur

Re : blocage aprés la mise en service de la notification par SMS

Pour info le fichier index dans une directory n est pas obligatoire ça peut se gérer via htaccess

Le cron OVH fera l objet d un script en 2.0.6 mais c est complexe à gérer !!!


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