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