Subversion Repositories Applications.gtt

Rev

Rev 7 | Blame | Last modification | View Log | RSS feed

<?php
// +------------------------------------------------------------------------------------------------------+
// | 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 Lesser 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                                    |
// | Lesser General Public License for more details.                                                      |
// |                                                                                                      |
// | You should have received a copy of the GNU Lesser 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                            |
// +------------------------------------------------------------------------------------------------------+

// |@author ABDOOL RAHEEM shaheen shaheenar50@hotmail.com                                                 |
// |@version 3                                                                                            |


class Preference {
        private $table = 'gestion_preferences';
        private $id_utilisateur = null;
        private $id_projet = null;
        
        /*** Constructeur */
        function Preference($u, $p)
        {
                $this->id_utilisateur = $u;
                $this->id_projet = $p;
        }
        
        /**
        * Ajouter une préférence dans la base de données.
        *@return true si ok, false si aucun enregistrement effectué
        */
        function ajouter()
        {
                $requete =      'INSERT INTO gestion_preferences (gp_id_utilisateur, gp_id_projet) '.
                                        'VALUES ('.$this->id_utilisateur.', '.$this->id_projet.')';
                $resultat = $GLOBALS['db']->query($requete);
                
                (DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
                
                $nbre_enregistrement_ajoute = $GLOBALS['db']->affectedRows();
        
                if ($nbre_enregistrement_ajoute == 1) {
                        return true;
                } elseif ($nbre_enregistrement_ajoute == 0) {
                        return false;
                }
        }
      
        /**
        *supprimer liste de preferences
        *pour un utilisateur donne
        *@param identifiant d'un utilisateur
        */  
        function supprimer($id)
        {
                $requete =      'DELETE FROM '.GEST_PREFERENCES.' '.
                                        'WHERE '.GEST_CHAMPS_ID_UTILISATEUR.' = '.$id;
                $resultat = $GLOBALS['db']->query($requete);
                return $GLOBALS['db']->affectedRows();
        }
        
        /**
        * Récupérer la liste de préférences d'un utilisateur.
        *@param identifiant utilisateur.
        */
        function  recupererTableauPreferences()
        {
                $table = array();
                $requete =      'SELECT P.gp_id_projet, P.gp_nom_projet , C.gc_id_categorie, C.gc_libelle_categorie '.
                                        'FROM gestion_preferences F, gestion_projet P, gestion_categorie C '.
                                        'WHERE gp_id_utilisateur = '.$this->id_utilisateur.' '.
                                        'AND  F.gp_id_projet = P.gp_id_projet '.
                                        'AND P.gc_id_categorie = C.gc_id_categorie '.
                                        'ORDER BY gc_libelle_categorie ';
                $resultat = $GLOBALS['db']->query($requete);
                
                (DB::isError($resultat)) ? die (BOG_afficherErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
                
                while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
                        $case = array('id_proj' => $ligne[GEST_CHAMPS_ID_PROJET], 'nom_proj' => $ligne[GEST_CHAMPS_NOM_PROJET],'id_cat' => $ligne[GEST_CHAMPS_ID_CATEGORIE], 'libelle_cat' => $ligne[GEST_CHAMPS_LIBELLE_CATEGORIE]);
                        array_push($table, $case);
                }
                return $table;
        }
        
        /**
        * Méthode renvoyant vrai si un projet est dans la liste de préférence d'un utilisateur.
        *$id : identifiant du projet a chercher
        *@return true : si existe
        *@return false si n'existe pas
        */
        function isInPreferences($id)
        {
                $tab = $this->recupererTableauPreferences(); 
                for ($i = 0; $i < count($tab); $i++) {
                        $t = $tab[$i];
                        if ($t['id_proj'] == $id) {
                                return true;
                        }
                }
                return false;    
        }
        
        /**
        * Afficher préférences
        */
        function afficherPreference()
        {
                echo '<pre>'.print_r($this, true).'</pre>';
        }
}
?>