[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 /* 20 -------------Ajout Clever Age abstraction BD--------- 21 */ 22 require_once (dirname(__FILE__). "/../../../ecrire/include/bd/inc_subscriber_factory.php"); 23 /* 24 ----------------fin zone d'ajout--------------------- 25 */ 26 27 // Ajout Olivier Mansour 28 // gestion de la constante CM_MAIL_FROM (reliquat Clever Link) 29 define("CM_MAIL_FROM", lire_meta('CM_MAIL_FROM')); 30 define("CM_MAIL_ADMIN", lire_meta('CM_MAIL_ADMIN')); 31 // fin ajout 32 33 if (isset($_GET['id']) && $_GET['id'] != '') { 34 $subscriberMetier = &recuperer_instance_subscriber(); 35 $action = $subscriberMetier->getActionForId($_GET['id']); 36 37 if (PEAR::isError($action)) { 38 die ($action->getMessage()); 39 } 40 if ($action['pnd_action_id']) { 41 switch ($action['pnd_action']) { 42 case 'subscribe': 43 $nb = $subscriberMetier->getSubscriberForLstIdAndSubId($action['lst_id'], $action['sub_id']); 44 if (PEAR::isError($nb)) { 45 die ($nb->getMessage()); 46 } 47 if ($nb == 1) { 48 $updateOK = $subscriberMetier->updateListSubscriberForLstIdAndSubId( 49 $action['pnd_mode'], $action['pnd_action_id'], $action['lst_id'], 50 $action['sub_id']); 51 52 if (PEAR::isError($updateOK)) { 53 die ($updateOK->getMessage()); 54 } 55 //echo '<p>'._T('deja_inscrit').'</p>'; 56 $cm_sub = 'already_sub'; 57 } 58 else { 59 $createOK = $subscriberMetier->createListSubscriber( 60 $action['pnd_mode'], $action['pnd_action_id'], $action['lst_id'], 61 $action['sub_id']); 62 63 if (PEAR::isError($createOK)) { 64 die ($createOK->getMessage()); 65 } 66 67 //echo '<p>'._T('inscription_valide').'</p>'; 68 $cm_sub = 'sub_ok'; 69 70 // E-mail alert sent to CleverMail administrator 71 $loadOK = $subscriberMetier->load($action['sub_id']); 72 73 if (PEAR::isError($loadOK)) { 74 die ($loadOK->getMessage()); 75 } 76 77 $newsletterMetier = &recuperer_instance_newsletter(); 78 $loadOK = $newsletterMetier->load($action['lst_id']); 79 80 if (PEAR::isError($loadOK)) { 81 die ($loadOK->getMessage()); 82 } 83 mail(($newsletterMetier->getModeratorEmail() != '' 84 ? $newsletterMetier->getModeratorEmail() : lire_meta('CM_MAIL_ADMIN')), 85 'Inscription dans ' . addslashes($newsletterMetier->getName()). ' de ' . addslashes( 86 $subscriberMetier->getEmail()), 87 '', 88 'From: ' . lire_meta('CM_MAIL_FROM')); 89 //unset($newsletterMetier); 90 } 91 break; 92 93 case 'unsubscribe': 94 $newsletterMetier = &recuperer_instance_newsletter(); 95 $loadOK = $newsletterMetier->load($action['lst_id']); 96 if (PEAR::isError($loadOK)) { 97 die ($loadOK->getMessage()); 98 } 99 $mySubscriber = &recuperer_instance_subscriber(); 100 $loadOK = $mySubscriber->load($action['sub_id']); 101 if (PEAR::isError($loadOK)) { 102 die ($loadOK->getMessage()); 103 } 104 $deleteAllPendingForSubIdOK = $mySubscriber->deleteAllPendingForSubId($newsletterMetier); 105 if (PEAR::isError($deleteAllPendingForSubIdOK)) { 106 die ($deleteAllPendingForSubIdOK->getMessage()); 107 } 108 //echo '<p>'._T('desinscription_valide').'</p>'; 109 $cm_sub = 'unsub_ok'; 110 111 // E-mail alert sent to CleverMail administrator 112 mail(($newsletterMetier->getModeratorEmail() != '' 113 ? $newsletterMetier->getModeratorEmail() : lire_meta('CM_MAIL_ADMIN')), 114 'Désinscription de ' . addslashes( 115 $newsletterMetier->getName()). ' de ' . addslashes( 116 $mySubscriber->getEmail()), 117 '', 118 'From: ' . lire_meta('CM_MAIL_FROM')); 119 break; 120 } 121 122 $deleteActionPendingOK = $subscriberMetier->deleteActionPending($_GET['id']); 123 if (PEAR::isError($deleteActionPendingOK)) { 124 die ($deleteActionPendingOK->getMessage()); 125 } 126 } 127 else { 128 echo '<p>' . _T('operation_valide'). '</p>'; 129 } 130 /* 131 if ($action = $db->getRow("SELECT * FROM ".CM_TABLE_PREFIX."_pending WHERE pnd_action_id='".$_GET['id']."'")) { 132 switch ($action['pnd_action']) { 133 case 'subscribe' : 134 if ($db->getOne("SELECT COUNT(*) FROM ".CM_TABLE_PREFIX."_lists_subscribers WHERE lst_id = ".$action['lst_id']." AND sub_id = ".$action['sub_id']) == 1) { 135 $db->query("UPDATE ".CM_TABLE_PREFIX."_lists_subscribers SET lsr_mode = ".$action['pnd_mode'].", lsr_id = '".$action['pnd_action_id']."' WHERE lst_id = ".$action['lst_id']." AND sub_id = ".$action['sub_id']); 136 echo '<p>Vous étiez déjà inscrit à cette liste. Votre mode d\'inscription a été mis à jour.</p>'; 137 } else { 138 $db->query("INSERT INTO ".CM_TABLE_PREFIX."_lists_subscribers (lst_id, sub_id, lsr_mode, lsr_id) VALUES (".$action['lst_id'].", ".$action['sub_id'].", ".$action['pnd_mode'].", '".$action['pnd_action_id']."')"); 139 echo '<p>Votre inscription est validée. Merci.</p>'; 140 141 // E-mail alert sent to CleverMail administrator 142 $sub = $db->getRow("SELECT * FROM ".CM_TABLE_PREFIX."_subscribers WHERE sub_id = ".$action['sub_id']); 143 $list = $db->getRow("SELECT * FROM ".CM_TABLE_PREFIX."_lists WHERE lst_id = ".$action['lst_id']); 144 mail(($list['lst_moderator_email'] != '' ? $list['lst_moderator_email'] : CM_MAIL_ADMIN), 'Inscription dans '.addslashes($list['lst_name']).' de '.addslashes($sub['sub_email']), '', 'From: '.CM_MAIL_FROM); 145 } 146 break; 147 case 'unsubscribe' : 148 $db->query("DELETE FROM ".CM_TABLE_PREFIX."_pending WHERE sub_id = ".$action['sub_id']); 149 $db->query("DELETE FROM ".CM_TABLE_PREFIX."_posts_queued WHERE sub_id = ".$action['sub_id']); 150 $db->query("DELETE FROM ".CM_TABLE_PREFIX."_lists_subscribers WHERE lst_id = ".$action['lst_id']." AND sub_id = ".$action['sub_id']); 151 echo '<p>Votre désinscription est validée. A bientôt.</p>'; 152 153 // E-mail alert sent to CleverMail administrator 154 $sub = $db->getRow("SELECT * FROM ".CM_TABLE_PREFIX."_subscribers WHERE sub_id = ".$action['sub_id']); 155 $list = $db->getRow("SELECT * FROM ".CM_TABLE_PREFIX."_lists WHERE lst_id = ".$action['lst_id']); 156 mail(($list['lst_moderator_email'] != '' ? $list['lst_moderator_email'] : CM_MAIL_ADMIN), 'Désinscription de '.addslashes($list['lst_name']).' de '.addslashes($sub['sub_email']), '', 'From: '.CM_MAIL_FROM); 157 break; 158 } 159 $db->query("DELETE FROM ".CM_TABLE_PREFIX."_pending WHERE pnd_action_id='".$_GET['id']."'"); 160 } else { 161 echo '<p>Cette opération a déjà été validée. Merci.</p>'; 162 } 163 */ 164 } 165 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |