//Autres auteurs : *@author Aucun *@copyright Tela-Botanica 2000-2005 *@version $Revision: 1.13 $ // +------------------------------------------------------------------------------------------------------+ */ // +------------------------------------------------------------------------------------------------------+ // | ENTETE du PROGRAMME | // +------------------------------------------------------------------------------------------------------+ // RAPPEL IMPORTANT // On se situe dans la methode run() de la classe projetControleur // $retour = ''; $loggue = false; // creation de l'objet projet courant include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ; include_once PROJET_CHEMIN_CLASSES.'participe.class.php' ; $projet = new projet ($this->_db, $this->_id_projet) ; /** Bloc resume avec lien resume */ $resume = $projet->getResume(); $bouton_resume = ''; $bouton_s_inscrire_au_projet = ''; $lien_inscription = ''; // recuperation de la liste des documents associes $liste_documents = document::getDocumentsRecents(4, $this->_db, PROJET_CHEMIN_FICHIER, PROJET_CHEMIN_ICONES, $this->_id_projet) ; // creation de la vue liste de document, on nettoie l'url //$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ; include_once PROJET_CHEMIN_CLASSES.'HTML_listeDocuments.class.php' ; include_once (PROJET_CHEMIN_CLASSES.'ezmlmAccessObject.class.php') ; $vue_liste_document = new HTML_listeDocuments($this->_url, false, '', $this->_auth) ; $bouton_deposer_doc = ''; // reglage de parametres de la vue $vue_liste_document->setAction (array ("couper" => PROJET_ACTION_COUPER, "modifier" => PROJET_ACTION_MODIFIER, "supprimer" => PROJET_SUPPRESSION_FICHIER)) ; $vue_liste_document->setCheminIcones(PROJET_CHEMIN_ICONES) ; $bouton_poster = ''; $bouton_desinscription_projet = ''; // verification des droits de l'utilisateur $entete_liste = array (PROJET_FICHIERS_NOM, PROJET_FICHIERS_TAILLE, PROJET_FICHIERS_PAR, PROJET_FICHIERS_CREE_LE) ; if ($this->_auth->getAuth()) { $loggue = true; $droits = PROJET_DROIT_AUCUN; $participant = new participe($this->_db) ; $id_u = $this->_auth->getAuthData(PROJET_CHAMPS_ID) ; $isCoord = $participant->isCoordinateur($id_u, $this->_id_projet, $this->_db) ; $isParticipant = $participant->isContributeur($id_u, $this->_id_projet, $this->_db) ; if ($isParticipant) $droits = PROJET_DROIT_CONTRIBUTEUR; if ($isCoord) $droits = PROJET_DROIT_COORDINATEUR ; $isAdm = participe::isAdministrateur($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_db) ; if ($isAdm) $droits = PROJET_DROIT_ADMINISTRATEUR ; if ($isAdm) $isCoord = true ; include_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php'; $projet->getListesAssociees(); foreach ($projet->_listes_associes as $info_liste) { $inscription_liste = new inscription_liste($this->_db) ; if ($inscription_liste->getStatutInscrit($info_liste->getId(), $this->_auth) == 0) { $action_inscription = PROJET_ACTION_INSCRIPTION_LISTE ; $label_inscription = 'S\'inscrire à la liste' ; } else { // L'action envoyer un mail $action_inscription = PROJET_ENVOYER_UN_MAIL ; $label_inscription = PROJET_ECRIRE_LISTE ; } } switch ($participant->getStatut($id_u, $this->_id_projet)) { case PROJET_DROIT_AUCUN : $this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE); $lien_inscription = $this->_url->getURL(); $laius_inscription = PROJET_VOUS_N_ETES_PAS_INSCRIT; $label_url_inscription = PROJET_S_INSCRIRE_AU_PROJET; $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE); $lien_inscription = $this->_url->getURL(); $label_url_inscription = 'S\'inscrire à ce projet'; break; case PROJET_DROIT_CONTRIBUTEUR : $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_FICHIER); $bouton_deposer_doc = bouton::toHTML($this->_url->getURL(), 'Déposer un document', 'document'); $bouton_deposer_doc .= '
'; $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_DESINSCRIPTION_PROJET); $bouton_desinscription_projet = bouton::toHTML($this->_url->getURL(), 'Se désinscrire du projet', 'cross'); $bouton_desinscription_projet .= '
'; $this->_url->addQueryString(PROJET_VARIABLE_ACTION, $action_inscription); $bouton_poster = bouton::toHTML($this->_url->getURL(), $label_inscription,'ecrire'); break; case PROJET_DROIT_COORDINATEUR || PROJET_DROIT_ADMINISTRATEUR : $this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_MODIFIER_DESCRIPTION); $bouton_resume = bouton::toHTML($this->_url->getURL(), PROJET_MODIFIER_PROPRIETES, 'modifier'); $bouton_resume .= '
'; $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_FICHIER); $bouton_deposer_doc = bouton::toHTML($this->_url->getURL(), 'Déposer un document', 'document'); $bouton_deposer_doc .= '
'; if ($projet->avoirListe()) { $this->_url->addQueryString(PROJET_VARIABLE_ACTION, $action_inscription); $bouton_poster = bouton::toHTML($this->_url->getURL(), $label_inscription,'ecrire'); } break; case PROJET_DROIT_EN_ATTENTE : $droits = PROJET_DROIT_EN_ATTENTE; GEN_stockerFichierScript('mootools', 'api/js/mootools/mootools-release-1.11.js'); GEN_stockerCodeScript('window.addEvent(\'domready\', function(){'."\n". 'var fx = new Fx.Styles($(\'projet_lien_login\'), {duration:500, wait:false});' ."\n". 'element = $(\'projet_lien_login\');'."\n". 'element.addEvent( \'click\', function() { fx.start({ \'height\' : \'320px\' }) } )});'); $laius_inscription_modere = str_replace ('nom_du_projet', $projet->getTitre(), PROJET_LAIUS_INSCRIPTION_MODERE); $lien_login = '#'; break; } $bouton_poster .= '
'; $statut = participe::getStatutSurProjetCourant ($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_id_projet, $this->_db) ; // si participant, on ajoute le champs visibilite if ($statut !='' || $isAdm) { array_push ($entete_liste, PROJET_FICHIERS_VISIBILITE) ; $visible = true ; } else { $visible = false ; } // recuperation de la liste des documents associes $liste_documents = document::getDocumentsRecents(4, $this->_db, PROJET_CHEMIN_FICHIER, PROJET_CHEMIN_ICONES, $this->_id_projet, $visible) ; // si chef de projet ou si proprietaire d'au moins 1 document $proprietaire_un_document = false ; foreach ($liste_documents as $document) { if ($this->_auth->getAuthData(PROJET_CHAMPS_ID) == $document->_id_proprietaire) { $proprietaire_un_document = true ; $droits = PROJET_DROIT_PROPRIETAIRE ; } } if ($droits <= PROJET_DROIT_COORDINATEUR || $proprietaire_un_document) { array_push ($entete_liste, PROJET_ACTION) ; } } else { $droits = PROJET_DROIT_AUCUN ; // recuperation de la liste des documents associes $liste_documents = document::getDocumentsRecents(4, $this->_db, PROJET_CHEMIN_FICHIER, PROJET_CHEMIN_ICONES, $this->_id_projet, false) ; $lien_inscription = 'javascript:animatedcollapse.toggle(\'projet_bloc_inscription\');'; $label_url_inscription = 'S\'inscrire à ce projet'; 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 = '#'; } if (!isset($droits)) $droits = PROJET_DROIT_AUCUN ; $vue_liste_document->construitEntete($entete_liste) ; $vue_liste_document->construitListe ($liste_documents, $droits, 'ignore_repertoire', $this->_db) ; $wiki_res = '' ; // Les wikinis associes au projet if ($wiki = $projet->getWikini()) { if (strpos($wiki, "http://www.tela-botanica.org/wikini/") === 0) {// Si le wiki, ne peut pas être intégré $wiki_res .= '
'.sprintf(PROJET_WIKINI_PAS_REDIR, $wiki).'
'."\n"; } else { $url = $GLOBALS['_GEN_commun']['url'] ; $this->_url->addQueryString ('act',PROJET_ACTION_VOIR_WIKINI); $link = $this->_url->getURL(); $wiki_res .= '
'.PROJET_ALLER_SUR_WIKINI.' ('.$wiki.')
'; } } else { $wiki_res .= '
'.PROJET_WIKINI_PAS.'
'."\n"; } // On charge les listes de discussion du projet // Pour le moment seul ezmlm est supportee $projet->getListesAssociees(); $sortie_liste = '' ; $liste_ext_res = '' ; if ($projet->avoirListe()) { ob_start() ; include_once PROJET_CHEMIN_CLASSES_LISTES.'ezmlm.php' ; foreach ($projet->_listes_associes as $info_liste) { $liste = new ezmlm_php() ; // Param�trage de la liste $liste->listdir = PROJET_CHEMIN_LISTES.$info_liste->getDomaine().'/'.$info_liste->getNom(); $liste->listname = $info_liste->getNom() ; $liste->listdomain = $info_liste->getDomaine(); if (isset ($GLOBALS['action']) && $GLOBALS['action'] != '') { $liste->set_action($GLOBALS['action']) ; $liste->set_actionargs($GLOBALS['actionargs']) ; } else { $liste->set_action('list_info') ; } $liste->sendheaders = false; $liste->sendbody = false; $liste->sendfooters = false; $liste->forcehref = $this->_url->getURL() ; if ($info_liste->isPublic() || $droits <= PROJET_DROIT_CONTRIBUTEUR) { $this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ; switch ($liste->action) { case "list_info": $this->_url->addQueryString('act', PROJET_ACTION_VOIR_FORUM); $xml_parser = &new ezmlmAccessObject('calendrier_messages', $info_liste->getDomaine(), $info_liste->getNom(), $GLOBALS['lang'], $this->_url->getURL()) ; $xml_parser->reset() ; $xml_parser->setAction ('derniers_messages'); $xml_parser->load(); ob_start (); $xml_parser->parse() ; $derniers_messages = ob_get_contents() ; ob_end_clean(); echo $derniers_messages ; break; } } else { print PROJET_MESSAGE_LISTE_PRIVEE; } $sortie_liste = ob_get_contents() ; ob_end_clean() ; } } // Site internet associe $sortie_web = '

'.PROJET_ESPACE_INTERNET.'

'."\n" ; if ($projet->getEspaceInternet() != '') { $sortie_web .= ''.$projet->getEspaceInternet().''."\n" ; } else { $sortie_web .= PROJET_PAS_DE_SITE ; } include_once PROJET_CHEMIN_CLASSES.'liste_externe.class.php' ; $listes_ext = new liste_externe ($this->_db) ; $tableau_liste = $listes_ext->getListesAssociees($this->_id_projet) ; if (count ($tableau_liste) != 0) { $liste_ext_res .= '

'.PROJET_LISTES_ASSOCIEES.'

'."\n" ; for ($i = 0; $i < count ($tableau_liste); $i++) { $info_liste = $listes_ext->getInfoListe($tableau_liste[$i]) ; //$liste_ext_res .= '

'.$info_liste->AGO_A_NOMGRPLG.'

'."\n" ; //$liste_ext_res .= '

'.$info_liste->AGO_A_RESUMLG.'

'."\n" ; $liste_ext_res .= '

'.$info_liste->AGO_A_URLGRP.'

'."\n" ; //$liste_ext_res .= '
'."\n" ; } $avoir_liste_externe = true; } else { $avoir_liste_externe = false; } $this->_url->removeQueryString(PROJET_VARIABLE_ACTION); $GLOBALS['_PAPYRUS_']['rendu']['TITRE_PAGE'] = $projet->getTitre(); ob_start(); include_once PROJET_CHEMIN_APPLI.'/squelettes/resume.tpl.html'; $retour .= ob_get_contents(); ob_end_clean(); /* +--Fin du code ----------------------------------------------------------------------------------------+ * * $Log$ * * +-- Fin du code ----------------------------------------------------------------------------------------+ */ ?>