Rev 153 | Rev 240 | 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: liste.php,v 1.5 2006-12-19 09:48:50 alexandre_tb Exp $/*** Application projet** Fichier de présentation de la liste des projets**@package projet//Auteur original :*@author Alexandre Granier <alexandre@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2004*@version $Revision: 1.5 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+$titre = '<h1>'.PROJET_LISTE.'</h1>'."\n" ;// On inclue un fichier localif (file_exists(PROJET_CHEMIN_APPLI.'langues/pro_langue_'.$GLOBALS['lang'].'.local.inc.php'))include_once PROJET_CHEMIN_APPLI.'langues/pro_langue_'.$GLOBALS['lang'].'.local.inc.php' ;// On vérifie si l'utilisateur participe à des projets//echo PROJET_CHEMIN_APPLI.'langues/pro_langue_'.$GLOBALS['lang'].'.local.inc.php';// Entete de la liste, qu'on recupere dans un templateif (PROJET_UTILISE_TYPE && $this->_type != "") {include_once PROJET_CHEMIN_CLASSES.'projetTemplate.class.php' ;include_once 'HTML/Template/IT.php';$template = new projetTemplate ($this->_db) ;$chaine = $template->getTemplate(2, $GLOBALS['lang'], $this->_type);if (projetTemplate::isError ($chaine)) return $chaine->getMessage() ;$tpl = new HTML_Template_IT() ;$tpl -> setTemplate($chaine);}if ($auth){$utilisateur_liste = new inscription_liste($this->_db) ;// On teste ici s'il y a une mise à jour de statutif (isset($_POST['statut'])) {// $_POST['statut'] et $_GET['identifiant_projet'] proviennent du formulaire voir HTML_listeProjetinclude_once PROJET_CHEMIN_CLASSES.'annuaire.class.php' ;$annuaire = new annuaire($this->_db, array('identifiant' => PROJET_CHAMPS_ID, 'mail' => PROJET_CHAMPS_MAIL, 'table' => PROJET_ANNUAIRE)) ;$annuaire->setId($this->_auth->getAuthData(PROJET_CHAMPS_ID)) ;$projet = new projet ($this->_db, $_GET['identifiant_projet']) ;$projet->getListesAssociees() ;$utilisateur_liste->modifierTypeInscription($projet->_listes_associes[0],$annuaire, $_POST['statut']) ;}if (count($participant->getIdProjetsStatuts($id_u))) {$HTML_projetListe = new HTML_listeProjet(true) ;$entete_liste = array($auth ? PROJET_VOUS_PARTICIPEZ : PROJET_LISTE) ;if ($auth) array_push ($entete_liste, PROJET_SE_DESINSCRIRE, PROJET_LISTE_DE_DISCUSSION) ;$tableau_resultat = array () ;$HTML_projetListe->construitEntete ($entete_liste) ;// On construit $tableau_resultat avec une ligne par projet contenant un tableau (titre, statut_nom, id_statut, id_projet)$statut_liste = new statut_liste($this->_db) ;$tableau_statut = $statut_liste->getTousLesStatuts() ;$statut = '' ;$i = 0 ;$HTML_projetListe->setModeModification() ;$HTML_projetListe->setURL($this->_url) ;foreach ($projetListe as $projet) {if (participe::getStatutSurProjetCourant($id_u, $projet->getId(), $this->_db) == 4) continue ;if ($auth) {if ($projet->avoirListe()) {$projet->getListesAssociees() ;$statut = $utilisateur_liste->getStatutInscrit($projet->_listes_associes[0]->getId(), $this->_auth) ;//if ($statut == '') $statut = 0 ;}}$this->_url->addQueryString (PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;$ligne_tableau = array ($projet->getId(), $projet->getResume(),'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>') ;if ($auth) {$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_DESINSCRIPTION_PROJET) ;array_push ($ligne_tableau, '<a href="'.$this->_url->getURL().'" onclick="javascript:return confirm(\''.PROJET_SE_DESINSCRIRE_CONFIRMATION.'\');">'.PROJET_SE_DESINSCRIRE.'</a>') ;if ($projet->avoirListe()) {array_push ($ligne_tableau, $statut) ;} else {array_push($ligne_tableau, '') ;}array_push ($tableau_resultat, $ligne_tableau) ;$this->_url->removeQueryString (PROJET_VARIABLE_ACTION) ;}$statut = '' ;}$HTML_projetListe->construitListe ($tableau_resultat, $tableau_statut) ;if ($HTML_projetListe->getRowCount() > 1) {$res .= '<p>'.PROJET_PARTICIPER.'</p>';$res .= $HTML_projetListe->toHTML() ;}} else {$res .= '<p>'.PROJET_INSCRIT_AUCUN_PROJET.'</p>' ;}}// Un texte pour ceux qui ne sont pas identifiésif (!$auth) {$res .= '<p>'.PROJET_TEXTE_NON_IDENTIFIE.'</p>'."\n" ;}// Maintenant la liste des projets où l'utilisateur ne participe pas.// Et si pas logué tous les projetsif ($auth) {$projetNonParticipantListe = $participant -> getProjetsNonParticipant($id_u) ;// Si certain projet sont à exclure, on les exclu$projet_a_exclure = array() ;if (count($this->_projet_exclu)) {arsort($this->_projet_exclu) ;foreach ($this->_projet_exclu as $valeur) {for ($i = 0; $i < count($projetNonParticipantListe); $i++) {if ($projetNonParticipantListe[$i]->getId() == $valeur) array_push ($projet_a_exclure, $i);}}}if (PROJET_UTILISE_TYPE && $this->_type != '') {for ($i = 0; $i < count($projetNonParticipantListe); $i++) {if ($projetNonParticipantListe[$i]->getType() != $this->_type) array_push ($projet_a_exclure, $i) ;}}foreach ($projet_a_exclure as $valeur) {unset ($projetNonParticipantListe[$valeur]) ;}$HTML_projetNonParticipantListe = new HTML_listeProjet(true) ;$entete_liste = array (PROJET_LISTE) ;array_push ($entete_liste, PROJET_S_INSCRIRE) ;$HTML_projetNonParticipantListe->construitEntete($entete_liste) ;$liste_projet = array() ;// La listeforeach ($projetNonParticipantListe as $projet) {$this->_url->addQueryString(PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;$ligne_projet = array ($projet->getResume(),'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>' // le nom du projet) ;$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE) ;array_push ($ligne_projet, '<a href="'.$this->_url->getURL().'">'.PROJET_S_INSCRIRE.'</a>') ;$this->_url->removeQueryString(PROJET_VARIABLE_ACTION);array_push ($liste_projet, $ligne_projet) ;}$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;$HTML_projetNonParticipantListe->construitListe($liste_projet) ;if ($HTML_projetNonParticipantListe->getRowCount() > 1) $res .= $HTML_projetNonParticipantListe->toHTML() ;} else {$projetNonParticipantListe = & $projetListe ;$HTML_projetNonParticipantListe = new HTML_listeProjet(true) ;$entete_liste = array (PROJET_LISTE) ;$HTML_projetNonParticipantListe->construitEntete($entete_liste) ;$liste_projet = array() ;// La listeforeach ($projetNonParticipantListe as $projet) {$this->_url->addQueryString(PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;$ligne_projet = array ( $projet->getResume(),'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>', // le nom du projet) ;$this->_url->removeQueryString(PROJET_VARIABLE_ACTION);array_push ($liste_projet, $ligne_projet) ;}$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;$HTML_projetNonParticipantListe->construitListe($liste_projet) ;if ($HTML_projetNonParticipantListe->getRowCount() > 1) {$res .= '<p>'.PROJET_TOUS_LES_PROJETS.'</p>' ;$res .= $HTML_projetNonParticipantListe->toHTML() ;}}// Nettoyage de l'urlif (PROJET_UTILISE_TYPE && $this->_type != '') {$tpl->setVariable('liste_projet', $res) ;$res = $tpl->get();}$this->_url->removeQueryString (PROJET_VARIABLE_ID_PROJET);return $titre.$res ;/* +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* Revision 1.4 2006/12/18 17:24:09 alexandre_tb* inclusion du fichier de langue en utilisant la globale 'lang'** Revision 1.3 2006/09/18 09:56:28 alexandre_tb* utilisation d'un template pour l'entête de la liste des projets** Revision 1.2 2005/11/28 16:25:23 alexandre_tb* nettoyage URL en sortie de programme** Revision 1.1 2005/11/25 14:47:51 alexandre_tb* version initiale**** +-- Fin du code ----------------------------------------------------------------------------------------+*/?>