New file |
0,0 → 1,259 |
<?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$ |
/** |
* 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 fleche |
vers 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 |
?> |