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: enteteColonneTriable.class.php,v 1.1 2008-08-25 15:17:13 alexandre_tb Exp $/*** Application projet** Fichier de presentation de la liste des projets pour Tela Botanica nouvelle version**@package projet//Auteur original :*@author Alexandre Granier <alexandre@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2008// +------------------------------------------------------------------------------------------------------+*//*** class enteteColonneTriable*/class enteteColonneTriable{/*** Attributes: ***//*** Nom de la colonne dont on veut afficher le lien* @access private*/private $colonne;/*** Nom de la colonne dont on veut afficher le lien* @access private*/private $var_colonneDeTri;/*** Nom de la colonne clique par l utilisateur* @access private*/private $colonneCliquee;/*** @access private*/private $ordre = 'asc';/*** @access private*/private $var_ordre ;/*** @access private*/private $icone_asc;/*** @access private*/private $icone_desc;/*** icone par defaut lorsqu aucun tri n est demande* @access private*/private $icone_base;/**** @param string nom_colonne Le nom de la colonne sur laquelle va s'effectuer les tris* @return* @access public*/public function enteteColonneTriable( $nom_colonne ) {$this->colonne = $nom_colonne;} // end of member function enteteColonneTriable/**** @param string colonneDeTri* @return bool* @access public*/public function setColonneCliquee( $colonneDeTri, $var_colonneDeTri ) {$this->colonneCliquee = $colonneDeTri;$this->var_colonneDeTri = $var_colonneDeTri;} // end of member function setColonneCliquee/*** Precise l ordre ascendant ou descendant* Ne peut prendre que 2 valeurs asc ou desc** @param string ordre* @return* @access public*/public function setOrdre( $ordre, $var_ordre ) {if ($ordre != 'asc' && $ordre != 'desc') return false;//if ($this->colonne == $this->colonneCliquee) $this->ordre = $ordre;// C subtil, il faut inverser l ordre de tri pour la colonne dont le tri est// actif, afin de pouvoir inverser le tri$this->ordre = $ordre;if ($this->colonne == $this->colonneCliquee) {if ($ordre == 'asc') $this->ordre = 'desc'; else $this->ordre = 'asc';}$this->var_ordre = $var_ordre;} // end of member function setOrdre/*** Pour indiquer le chemin vers l icone de fleche vers le bas* Renvoie false si le chemin vers l icone n existe pas** @param string chemin_icone Le chemin vers l icone* @return* @access public*/public function setIconeAsc( $chemin_icone ) {$this->icone_asc = $chemin_icone;} // end of member function setIconeAsc/*** Pour indiquer le chemin vers l icone de fleche vers le bas* Renvoie false si le chemin vers l icone n existe pas** @param string chemin_icone Chemin vers l icone indiquant un classement descendant, en general une flechevers le haut* @return bool* @access public*/public function setIconeDesc( $chemin_icone ) {$this->icone_desc = $chemin_icone;} // end of member function setIconeDesc/**** @param string chemin_icone chemin vers un fichier* @return bool* @access public*/public function setIconeSansTri( $chemin_icone ) {$this->icone_base = $chemin_icone;} // end of member function setIconeSansTri/*** Permet d attribuer un template d affichage** @param string template Permet d attribuer un template d affichage* @return* @access public*/public function setTemplate( $template ) {} // end of member function setTemplate/*** Renvoie l icone approprie pour l entete de la colonne** @return string* @access public*/public function getIcone( ) {if ($this->colonne == $this->colonneCliquee) {if ($this->ordre == 'asc') {return $this->icone_asc;} else {return $this->icone_desc;}} else {return $this->icone_base;}} // end of member function getIcone/*** Renvoie la classe approprie pour l entete de la colonne** @return string* @access public*/public function getClasse( ) {if ($this->colonne == $this->colonneCliquee) {if ($this->ordre == 'asc') {return 'tri_bas';} else {return 'tri_haut';}} else {return 'tri_sans';}} // end of member function getIcone/*** Renvoie le lien de la colonne** @return string* @access public*/public function getLien($url) {$url->addQueryString('projet_tri', $this->colonne);$url->addQueryString('projet_ordre_tri', $this->ordre);return $url->getURL();} // end of member function getLien/*** Renvoie l entete** @return string* @access public*/public function getEntete( ) {} // end of member function getEntete/*** similaire a getEntete()** @return string* @access public*/public function toHTML( ) {return getEntete();} // end of member function toHTML} // end of enteteColonneTriable?>