[ 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/ -> message_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 Message business persistence abstraction.
  20  //
  21  
  22  if (defined("_BD_MESSAGEMYSQL"))
  23      return;
  24  
  25  define("_BD_MESSAGEMYSQL", "1");
  26  
  27  require_once dirname(__FILE__). "/../message.php";
  28  
  29  /**
  30   * BD_message_mysql is an implementation for MySQL of BD_message business class.
  31   * @package    BD_mysql
  32   * @author     Erwan Le Bescond <elebescond@clever-age.com>
  33   * @access    public
  34   */
  35  class BD_message_mysql extends BD_message {
  36  
  37      // {{{ getRDV($connect_id_auteur, $vu, $annee_today, $mois_today, $statut)
  38  
  39      /**
  40       * Returns an array of Message.
  41       *
  42       *
  43       * @return Array of Message
  44       * @param $connect_id_auteur
  45       * @param $vu
  46       * @param $annee_today
  47       * @param $mois_today
  48       * @param $statut
  49       * @access public
  50       */
  51  
  52      function &getRDV ($connect_id_auteur, $vu, $annee_today, $mois_today, $statut) {
  53          $result = array();
  54          $db = &$this->_getDB();
  55  
  56          if (DB::isError($db)) {
  57              return PEAR::raiseError("[" . get_class($this). " DB_message : getRDV()] " . $db->getMessage(). "", null,
  58                                      null, null,
  59                                      null, null,
  60                                      false);
  61          }
  62  
  63          $query
  64              = "SELECT messages.* FROM " . $GLOBALS['table_prefix']. "_messages messages, " . $GLOBALS['table_prefix']. "_auteurs_messages lien
  65          WHERE (lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message)
  66           AND messages.rv='$vu' AND
  67           messages.date_heure >='$annee_today-$mois_today-1' AND
  68           messages.date_heure <= DATE_ADD('$annee_today-$mois_today-1', INTERVAL 1 MONTH)
  69           AND messages.statut='$statut' GROUP BY messages.id_message ORDER BY messages.date_heure";
  70  
  71          $queryResult = $db->query($query);
  72  
  73          if (DB::isError($queryResult)) {
  74              return PEAR::raiseError("[" . get_class($this). " DB_message : getRDV()] " . $queryResult->getMessage(). "",
  75                                      null,
  76                                      null,
  77                                      null,
  78                                      null,
  79                                      null,
  80                                      false);
  81          }
  82  
  83          while ($row = $queryResult->fetchRow()) {
  84              $resultMessage = &BD_message::factory($this->getDbParameters(), $this->getDbOptions());
  85  
  86              $maDate = new Date($row['maj']);
  87              $row['maj'] = $maDate->getDate(DATE_FORMAT_TIMESTAMP);
  88  
  89              $resultMessage->_fetchData($row);
  90              $result[] = &$resultMessage;
  91          }
  92  
  93          $queryResult->free();
  94          return $result;
  95      }
  96  
  97      // }}}
  98  
  99      // {{{ getAnnonces($type, $rv, $annee_today, $mois_today, $statut)
 100  
 101      /**
 102       * Returns an array of Message.
 103       *
 104       *
 105       * @return Array of Message
 106       * @param $connect_id_auteur
 107       * @param $vu
 108       * @param $annee_today
 109       * @param $mois_today
 110       * @param $statut
 111       * @access public
 112       */
 113  
 114      function &getAnnonces ($type, $rv, $annee_today, $mois_today, $statut) {
 115          $result = array();
 116          $db = &$this->_getDB();
 117  
 118          if (DB::isError($db)) {
 119              return PEAR::raiseError("[" . get_class($this). " DB_message : getAnnonces()] " . $db->getMessage(). "",
 120                                      null,
 121                                      null,
 122                                      null,
 123                                      null,
 124                                      null,
 125                                      false);
 126          }
 127  
 128          $query
 129              = "SELECT " . MESSAGE_ALL_FIELDS . " FROM " . $GLOBALS['table_prefix']. "_messages messages WHERE messages.type='$type' AND messages.rv='$rv' AND messages.date_heure >='$annee_today-$mois_today-1' AND messages.date_heure <= DATE_ADD('$annee_today-$mois_today-1', INTERVAL 1 MONTH) AND messages.statut='$statut' GROUP BY messages.id_message ORDER BY messages.date_heure";
 130  
 131          $queryResult = $db->query($query);
 132  
 133          if (DB::isError($queryResult)) {
 134              return PEAR::raiseError(
 135                         "[" . get_class($this). " DB_message : getAnnonces()] " . $queryResult->getMessage(). "", null,
 136                         null, null,
 137                         null, null,
 138                         false);
 139          }
 140  
 141          while ($row = $queryResult->fetchRow()) {
 142              $resultMessage = &BD_message::factory($this->getDbParameters(), $this->getDbOptions());
 143  
 144              $maDate = new Date($row['maj']);
 145              $row['maj'] = $maDate->getDate(DATE_FORMAT_TIMESTAMP);
 146  
 147              $resultMessage->_fetchData($row);
 148              $result[] = &$resultMessage;
 149          }
 150  
 151          $queryResult->free();
 152          return $result;
 153      }
 154  
 155      // }}}
 156  
 157      // {{{ getAllForAuteurIdAndStatutAndRv($connect_id_auteur, $statut, $rv)
 158  
 159      /**
 160       * Returns an array of Message.
 161       *
 162       *
 163       * @return Array of Message
 164       * @param $connect_id_auteur
 165       * @param $statut
 166       * @param $rv
 167       * @access public
 168       */
 169  
 170      function &getAllForAuteurIdAndStatutAndRv ($connect_id_auteur, $statut, $rv) {
 171          $result = array();
 172          $db = &$this->_getDB();
 173  
 174          if (DB::isError($db)) {
 175              return PEAR::raiseError(
 176                         "[" . get_class(
 177                                   $this). " DB_message : getAllForAuteurIdAndStatutAndRv()] " . $db->getMessage(). "",
 178                         null,
 179                         null,
 180                         null,
 181                         null,
 182                         null,
 183                         false);
 184          }
 185  
 186          $query
 187              = "SELECT messages.* FROM " . $GLOBALS['table_prefix']. "_messages messages, " . $GLOBALS['table_prefix']. "_auteurs_messages lien WHERE lien.id_auteur='$connect_id_auteur' AND messages.statut='$statut' AND lien.id_message=messages.id_message AND messages.rv='$rv' AND messages.date_heure>DATE_SUB(NOW(),INTERVAL 1 DAY) GROUP BY messages.id_message";
 188          $queryResult = $db->query($query);
 189  
 190          if (DB::isError($queryResult)) {
 191              return PEAR::raiseError(
 192                         "[" . get_class(
 193                                   $this). " DB_message : getAllForAuteurIdAndStatutAndRv()] " . $queryResult->getMessage(). "",
 194                         null,
 195                         null,
 196                         null,
 197                         null,
 198                         null,
 199                         false);
 200          }
 201  
 202          while ($row = $queryResult->fetchRow()) {
 203              $resultMessage = &BD_message::factory($this->getDbParameters(), $this->getDbOptions());
 204  
 205              $maDate = new Date($row['maj']);
 206              $row['maj'] = $maDate->getDate(DATE_FORMAT_TIMESTAMP);
 207  
 208              $resultMessage->_fetchData($row);
 209              $result[] = &$resultMessage;
 210          }
 211  
 212          $queryResult->free();
 213          return $result;
 214      }
 215  
 216  // }}}
 217  
 218  }
 219  ?>


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