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