Vous n'êtes pas identifié(e).
[25 janvier 2021] - Publication de Wanewsletter 3.1.0
Pages : 1
le fonctionnement est:
Si on part de rien ou d'une sauvegarde, lors de l'envoi, le statut de cette lettre est mis sur 'envoi en cours". A la fin de l'envoi, il est positionné sur 'envoyé' (archive)
Si on part d'un modèle, une copie est créé lors de l'envoi et c'est à partir de celle ci que les changements de statut vont se faire.
Si on modifie une modèle puis qu'on le sauvegarde en tant que lettre de diffusion normale, une copie est créé et c'est celle la qui contient les dernières modifications sauvegardées, pas le modèle.
L'inverse n'est pas vrai. Une sauvegarde précédente qui l'on enregistre ultérieurement comme étant un modèle voit son statut changé pour 'modèle'. (pas de copie)
Dans tous les cas, les modèles ne sont pas supprimés.
Le seul cas où ils le sont, c'est quand on en charge un puis qu'on clique sur le bouton 'supprimer'.
Quelle est la version du script que vous utilisez ?
PHP et MySQL, un duo gagnant !
Hors ligne
Effectivement, j'ai pu reproduire le bug avec la version 2.2.8…
Ça peut être assez génant
PHP et MySQL, un duo gagnant !
Hors ligne
Même bug potentiel lorsqu'on supprime une pièce jointe.
PHP et MySQL, un duo gagnant !
Hors ligne
Le problème est corrigé sur les branches 2.2 et 2.3.
Voilà le différentiel entre le fichier envoi.php de la version 2.2.8 et celui de la branche de développement intégrant le correctif:
--- 2.2.8/admin/envoi.php 2005-11-14 01:22:12.000000000 +0100
+++ branche_2.2/admin/envoi.php 2005-11-29 17:32:30.000000000 +0100
@@ -34,8 +34,6 @@
$listdata = $auth->listdata[$admindata['session_liste']];
-$mode = ( !empty($_REQUEST['mode']) ) ? $_REQUEST['mode'] : '';
-
$logdata = array();
$logdata['log_id'] = ( !empty($_REQUEST['id']) ) ? intval($_REQUEST['id']) : 0;
$logdata['log_subject'] = ( !empty($_POST['subject']) ) ? trim($_POST['subject']) : '';
@@ -43,6 +41,9 @@
$logdata['log_body_html'] = ( !empty($_POST['body_html']) ) ? trim($_POST['body_html']) : '';
$logdata['log_status'] = ( !empty($_POST['log_status']) ) ? STATUS_HANDLE : STATUS_WRITING;
+$mode = ( !empty($_REQUEST['mode']) ) ? $_REQUEST['mode'] : '';
+$prev_status = ( isset($_POST['prev_status']) ) ? intval($_POST['prev_status']) : $logdata['log_status'];
+
if( isset($_POST['cancel']) )
{
Location('envoi.php?mode=load&id=' . $logdata['log_id']);
@@ -114,6 +115,7 @@
if( $row = $db->fetch_array($result) )
{
$logdata = $row;
+ $prev_status = $row['log_status'];
}
else
{
@@ -342,7 +344,6 @@
if( !$error )
{
- $prev_status = ( isset($_POST['prev_status']) ) ? $_POST['prev_status'] : 0;
$sql_where = '';
$duplicate_log = false;
$duplicate_file = false;
@@ -462,6 +463,7 @@
}
$logdata['log_id'] = $tmp_id;
+ $prev_status = $logdata['log_status'];
unset($tmp_id);
if( $mode == 'save' || $mode == 'send' )
@@ -685,7 +687,7 @@
$output->addScript($waroot . 'templates/admin/editor.js');
$output->addHiddenField('id' , $logdata['log_id']);
-$output->addHiddenField('prev_status', $logdata['log_status']);
+$output->addHiddenField('prev_status', $prev_status);
$output->addHiddenField('sessid' , $session->session_id);
$output->page_header();
Les indications entre @@ sont les numéros de ligne (en gros). Les lignes précédées d'un signe moins sont à supprimer et celles précédées d'un signe plus doivent être ajoutées.
Pas le temps de faire plus clair dans l'immédiat.
PHP et MySQL, un duo gagnant !
Hors ligne
Pages : 1