Rev 415 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*vim: set expandtab tabstop=4 shiftwidth=4: */// +------------------------------------------------------------------------------------------------------+// | PHP version 4.1 |// +------------------------------------------------------------------------------------------------------+// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |// +------------------------------------------------------------------------------------------------------+// | This library is free software; you can redistribute it and/or |// | modify it under the terms of the GNU General Public |// | License as published by the Free Software Foundation; either |// | version 2.1 of the License, or (at your option) any later version. |// | |// | This library is distributed in the hope that it will be useful, |// | but WITHOUT ANY WARRANTY; without even the implied warranty of |// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |// | General Public License for more details. |// | |// | You should have received a copy of the GNU General Public |// | License along with this library; if not, write to the Free Software |// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |// +------------------------------------------------------------------------------------------------------+// CVS : $Id: liste_externe.class.php,v 1.2 2005-09-27 16:42:00 alexandre_tb Exp $/*** Application projet** La classe liste_externe**@package projet//Auteur original :*@author Alexandre Granier <alexandre@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.2 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+/*** class liste_externe**/class liste_externe{/*** Attributes: ***//*** Identifiant de la liste, dans la table agora et dans la table* projet_lien_liste_externe* @access private*/var $_id_liste;/**** @access private*/var $_db;/*** Constructeur** @param DB objetDB Un objet PEAR::DB* @return void* @access public*/function liste_externe(&$objetDB ){$this->_db = $objetDB ;} // end of member function liste_externe/*** Renvoie un tableau avec en clé l'identifiant d'une liste et en valeur le nom de* la liste.** @return Array* @access public*/function getListeNom( ){$requete = 'select AGO_A_ID, AGO_A_NOMGRPLG from agora' ;$resultat = $this->_db->query ($requete) ;if (DB::isError ($resultat)) {die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;}$tableau_resultat = array() ;while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {$tableau_resultat[$ligne['AGO_A_ID']] = $ligne['AGO_A_NOMGRPLG'] ;}return $tableau_resultat ;} // end of member function getListeNom/*** Renvoie un tableau avec les identifiants des listes associées au projet passé en* paramètre.** @param int id_projet L'identifiant du projet* @return Array* @access public*/function getListesAssociees( $id_projet ){$requete = 'select plle_id_liste from projet_lien_liste_externe where plle_id_projet='.$this->_db->escapeSimple($id_projet) ;$resultat = $this->_db->query ($requete) ;if (DB::isError ($resultat)) {die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;}$tableau_resultat = array() ;while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {array_push ($tableau_resultat, $ligne->plle_id_liste) ;}return $tableau_resultat ;} // end of member function getListesAssociees/*** enregistrerSQL** @return*/function enregistrerSQL ($valeur, $id_projet) {// on commence par supprimer$requete = 'delete from projet_lien_liste_externe where plle_id_projet='.$this->_db->escapeSimple($id_projet) ;$resultat = $this->_db->query ($requete) ;// puis on réinsèreforeach ($valeur as $cle => $val) {if (!preg_match ('/liste_/', $cle)) continue ;$id_liste = preg_replace ('/liste_/', '', $cle) ;$requete = 'insert into projet_lien_liste_externe set plle_id_liste='.$this->_db->escapeSimple($id_liste).', plle_id_projet='.$this->_db->escapeSimple($id_projet) ;$resultat = $this->_db->query ($requete) ;if (DB::isError ($resultat)) {die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;}}}/*** Renvoie un tableau avec les infos sur la liste, voir les noms des champs de la* table agora pour une description plus détaillé.** @param int id_liste L'identifiant de la liste* @return void* @access public*/function getInfoListe( $id_liste ){$requete = 'select * from agora where AGO_A_ID='.$this->_db->escapeSimple($id_liste) ;$resultat = $this->_db->query ($requete) ;if (DB::isError ($resultat)) {return ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;}$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;return $ligne ;} // end of member function getInfoListe} // end of liste_externe?>