[ 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/bd/mysql/ -> subscriber_link_mysql.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  // Base class for mot business persistence abstraction.
  20  //
  21  
  22  if (defined("_BD_INDEX_MOTS_MYSQL"))
  23      return;
  24  
  25  define("_BD_INDEX_MOTS_MYSQL", "1");
  26  
  27  require_once dirname(__FILE__). "/../index_mots.php";
  28  
  29  /**
  30   * BD_index_mots_mysql is an implementation for MySQL of BD_index_mots business class.
  31   * @package    BD_mysql
  32   * @author     Erwan Le Bescond <elebescond@clever-age.com>
  33   * @access    public
  34   */
  35  class BD_subscriber_link_mysql extends BD_subscriber_link {
  36  
  37      // {{{ liste_user()
  38      //fonction de listage des utilisateurs appartenant à la newsletter ayant l'id spécifié en entrée
  39      //La méthode retourne un tableau contenant la liste des identifiants sub_id concerné par la newsletter
  40  
  41  	function liste ($id) {
  42          $db = &$this->_getDB();
  43  
  44          if (DB::isError($db)) {
  45              return PEAR::raiseError(
  46                         "[" . get_class($this). " DB_subscriber_link : liste_user_inscrit()] " . $db->getMessage(). "",
  47                         null,
  48                         null,
  49                         null,
  50                         null,
  51                         null,
  52                         false);
  53          }
  54  
  55          //cm_ls.lst_id lst_id, cm_ls.sub_id sub_id_ls, cm_ls.lsr_mode lsr_mode, cm_ls.lsr_id lsr_id ";
  56          $query
  57              = " SELECT cm_ls.sub_id sub_id, cm_s.sub_email email,  cm_s.sub_first_name sub_first_name, cm_s.sub_middle_name sub_middle_name, cm_s.sub_last_name sub_last_name, cm_s.sub_title sub_title, cm_s.sub_profile sub_profile, cm_ls.lsr_mode mode, cm_ls.lst_id lst_id, 'NOTPENDING' statut
  58                         FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers cm_ls INNER JOIN " . $GLOBALS['table_prefix']. "_cm_subscribers cm_s ON cm_ls.sub_id = cm_s.sub_id
  59                         WHERE cm_ls.lst_id = $id ORDER by email";
  60          $query_pending
  61              = " SELECT cm_p.sub_id sub_id, cm_s.sub_email email, cm_s.sub_first_name sub_first_name, cm_s.sub_middle_name sub_middle_name, cm_s.sub_last_name sub_last_name, cm_s.sub_title sub_title, cm_s.sub_profile sub_profile, cm_p.pnd_mode mode, cm_p.lst_id lst_id, 'PENDING' statut
  62                         FROM " . $GLOBALS['table_prefix']. "_cm_pending cm_p INNER JOIN " . $GLOBALS['table_prefix']. "_cm_subscribers cm_s ON cm_p.sub_id = cm_s.sub_id
  63                         WHERE cm_p.lst_id = $id ORDER by email";
  64  
  65          $result = $db->query($query);
  66          $result_pending = $db->query($query_pending);
  67  
  68          if (DB::isError($result) || DB::isError($result_pending)) {
  69              return PEAR::raiseError(
  70                         "[" . get_class(
  71                                   $this). " DB_subscriber_link : liste_user_inscrit()] " . $result->getMessage(). "",
  72                         null,
  73                         null,
  74                         null,
  75                         null,
  76                         null,
  77                         false);
  78          }
  79          else {
  80              while ($row = $result->fetchRow()) {
  81                  $tab_inscrit_classe[$row['email']] = $row;
  82              }
  83  
  84              while ($row_pending = $result_pending->fetchRow()) {
  85                  $tab_inscrit_pending[$row['email']] = $row;
  86              }
  87  
  88              $tab_retour2 = array(0 => $tab_inscrit_classe, 1 => $tab_inscrit_pending);
  89              return ($tab_retour2);
  90          }
  91      }
  92  
  93      // }}}
  94  
  95      // {{{ liste_user_inscrit()
  96  
  97  	function liste_user_inscrit ($id) {
  98          $db = &$this->_getDB();
  99  
 100          if (DB::isError($db)) {
 101              return PEAR::raiseError(
 102                         "[" . get_class($this). " DB_subscriber_link : liste_user_inscrit()] " . $db->getMessage(). "",
 103                         null,
 104                         null,
 105                         null,
 106                         null,
 107                         null,
 108                         false);
 109          }
 110  
 111          $query
 112              = "SELECT cm_ls.sub_id sub_id, cm_s.sub_email email, cm_ls.lsr_mode mode, cm_ls.lst_id lst_id, 'NOTPENDING' statut
 113                         FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers cm_ls INNER JOIN " . $GLOBALS['table_prefix']. "_cm_subscribers cm_s ON cm_ls.sub_id = cm_s.sub_id
 114                         WHERE cm_ls.lst_id = $id ORDER by email";
 115  
 116          $result = $db->query($query);
 117  
 118          if (DB::isError($result)) {
 119              return PEAR::raiseError(
 120                         "[" . get_class(
 121                                   $this). " DB_subscriber_link : liste_user_inscrit()] " . $result->getMessage(). "",
 122                         null,
 123                         null,
 124                         null,
 125                         null,
 126                         null,
 127                         false);
 128          }
 129          else {
 130              while ($row = $result->fetchRow()) {
 131                  $tab_inscrit_classe[$row['email']] = $row;
 132                  $initial = substr($row['email'], 0, 1);
 133                  $tab_initial_2[$initial] = $initial;
 134              }
 135  
 136              $tab_retour2 = array(0 => $tab_inscrit_classe, 1 => $tab_initial_2);
 137              return ($tab_retour2);
 138          }
 139      }
 140  
 141      // }}}     
 142  
 143  	function liste_user_non_inscrit ($id) {
 144          $db = &$this->_getDB();
 145  
 146          if (DB::isError($db)) {
 147              return PEAR::raiseError(
 148                         "[" . get_class(
 149                                   $this). " DB_subscriber_link : liste_user_non_inscrit()] " . $db->getMessage(). "1",
 150                         null,
 151                         null,
 152                         null,
 153                         null,
 154                         null,
 155                         false);
 156          }
 157  
 158          $query
 159              = "SELECT cm_ls.sub_id sub_id, cm_ls.sub_email email, cm_s.pnd_mode mode, cm_s.lst_id lst_id, 'PENDING' statut
 160                          FROM " . $GLOBALS['table_prefix']. "_cm_subscribers cm_ls INNER JOIN " . $GLOBALS['table_prefix']. "_cm_pending cm_s ON cm_ls.sub_id = cm_s.sub_id
 161                          WHERE cm_s.lst_id = $id ORDER by email ";
 162  
 163          $result = $db->query($query);
 164  
 165          if (DB::isError($result)) {
 166              return PEAR::raiseError(
 167                         "[" . get_class(
 168                                   $this). " DB_subscriber_link : liste_user_non_inscrit()] " . $result->getMessage(). "2",
 169                         null,
 170                         null,
 171                         null,
 172                         null,
 173                         null,
 174                         false);
 175          }
 176          else {
 177              while ($row = $result->fetchRow()) {
 178                  $tab_non_inscrit_classe[$row['email']] = $row;
 179                  $initial = substr($row['email'], 0, 1);
 180                  $tab_initial[$initial] = $initial;
 181              }
 182  
 183              $tab_retour = array(0 => $tab_non_inscrit_classe, 1 => $tab_initial);
 184              return ($tab_retour);
 185          }
 186      }
 187  
 188      // }}}     
 189  
 190  	function searh_mail_inscrit ($id, $email) {
 191          $db = &$this->_getDB();
 192  
 193          if (DB::isError($db)) {
 194              return PEAR::raiseError(
 195                         "[" . get_class($this). " DB_subscriber_link : searh_mail_inscrit()] " . $db->getMessage(). "",
 196                         null,
 197                         null, null, null, null, false);
 198          }
 199  
 200          $query = "SELECT cm_ls.sub_id sub_id, cm_s.sub_email email, cm_ls.lsr_mode mode, cm_ls.lst_id lst_id, 'NOTPENDING' statut
 201                         FROM " . $GLOBALS['table_prefix']. "_cm_lists_subscribers cm_ls INNER JOIN " . $GLOBALS['table_prefix']. "_cm_subscribers cm_s ON cm_ls.sub_id = cm_s.sub_id
 202                         WHERE cm_ls.lst_id = $id AND sub_email like '%" . $email . "%' ORDER by email  ";
 203          //echo $query;
 204          $result = $db->query($query);
 205  
 206          if (DB::isError($result)) {
 207              return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : searh_mail_inscrit()] " . $result->getMessage(). "", null, null, null, null, null, false);
 208          }
 209          else {
 210              while ($row = $result->fetchRow()) {
 211                  $tab_inscrit_classe[$row['email']] = $row;
 212                  $initial = substr($row['email'], 0, 1);
 213                  $tab_initial_2[$initial] = $initial;
 214              }
 215  
 216              $tab_retour2 = array(0 => $tab_inscrit_classe, 1 => $tab_initial_2);
 217              return ($tab_retour2);
 218          }
 219      }
 220  
 221  	function searh_mail_non_inscrit ($id, $email) {
 222          $db = &$this->_getDB();
 223  
 224          if (DB::isError($db)) {
 225              return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : searh_mail_non_inscrit()] " . $db->getMessage(). "", null, null, null, null, null, false);
 226          }
 227  
 228          $query = "SELECT cm_p.sub_id sub_id, cm_s.sub_email email, cm_s.sub_first_name sub_first_name, cm_s.sub_middle_name sub_middle_name, cm_s.sub_last_name sub_last_name, cm_s.sub_title sub_title, cm_s.sub_profile sub_profile, cm_p.pnd_mode mode, cm_p.lst_id lst_id, 'PENDING' statut
 229                         FROM " . $GLOBALS['table_prefix']. "_cm_pending cm_p INNER JOIN " . $GLOBALS['table_prefix']. "_cm_subscribers cm_s ON cm_p.sub_id = cm_s.sub_id
 230                         WHERE cm_p.lst_id = $id AND sub_email like '%" . $email . "%' ORDER by email ";
 231          //echo $query;
 232          $result = $db->query($query);
 233  
 234          if (DB::isError($result)) {
 235              return PEAR::raiseError("[" . get_class($this). " DB_subscriber_link : searh_mail_non_inscrit()] " . $result->getMessage(). "", null, null, null, null, null, false);
 236          }
 237          else {
 238              while ($row = $result->fetchRow()) {
 239                  $tab_inscrit_classe[$row['email']] = $row;
 240                  $initial = substr($row['email'], 0, 1);
 241                  $tab_initial_2[$initial] = $initial;
 242              }
 243  
 244              $tab_retour2 = array(0 => $tab_inscrit_classe, 1 => $tab_initial_2);
 245              return ($tab_retour2);
 246          }
 247      }
 248  }
 249  ?>


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