[ 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/ -> glossaire.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 Glossaire business persistence abstraction.
  20  //
  21  
  22  /* Ajout Clever Age / Erwan LE BESCOND / Couche m�tier */
  23  require_once (dirname(__FILE__). "/inc_visite_factory.php");
  24  
  25  require_once (dirname(__FILE__). "/inc_referer_factory.php");
  26  require_once (dirname(__FILE__). "/inc_auteur_factory.php");
  27  /* fin zone de modification Clever Age */
  28  
  29  require_once("PEAR.php");
  30  require_once("DB.php");
  31  
  32  require_once dirname(__FILE__). "/metier.php";
  33  
  34  define("GLOSSAIRE_ALL_FIELDS", "id, mot, url");
  35  
  36  /**
  37   * BD_glossaire is a base class for glossaire business persistence abstraction implementations, and must be
  38   * inherited by all such.
  39   * @package    BD
  40   * @author  Aurélien Vialet <avialet@clever-age.com>
  41   * @access    public
  42   */
  43  
  44  class BD_glossaire extends BD_metier {
  45  
  46      // {{{ properties
  47  
  48      /**
  49       * Glossaire ID.
  50       * @var     int
  51       * @access  private
  52       */
  53      var $_glossaireId;
  54  
  55      /**
  56       * Mot
  57       * @var        String
  58       * @access    private
  59       */
  60      var $_mot;
  61  
  62      /**
  63       * url
  64       * @var        String
  65       * @access    private
  66       */
  67      var $_url;
  68  
  69      // }}}
  70  
  71      // {{{ factory()
  72  
  73      /**
  74       * This method is a factory static method. It should be used to get any
  75       * specific implementation instance of Glossaire business data type.
  76       * @param   BD_parameters DB connection parameters
  77       * @access public
  78       */
  79      function &factory ($dbParameters, $dbOptions = null) {
  80          if (file_exists(dirname(__FILE__). "/" . $dbParameters->_dbEngine . "/glossaire_" . $dbParameters->_dbEngine . ".php") == false) {
  81              include_once (dirname(__FILE__). "/common/glossaire_common.php");
  82              $classname = "BD_glossaire_common";
  83          }
  84          else {
  85              include_once (dirname(__FILE__). "/" . $dbParameters->_dbEngine . "/glossaire_" . $dbParameters->_dbEngine . ".php");
  86              $classname = "BD_glossaire_" . $dbParameters->_dbEngine;
  87          }
  88  
  89          if (!class_exists($classname)) {
  90              return PEAR::raiseError("Cannot instanciate class $classname", null, null, null, null, null, false);
  91          }
  92  
  93          $obj = &new $classname;
  94          $result = $obj->setDbParameters($dbParameters);
  95  
  96          if ($dbOptions != null) {
  97              $obj->setDbOptions($dbOptions);
  98          }
  99  
 100          if (PEAR::isError($result)) {
 101              return $result;
 102          }
 103          else {
 104              return $obj;
 105          }
 106      }
 107  
 108      // }}}
 109  
 110      // {{{ constructor
 111  
 112      /**
 113       * DB_glossaire constructor.
 114       *
 115       * @access public
 116       */
 117  
 118  	function BD_glossaire () { }
 119  
 120      // }}}
 121  
 122      // {{{ getGlossaireId
 123  
 124  	function getGlossaireId () {
 125          return $this->_glossaireId;
 126      }
 127  
 128      // }}}
 129  
 130      // {{{ setGlossaireId()
 131  
 132  	function setGlossaireId ($glossaireId) {
 133          $this->_glossaireId = $glossaireId;
 134      }
 135  
 136      // {{{ getGlossaireMot
 137  
 138  	function getGlossaireMot () {
 139          return $this->_mot;
 140      }
 141  
 142      // }}}
 143  
 144      // {{{ setGlossaireMot
 145  
 146  	function setGlossaireMot ($mot) {
 147          $this->_mot = $mot;
 148      }
 149  
 150      // }}}
 151  
 152      // {{{ getGlossaireUrl
 153  
 154  	function getGlossaireUrl () {
 155          return $this->_url;
 156      }
 157  
 158      // }}}
 159  
 160      // {{{ setGlossaireUrl
 161  
 162  	function setGlossaireUrl ($url) {
 163          $this->_url = $url;
 164      }
 165  
 166      // {{{ create()
 167  
 168      /**
 169       * This method is used to create a new glossaire in the database
 170       * @access public
 171       */
 172  
 173  	function create () {
 174          $db = &$this->_getDB();
 175  
 176          if (DB::isError($db)) {
 177              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : create()] " . $db->getMessage(). "", null, null, null, null, null, false);
 178          }
 179  
 180          $string_prefix = $GLOBALS['table_prefix']. "_glossaire";
 181  
 182          $glossaireId = $db->nextId($string_prefix, true);
 183  
 184          if (DB::isError($glossaireId)) {
 185              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : create()] " . $glossaireId->getMessage(). "", null, null, null, null, null, false);
 186          }
 187  
 188          $this->_glossaireId = $glossaireId;
 189  
 190          if ($this->_mot == null)
 191              $this->_glossaireMot = 0;
 192  
 193          if ($this->_url == null)
 194              $this->_url = 0;
 195  
 196          $query = "INSERT INTO " . $GLOBALS['table_prefix']. "_glossaire (" . GLOSSAIRE_ALL_FIELDS . ") VALUES " . "(" . $this->_glossaireId . ", " . "'" . $db->quoteString($this->_mot). "', " . "'" . $db->quoteString($this->_url). "') ";
 197  
 198          $result = $db->query($query);
 199  
 200          if (DB::isError($result)) {
 201              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : create()] " . $result->getMessage(). "", null, null, null, null, null, false);
 202          }
 203      }
 204  
 205      // }}}
 206  
 207  	function update () {
 208          $db = &$this->_getDB();
 209  
 210          if (DB::isError($db)) {
 211              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : update()] " . $db->getMessage(). "", null, null, null, null, null, false);
 212          }
 213  
 214          $maDate = new Date();
 215          $this->setMajDate($maDate->getDate(DATE_FORMAT_ISO));
 216  
 217          $query = "UPDATE " . $GLOBALS['table_prefix']. "_glossaire " . "SET mot = '" . $db->quoteString($this->_mot). "', " . "url = '" . $db->quoteString($this->_url). "' " . " WHERE id_glossaire = " . $this->_glossaireId;
 218  
 219          $result = $db->query($query);
 220  
 221          if (DB::isError($result)) {
 222              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : update()] " . $result->getMessage(). "", null, null, null, null, null, false);
 223          }
 224      }
 225  
 226      // }}}
 227  
 228      // {{{ delete()
 229      /**
 230       * This method is used to deleted an glossaire entry from the database
 231       * @access    public
 232       * @param     int $idGlossaire id of glossaire to delete
 233       */
 234  
 235  	function delete ($idGlossaire) {
 236          $db = &$this->_getDB();
 237  
 238          if (DB::isError($db)) {
 239              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : load()] " . $db->getMessage(). "", null, null, null, null, null, false);
 240          }
 241  
 242          $query = "DELETE FROM " . $GLOBALS['table_prefix']. "_glossaire WHERE id = $idGlossaire";
 243          $result = $db->query($query);
 244  
 245          if (DB::isError($result)) {
 246              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : load()] " . $result->getMessage(). "", null, null, null, null, null, false);
 247          }
 248          else {
 249          //$result->free();
 250              }
 251      }
 252  
 253      // }}}
 254  
 255      // {{{ load()
 256  
 257      /**
 258       * This method is used to load a glossaire from the database
 259       * @access  public
 260       * @param   int $idGlossaire id of glossaire to load
 261       */
 262  
 263  	function load ($idGlossaire) {
 264          $db = &$this->_getDB();
 265  
 266          if (DB::isError($db)) {
 267              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : load()] " . $db->getMessage(). "", null, null, null, null, null, false);
 268          }
 269  
 270          $query = "SELECT " . GLOSSAIRE_ALL_FIELDS . " FROM " . $GLOBALS['table_prefix']. "_glossaire WHERE id = $idGlossaire";
 271          $result = $db->query($query);
 272  
 273          if (DB::isError($result)) {
 274              return PEAR::raiseError("[" . get_class($this). " DB_glossaire : load()] " . $result->getMessage(). "", null, null, null, null, null, false);
 275          }
 276          else {
 277              if ($row = $result->fetchRow()) {
 278                  $this->_fetchData($row);
 279              }
 280              else {
 281                  return PEAR::raiseError("[" . get_class($this). " DB_glossaire : load($idGlossaire)] Aucun glossaire ne correspond pas � cet ID!", null, null, null, null, null, false);
 282              }
 283              $result->free();
 284          }
 285      }
 286  
 287      // }}}
 288  
 289      // {{{ _fetchData()
 290  
 291      /**
 292       * This method is used to fetch result set fields into the object fields
 293       * @access  private
 294       * @param   int $row from load function
 295       */
 296  
 297  	function _fetchData ($row) {
 298          $this->setGlossaireId($row['id']);
 299          $this->setGlossaireMot($row['mot']);
 300          $this->setGlossaireUrl($row['url']);
 301      }
 302  
 303  // }}}
 304  
 305  }
 306  ?>


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