Subversion Repositories Applications.projet

Rev

Rev 2 | Go to most recent revision | 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: statut.class.php,v 1.2 2005-09-27 16:42:00 alexandre_tb Exp $
/**
* Application projet
*
* La classe statut
*
*@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                                       |
// +------------------------------------------------------------------------------------------------------+

define ('PROJET_STATUT_TOUS', 1) ;
define ('PROJET_STATUT_SAUF_ADM', 2) ;
define ('PROJET_STATUT_SAUF_ADM_COORD', 3) ;

/**
 * class statut
 * 
 */
class statut
{

    /** Aggregations: */

    /** Compositions: */

    /*** Attributes: ***/

    /**
     * L'identifiant du statut
     * @access private
     */
    var $_id_statut;
    /**
     * Le label du statut, dans la table.
     * @access private
     */
    var $_label;
    /**
     * Un objet PEAR::DB
     * @access private
     */
    var $_db;

    /**
     * Constructeur.
     *
     * @param int id_statut L'identifiant du statut créé.
     * @param DB objetDB Un objet PEAR::DB
     * @return void
     * @access public
     */
    function statut( $id_statut, &$objetDB )
    {
        $requete = "select * from projet_statut where ps_id_statut=$id_statut" ;
        $resultat = $objetDB->query ($requete) ;
        if (PEAR::isError ($resultat)) {
            die ($resultat->getMessage()."<br />".$requete."<br />") ;
        }
        $ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
        $this->_db = $objetDB ;
        $this->_id_statut = $ligne->pd_id_statut ;
        $this->_label = $ligne->ps_statut_nom;
    } // end of member function statut

    /**
     * Renvoie le label du statut.
     *
     * @return string
     * @access public
     */
    function getLabel( )
    {
        return $this->_label ;
    } // end of member function getLabel
    /**
     * 
     *
     * @param int type_statut Indique quels statuts l'on désire voir retourner PROJET_STATUT_TOUS
     *  PROJET_STATUT_SAUF_ADM PROJET_STATUT_SAUF_ADM_COORD
     * @return Array
     * @static
     * @access public
     */
    function getTousLesStatuts( $type_statut = PROJET_STATUT_TOUS, &$objetDB)
    {
        $requete = 'select * from projet_statut' ;
        if ($type_statut == PROJET_STATUT_SAUF_ADM) {
            $requete .= ' where ps_id_statut <> 0' ;
        }
        if ($type_statut == PROJET_STATUT_SAUF_ADM_COORD) {
            $requete .= ' where ps_id_statut > 1' ;
        }
        $resultat = $objetDB->query ($requete) ;
        $tableau_resultat = array();
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
            $tableau_resultat[$ligne->ps_id_statut] = $ligne->ps_statut_nom ;
        }
        return $tableau_resultat;
    } // end of member function getTousLesStatuts





} // end of statut
?>