function genie_clevermail_auto_ajout_abonnes_dist() { if ($autoListes = sql_select("lst_id, lst_name, lst_auto_subscribers, lst_auto_subscribers_mode", "spip_cm_lists", "lst_auto_subscribers != '' AND lst_auto_subscribers_updated < " . (time() - 60 * 60 * 24))) { include_spip('inc/distant'); while ($liste = sql_fetch($autoListes)) { if ($adresses = recuperer_page($liste['lst_auto_subscribers'])) { if (!clevermail_verification_adresses_email($adresses)) { // XXX : log en chaîne de langue spip_log('Le format des adresses e-mail ne semble pas bon dans le fichier distant d\'adresses de la liste « ' . $liste['lst_name'] . ' » (id=' . $liste['lst_id'] . ') : ' . $liste['lst_auto_subscribers'], 'clevermail'); } else { $retour = clevermail_abonnes_ajout(array($liste['lst_id']), intval($liste['lst_auto_subscribers_mode']), $adresses); sql_updateq("spip_cm_lists", array('lst_auto_subscribers_updated' => time()), "lst_id=" . $liste['lst_id']); // XXX : log en chaîne de langue $msg = 'Ajout automatique d\'abonnés à la liste « ' . $liste['lst_name'] . ' » (id=' . $liste['lst_id'] . ') à partir du fichier ' . $liste['lst_auto_subscribers'] . ' : '; if ($retour === false) { $msg .= _T('clevermail:aucun_nouvel_abonne'); } else { $msg .= $retour['nb_nouv'] > 0 ? $retour['nb_nouv'] . _T('clevermail:n_nouveaux_abonnes') : _T('clevermail:aucun_nouvel_abonne'); $msg .= $retour['nb_nouv'] > 0 && $retour['nb_maj'] > 0 ? _T('clevermail:nouveaux_abonnes_et') : ''; $msg .= $retour['nb_maj'] > 0 ? $retour['nb_maj'] . _T('clevermail:changements_mode_abonnement') : ''; spip_log($msg, 'clevermail'); } } } else { // XXX : log en chaîne de langue spip_log('Impossible de télécharger le fichier distant d\'adresses de la liste « ' . $liste['lst_name'] . ' » (id=' . $liste['lst_id'] . ') : ' . $liste['lst_auto_subscribers'], 'clevermail'); } } } return 1; }
function clevermail_abonnes_ajout_plus($lst_ids, $lsr_mode, $adresses, $champ_exercice, $territoire) { if (clevermail_verification_adresses_email($adresses)) { $adresses = clevermail_chaine_email_en_tableau($adresses); $nb_nouv = 0; $nb_maj = 0; if (sizeof($adresses) > 0) { foreach ($adresses as $adresse) { if (!($sub_id = sql_getfetsel("sub_id", "spip_cm_subscribers", "sub_email=" . sql_quote($adresse)))) { // Ajout d'un nouvel abonné $sub_id = sql_insertq("spip_cm_subscribers", array('sub_email' => $adresse, 'sub_champ_exercice' => $champ_exercice, 'sub_territoire' => $territoire)); sql_updateq("spip_cm_subscribers", array('sub_profile' => md5($sub_id . '#' . $adresse . '#' . time())), "sub_id=" . intval($sub_id)); } foreach ($lst_ids as $lst_id) { $lst_name = sql_getfetsel("lst_name", "spip_cm_lists", "lst_id=" . intval($lst_id)); if (sql_countsel("spip_cm_lists_subscribers", "lst_id=" . intval($lst_id) . " AND sub_id=" . intval($sub_id)) == 0) { // Ajout de l'abonnement à cette liste sql_insertq("spip_cm_lists_subscribers", array('lst_id' => intval($lst_id), 'sub_id' => intval($sub_id), 'lsr_mode' => intval($lsr_mode), 'lsr_id' => md5('subscribe#' . $lst_id . '#' . $sub_id . '#' . time()))); // XXX : log en chaîne de langue spip_log('Ajout de ' . $adresse . ' (id=' . $sub_id . ') à la liste « ' . $lst_name . ' » (id=' . $lst_id . ')', 'clevermail'); $nb_nouv++; } else { if ($lsr_mode != sql_getfetsel("lsr_mode", "spip_cm_lists_subscribers", "lst_id=" . intval($lst_id) . " AND sub_id=" . intval($sub_id))) { // Mise à jour du mode d'abonnement sql_updateq("spip_cm_lists_subscribers", array('lsr_mode' => intval($lsr_mode)), "lst_id=" . intval($lst_id) . " AND sub_id=" . intval($sub_id)); // XXX : log en chaîne de langue spip_log('Changement de mode d\'abonnement de ' . $adresse . ' (id=' . $sub_id . ') à la liste « ' . $lst_name . ' » (id=' . $lst_id . ')', 'clevermail'); $nb_maj++; } } } } } } else { return false; } return array('nb_nouv' => $nb_nouv, 'nb_maj' => $nb_maj); }
function formulaires_clevermail_subscriber_new_verifier_dist() { $erreurs = array(); if ((!isset($_FILES['cm_file']) || $_FILES['cm_file']['name'] == '' || !is_uploaded_file($_FILES['cm_file']['tmp_name'])) && _request('cm_subs') == '') { $erreurs['cm_file'] = _T('clevermail:vous_devez_choisir_un_fichier'); $erreurs['cm_subs'] = _T('clevermail:et_ou_saisir_des_adresses'); } if (isset($_FILES['cm_file']) && is_uploaded_file($_FILES['cm_file']['tmp_name'])) { $adresses = implode('', file($_FILES['cm_file']['tmp_name'])); if (!clevermail_verification_adresses_email($adresses)) { $erreurs['cm_file'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon'); } } if (_request('cm_subs') != '' && !clevermail_verification_adresses_email(_request('cm_subs'))) { $erreurs['cm_subs'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon'); } if (sizeof(_request('cm_lists')) == 0) { $erreurs['cm_lists'] = _T('clevermail:vous_devez_choisir_au_moins_une_liste'); } if (count($erreurs)) { $erreurs['message_erreur'] = _T('clevermail:veuillez_corriger_votre_saisie'); } return $erreurs; }
function formulaires_clevermail_list_edit_verifier_dist($lst_id = -1) { $erreurs = array(); foreach (array('lst_name', 'lst_moderator_email', 'lst_url_html') as $obligatoire) { if (!_request($obligatoire)) { $erreurs[$obligatoire] = _T('clevermail:ce_champ_est_obligatoire'); } } $nb = sql_countsel("spip_cm_lists", "lst_id != " . intval(_request('lst_id')) . " AND lst_name = " . sql_quote(_request('lst_name'))); if ($nb > 0) { $erreurs['lst_name'] = _T('clevermail:lettre_meme_nom'); } include_spip('inc/filtres'); if (_request('lst_moderator_email') && !email_valide(_request('lst_moderator_email'))) { $erreurs['lst_moderator_email'] = _T('clevermail:cette_adresse_email_n_est_pas_valide'); } if (_request('lst_auto_mode') && _request('lst_auto_mode') != 'none') { if (in_array(_request('lst_auto_mode'), array('day', 'week', 'month'))) { if (_request('lst_auto_hour') && (intval(_request('lst_auto_hour')) < 0 || intval(_request('lst_auto_hour')) > 23)) { $erreurs['lst_auto_hour'] = _T('clevermail:auto_erreur_cette_heure_existe_pas'); } switch (_request('lst_auto_mode')) { case 'day': break; case 'week': if (!_request('lst_auto_week_days') || count(_request('lst_auto_week_days')) == 0) { $erreurs['lst_auto_week_days'] = _T('clevermail:auto_erreur_choisir_un_jour_minimum'); } elseif (min(_request('lst_auto_week_days')) < 0 || max(_request('lst_auto_week_days')) > 6) { $erreurs['lst_auto_week_days'] = _T('clevermail:auto_erreur_ce_jour_semaine_existe_pas'); } break; case 'month': if (_request('lst_auto_month_day') && (intval(_request('lst_auto_month_day')) < 0 || intval(_request('lst_auto_month_day')) > 31)) { $erreurs['lst_auto_month_day'] = _T('clevermail:auto_erreur_ce_jour_mois_existe_pas'); } elseif (intval(_request('lst_auto_month_day')) > 28) { $erreurs['lst_auto_month_day'] = _T('clevermail:auto_erreur_ce_jour_mois_pas_possible'); } break; } } else { $erreurs['lst_auto_mode'] = _T('clevermail:auto_erreur_ce_mode_automatisation_existe_pas'); } } if (_request('lst_auto_subscribers') != '') { include_spip('inc/distant'); if ($adresses = recuperer_page(_request('lst_auto_subscribers'))) { include_spip('inc/clevermail_abonnes'); if (!clevermail_verification_adresses_email($adresses)) { $erreurs['lst_auto_subscribers'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon'); } } else { $erreurs['lst_auto_subscribers'] = _T('clevermail:fichier_adresses_distant_impossible_telecharger'); } } if (count($erreurs)) { $erreurs['message_erreur'] = _T('clevermail:veuillez_corriger_votre_saisie'); } return $erreurs; }