// // Purge des éventuelles inscriptions dépassées // pour parer au cas d'une réinscription // purge_liste(); require WA_ROOTDIR . '/includes/class.form.php'; if (!empty($action)) { if (in_array($action, array('inscription', 'setformat', 'desinscription'))) { $sql = "SELECT liste_id, liste_format, sender_email, liste_alias, limitevalidate,\n\t\t\t\t\tliste_name, form_url, return_email, liste_sig, use_cron, confirm_subscribe\n\t\t\t\tFROM " . LISTE_TABLE . "\n\t\t\t\tWHERE liste_id = " . $liste; if (!($result = $db->query($sql))) { trigger_error('Impossible d\'obtenir les données sur la liste', ERROR); } if ($listdata = $result->fetch()) { $wanewsletter = new Wanewsletter($listdata); $wanewsletter->message =& $message; $wanewsletter->do_action($action, $email, $format); } else { $message = $lang['Message']['Unknown_list']; } } else { $message = $lang['Message']['Invalid_action']; } } else { $wanewsletter = new Wanewsletter(); $wanewsletter->message =& $message; $wanewsletter->check_code($code); } } if (defined('IN_WA_FORM')) { // // On réactive le gestionnaire d'erreur précédent
$action = 'inscription'; break; case 'confirmation': case 'setformat': break; default: $pop->delete_mail($mail_id); continue 2; break; } $code = $pop->contents[$mail_id]['message']; if (strlen($code) == 32) { $code = substr($code, 0, 20); } if ($action == 'inscription' || $action == 'setformat' || $action == 'desinscription' && empty($code)) { $wan->do_action($action, $email); } else { if (empty($headers['date']) || intval($time = strtotime($headers['date'])) > 0) { $time = time(); } $wan->check_code($code, $time); } // // On supprime l'email maintenant devenu inutile // $pop->delete_mail($mail_id); $cpt++; if ($cpt > $limit_security) { break; } }