[ Index ]
 

Code source de SPIP Agora 1.4

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Agora1-4/ecrire/include/clevermail/ -> do.php (source)

   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  ?>


Généré le : Sat Feb 24 14:40:03 2007 par Balluche grâce à PHPXref 0.7