Rev 379 | 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: participants.php,v 1.9 2008-09-01 14:38:34 alexandre_tb Exp $/*** Application projet** Action participants**@package projet//Auteur original :*@author Alexandre Granier <alexandre@tela-botanica.org>//Autres auteurs :*@author Aucun*@copyright Tela-Botanica 2000-2005*@version $Revision: 1.9 $// +------------------------------------------------------------------------------------------------------+*/// +------------------------------------------------------------------------------------------------------+// | ENTETE du PROGRAMME |// +------------------------------------------------------------------------------------------------------+// RAPPEL IMPORTANT// On se situe dans la methode run() de la classe projetControleur//$res = '' ;$pair = true;$loggue = $this->_auth->getAuth();$url = $this->_url->getURL();include_once PROJET_CHEMIN_CLASSES.'participe.class.php' ;include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;$projet = new projet ($this->_db, $this->_id_projet) ;//$retour .= '<h1>'.PROJET_PROJET.' : '.$projet->getTitre()."</h1>" ;$titre = '<h2>'.PROJET_LISTE_PARTICIPANT.'</h2>'."\n" ;$participants = new participe($this->_db) ;// On teste ici s'il y a une mise a jour de statutif (isset($_REQUEST['statut'])) {$participants->setStatut($_REQUEST['statut'], $_GET['id_utilisateur'], $this->_id_projet) ;// Si désinscription de l'utilisateur (statut 4)if ($_REQUEST['statut'] == 4) {$projet->getListesAssociees() ;if ($projet->avoirListe()) {include_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($_GET['id_utilisateur']) ;// on désinscrit l'utilisateur des listes associées au projetinclude_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php' ;$desinscription= new inscription_liste($this->_db) ;$desinscription->desinscrireUtilisateur($annuaire, $projet->_listes_associes[0]) ;}}}// On teste ici s'il y a une mise a jour de l inscription a la listeif (isset($_POST['inscription_liste'])) {$projet->getListesAssociees();include_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($_GET['id_utilisateur']) ;include_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php' ;$inscription= new inscription_liste($this->_db) ;if ($_POST['inscription_liste'] == 1) {$inscription->inscrireUtilisateur($annuaire, $projet->_listes_associes[0], 2) ; // 2 est le statut d inscription normale} else {$inscription->desinscrireUtilisateur($annuaire, $projet->_listes_associes[0]) ;}}// Ce qui suit doit etre ameliore pour sortir la requete sur l'annuaire// On teste s'il y a un ajout d'utilisateur voir HTML_listeParticipantsif (isset($_POST['mail_utilisateur'])) {$requete = 'select '.PROJET_CHAMPS_ID.' from '.PROJET_ANNUAIRE.' where '.PROJET_CHAMPS_MAIL.'="'.$_POST['mail_utilisateur'].'"';$resultat = $this->_db->query ($requete) ;if (DB::isError ($resultat)) {die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;}if (!$resultat->numRows()) {$msg = PROJET_MAIL_ABSENT;} else {$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;// Le statut 2 est le statut participant$participants->setStatut(2, $ligne[PROJET_CHAMPS_ID], $this->_id_projet) ;}}if ($this->_auth->getAuth()) {$statut = participe::getStatutSurProjetCourant($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_id_projet, $this->_db) ;if ($statut == 1) $droits = PROJET_DROIT_COORDINATEUR ;if ($statut == 2) $droits = PROJET_DROIT_CONTRIBUTEUR ;if ($statut == 3) $droits = PROJET_DROIT_EN_ATTENTE;if ($statut == 4) {$droits = PROJET_DROIT_AUCUN ;$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE);$lien_inscription = $this->_url->getURL();$label_url_inscription = 'S\'inscrire à ce projet';}if (participe::isAdministrateur($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_db)) $droits = PROJET_DROIT_ADMINISTRATEUR ;if ($droits <= PROJET_DROIT_COORDINATEUR || participe::isAdministrateur($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_db)) {$res = PROJET_NOUVEAU_UTILISATEUR_LAIUS ;$res .= '<form action="'.$this->_url->getURL().'" method="post">'."\n" ;if (isset ($msg) && $msg != '') {$res .= '<div>'.$msg.'</div>' ;}$res .= '<input type="text" name="mail_utilisateur" size="32" />' ;$res .= '<input type="submit" value="'.PROJET_NOUVEAU_UTILISATEUR.'" />'."\n" ;$res .= '</form><br />'."\n" ;}// Mise en place de l'url$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;// Construction de l'entete$info_utilisateur = $participants->getInscrits($this->_id_projet, $droits);$nombre_participants = count ($info_utilisateur);include_once PROJET_CHEMIN_CLASSES.'statut.class.php' ;if ($projet->avoirListe()) {/** recuperation des abonnees a la liste */include_once PROJET_CHEMIN_CLASSES.'ezmlmAccessObject.class.php';$ezmlm = new ezmlmAccessObject('liste_abonnes', $projet->_listes_associes[0]->getDomaine(),$projet->_listes_associes[0]->getNom());$ezmlm->load();$tableau_mail = $ezmlm->parse();for ($i = 0; $i < count ($info_utilisateur); $i++) {$tableau_mail_utilisateur[$info_utilisateur[$i][3]] = $i;$info_utilisateur[$i][6] = 0; // Initialisation du tableau avec la valeur 0}foreach ($tableau_mail->children() as $email) {$email = (string) $email;if (isset($tableau_mail_utilisateur[$email])) {$id = (int) $tableau_mail_utilisateur[$email];$info_utilisateur[$id][6] = 1;}}}$statuts = statut::getTousLesStatuts(PROJET_STATUT_SAUF_ADM, $this->_db);$statuts_inscription_liste[0] = 'non inscrit';$statuts_inscription_liste[1] = 'inscrit';} else {$droits = PROJET_DROIT_AUCUN ;GEN_stockerFichierScript('jquery', 'api/js/jquery/jquery.js');GEN_stockerFichierScript('animatedcollapse', 'api/js/jquery/animatedcollapse.js');GEN_stockerCodeScript('animatedcollapse.addDiv(\'projet_bloc_inscription\', \'fade=1, height="100px"\');' ."\n".'animatedcollapse.init();' ."\n");$lien_login = '#';$label_url_inscription = 'S\'inscrire à ce projet';$lien_inscription = 'javascript:animatedcollapse.toggle(\'projet_bloc_inscription\');';}$GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = $projet->getTitre().' - '.PROJET_LISTE_PARTICIPANT;//$retour .= $titre.$res.$xml; ;ob_start();include_once PROJET_CHEMIN_APPLI.'/squelettes/participants.tpl.html';$retour .= ob_get_contents();ob_end_clean();$this->_url->removeQueryString ('statut');$this->_url->removeQueryString ('id_utilisateur');$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;$GLOBALS['url']->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;/* +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* Revision 1.8 2008-08-25 15:02:49 alexandre_tb* mise en place des squelettes*** +-- Fin du code ----------------------------------------------------------------------------------------+*/?>