Subversion Repositories Applications.projet

Compare Revisions

Ignore whitespace Rev 226 → Rev 227

/branches/livraison_narmer/classes/projetControleur.class.php
20,7 → 20,7
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
 
// CVS : $Id: projetControleur.class.php,v 1.36 2007-04-19 15:34:35 neiluj Exp $
// CVS : $Id: projetControleur.class.php,v 1.36.2.1 2007-05-11 13:54:06 alexandre_tb Exp $
 
/**
* Application projet
33,7 → 33,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.36 $
*@version $Revision: 1.36.2.1 $
// +------------------------------------------------------------------------------------------------------+
*/
 
48,7 → 48,7
include_once 'client/projet/langues/pro_langue_'.PROJET_LANGUE_DEFAUT.'.inc.php' ;
}
 
 
require_once GEN_CHEMIN_API.'sql/SQL_manipulation.fonct.php' ;
require_once GEN_CHEMIN_API.'html/HTML_TableFragmenteur.php' ;
// +------------------------------------------------------------------------------------------------------+
// | LISTE des constantes |
101,7 → 101,7
define ("PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE", -4) ;
 
/**
* Constantes pour définir les droits
* Constantes pour definir les droits
*
*/
define ('PROJET_DROIT_ADMINISTRATEUR', 1) ;
112,8 → 112,8
define ('PROJET_DROIT_EN_ATTENTE', 32);
/**
* class projetControleur
* Cette classe sert à lancer les diverses applications du module projet, en
* fonction des paramètre de l'URL GET ou POST. La méthode principale est run()
* Cette classe sert a lancer les diverses applications du module projet, en
* fonction des parametre de l'URL GET ou POST. La methode principale est run()
*/
class projetControleur
{
120,12 → 120,12
/*** Attributes: ***/
 
/**
* Contient l'action du controleur, qui correspond à une action du module projet.
* Contient l'action du controleur, qui correspond a une action du module projet.
* @access private
*/
var $_action;
/**
* Une connexion à une base de donnée DB.
* Une connexion a une base de donnee DB.
* @access private
*/
var $_db;
143,7 → 143,7
var $_url;
 
/**
* L'identifiant du projet sur lequel on travaille. Dans l'action par défaut, cet
* L'identifiant du projet sur lequel on travaille. Dans l'action par defaut, cet
* attribut n'a pas de valeur.
* @access private
*/
150,8 → 150,8
var $_id_projet;
 
/**
* L'identifiant du répertoire que l'on est en train d'observer. Il sera passé en
* paramètre à la classe HTML_listeDocuments.
* L'identifiant du repertoire que l'on est en train d'observer. Il sera passé en
* parametre a la classe HTML_listeDocuments.
* @access private
*/
var $_id_repertoire;
163,7 → 163,7
var $_id_document;
 
/**
* La présentation de la liste des projets, par défaut vide, signifie en liste.
* La presentation de la liste des projets, par defaut vide, signifie en liste.
* Valeurs possibles: arbre
* @access private
*/
170,7 → 170,7
var $_presentation;
 
/**
* Le type du projets, par défaut 0, signifie en pas de type particumier.
* Le type du projets, par defaut 0, signifie en pas de type particumier.
* Valeurs possibles: 0, 1, 2, 3 ...
* @access private
*/
177,7 → 177,7
 
var $_type ;
/**
* Le tableau des projets à ne pas afficher, ni dans l'arbre, ni dans les listes
* Le tableau des projets a ne pas afficher, ni dans l'arbre, ni dans les listes
* @access private
*/
var $_projet_exclu = array();
195,7 → 195,7
var $_service ;
/**
* Méthode principale de la classe. Elle permet d'appeler les méthodes du modules
* Methode principale de la classe. Elle permet d'appeler les methodes du modules
* projet en fonction de l'action.
*
* @return string
217,7 → 217,7
return $this->messageErreur(PROJETCONTROLEUR_ACTION_INVALIDE) ;
}
 
// Si il n'y a pas d'action mais un projet, on transmet par défaut l'action PROJET_VOIR
// Si il n'y a pas d'action mais un projet, on transmet par defaut l'action PROJET_VOIR
if ($this->_id_projet != "" && $this->_action == PROJET_DEFAUT) {
$this->_action = PROJET_ACTION_VOIR_RESUME ;
$this->_url->addQueryString (PROJET_VARIABLE_ID_PROJET, $this->_id_projet) ;
337,7 → 337,7
 
/**
* Permet de fixer la valeur de l'action pour l'objet projetControleur. Cette action
* provient généralement de $_POST['action'] ou $_GET['action']
* provient generalement de $_POST['action'] ou $_GET['action']
*
* @param int action L'action à passer provient de l'URL.
* @return void
393,7 → 393,7
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$participant = new participe ($this->_db) ;
 
// Les entête des tableaux
// Les entetes des tableaux
$tableau_label_statut_action = array (PROJET_GERER, PROJET_GERER, PROJET_GERER_FICHIER, PROJET_VOIR_FICHIER, "---") ;
 
$auth = $this->_auth->getAuth() ; // Pour raccourcir le code
404,7 → 404,7
}
 
/**
* Renvoie le menu général de l'application projet. Avec différents liens selon le
* Renvoie le menu general de l'application projet. Avec differents liens selon le
* statut de l'utilisateur.
*
* @return string
425,7 → 425,7
$isAdm = 0 ; $isCoord = 0 ; $isContri = 0 ;
}
 
// Les menus spécifiques aux projets
// Les menus specifiques aux projets
if ($this->_id_projet != '') {
if (!$isCoord) {
$isCoord = $participant->isCoordinateur($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_id_projet, $this->_db) ;
475,7 → 475,7
if (!$isEnAttente) $res .= '<li class="projet_niv2"><a href="'.
$this->_url->getURL().'">'.PROJET_S_INSCRIRE_AU_PROJET."</a></li>\n" ;
}
// L'action gérer les utilisateurs
// L'action gerer les utilisateurs
if ($isCoord || $isAdm) {
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;
$res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_GESTION_UTILISATEUR."</a></li>\n" ;
484,22 → 484,26
//document
if ($isContri || $isCoord || $isAdm) {
// On ajoute l id d un repertoire s il existe
if (isset($this->_id_repertoire)) $this->_url->addQueryString ('id_repertoire', $this->_id_repertoire);
$res .= '<li class="projet_niv2">'.PROJET_DOCUMENT ;
// L'action "Mettre un fichier en ligne"
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_FICHIER) ;
$res .= '<ul><li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_METTRE_FICHIER."</a></li>\n" ;
// L'action créer un répertoire
// L'action creer un repertoire
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_REPERTOIRE) ;
$res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_CREER_REP."</a></li>\n" ;
$res .= '</ul></li>' ;
$this->_url->removeQueryString('id_repertoire');
// Forum
$res .= '<li class="projet_niv1">'.PROJET_FORUM ;
$res .= '<ul id="projet_groupe_niv2_for">' ;
if ($projet->avoirListe()) {
// On vérifie si l'utilisateur est inscrit ou non à la liste et on ajoute le lien
// On verifie si l'utilisateur est inscrit ou non a la liste et on ajoute le lien
//$projet->getListesAssociees();
include_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php';
592,7 → 596,7
} // end of member function menuGeneral
 
/**
* Renvoie le formulaire de création d'un projet.
* Renvoie le formulaire de cretion d'un projet.
*
* @return string
* @access public
632,7 → 636,7
$res = PROJET_PROPOSER_PROJET ;
return $res . $formulaire_projet->toHTML() ;
} else {
return 'Veuillez régler les permissions en écriture sur '.PROJET_CHEMIN_FICHIER ;
return 'Veuillez r&eacute;gler les permissions en &eacute;criture sur '.PROJET_CHEMIN_FICHIER ;
}
} // end of member function nouveauProjet
 
666,7 → 670,7
} else {
return $formulaire_projet->toHTML() ;
}
} // end of member function nouveauProjetValidation
}
 
/**
* Valide le formulaire et appelle la fonction de mise à jour.
710,15 → 714,15
$formulaire_document = new HTML_formulaireDocument('formulaire_document', 'post',preg_replace ("/&amp;/", "&", $this->_url->getURL())) ;
$formulaire_document->construitFormulaire($action) ;
if ($action == PROJET_ACTION_MODIFIER) {
 
include_once PROJET_CHEMIN_CLASSES.'document.class.php' ;
$document = new document($this->_id_document, $this->_db, PROJET_CHEMIN_FICHIER, PROJET_CHEMIN_ICONES) ;
// On affecte dans un tableau les valeurs de chaque champs du formulaire avec le nom de chaque élément de formulaire
// On affecte dans un tableau les valeurs de chaque champs du formulaire avec le nom de chaque element de formulaire
// voir HTML_formulaireDocument
$valeurs_par_defaut = array ('document_nom' => $document->getNomLong(),
'document_description' => $document->getDescription(),
'document_visibilite' => $document->getVisibilite()) ;
 
// On rajoute un champs caché avec l'identifiant du document
// On rajoute un champs cache avec l'identifiant du document
$formulaire_document->addElement ('hidden', 'id_document', $this->_id_document) ;
$formulaire_document->setDefaults($valeurs_par_defaut) ;
} else {
729,7 → 733,7
} // end of member function nouveauFichier
 
/**
* Présente un formulaire pour déplacer un fichier
* Presente un formulaire pour deplacer un fichier
*
*
*/
738,12 → 742,13
$projet = new projet ($this->_db, $this->_id_projet) ;
 
$res = '<h1>'.PROJET_PROJET.' : '.$projet->getTitre().'</h1>' ;
include_once PROJET_CHEMIN_CLASSES.'document.class.php' ;
$document = new document($this->_id_document, $this->_db, PROJET_CHEMIN_FICHIER) ;
// On traite le cas où l'on vient de déplacer un fichier
// On traite le cas ou l'on vient de deplacer un fichier
 
if (isset ($_POST['projet_repertoire'])) {
if (!$document -> deplace ($_POST['projet_repertoire'], $projet->getNomRepertoire())) {
echo 'echec du Déplacement' ;
return 'echec du d&eacute;placement' ;
}
return ;
}
751,7 → 756,9
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_COUPER) ;
$HTML_formulaireCouperColler = new HTML_formulaireCouperColler('formulaire_couper_coller', 'post', str_replace('&amp;', '&', $this->_url->getURL())) ;
$HTML_formulaireCouperColler -> construitFormulaire($projet->getListeRepertoireHierarchisee()) ;
return $res.$HTML_formulaireCouperColler->toHTML('<img src="'.PROJET_CHEMIN_ICONES.$document->getCheminIcone().'" /> '.$document->getNomLong());
$tab = $projet->getListeRepertoireHierarchisee();
//$res .= '<pre>'.print_r ($tab, true).'</pre>';
return $res .$HTML_formulaireCouperColler->toHTML('<img src="'.PROJET_CHEMIN_ICONES.$document->getCheminIcone().'" /> '.$document->getNomLong());
}
/**
* Supprime un fichier.
778,7 → 785,7
} // end of member function nouveauFichier
 
/**
* Renvoie le formulaire de création d'un répertoire.
* Renvoie le formulaire de creation d'un repertoire.
*
* @return void
* @access public
804,7 → 811,7
*/
function nouveauFichierValidation( )
{
// création de l'objet projet courant
// creation de l'objet projet courant
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$projet = new projet ($this->_db, $this->_id_projet) ;
if (isset($_SESSION['formulaire_document']) && $_SESSION['formulaire_document'] == 'valide') {
815,24 → 822,31
$formulaire_document = new HTML_formulaireDocument('formulaire_document', 'post', preg_replace ("/&amp;/", "&", $this->_url->getURL())) ;
$formulaire_document->construitFormulaire() ;
if ($formulaire_document->validate()) {
// Création d'un objet document vide
// Creation d'un objet document vide
$document = new document ("", $this->_db) ;
// avant d'appeler la méthode enregistrerSQL, il faut indiquer l'identifiant du projet et l'identifiant du propriétaire
// avant d'appeler la methode enregistrerSQL, il faut indiquer l'identifiant du projet et l'identifiant du proprietaire
$document->setIdProjet ($this->_id_projet) ;
$document->setIdProprietaire ($this->_auth->getAuthData (PROJET_CHAMPS_ID)) ;
 
// On passe aussi le numéro de répertoire s'il existe
// On passe aussi le numero de repertoire s'il existe
if ($this->_id_repertoire != '') $document->setIdRepertoire($this->_id_repertoire) ;
 
if ($this->_id_repertoire == 0) $document->setIdRepertoire(0) ;
//$GLOBALS['log'] .= '<br>this->_id_repertoire: '.$this->_id_repertoire.'<br>';
$chemin_upload = $document->calculeCheminUploaded($projet->getNomRepertoire()) ;
 
if (!$document->upload (PROJET_CHEMIN_FICHIER.$projet->getNomRepertoire().'/'.$chemin_upload)) {
echo 'Echec de l\'upload' ;
trigger_error('echec d\'upload !', E_USER_ERROR) ;
//$GLOBALS['log'] .= '<br>chemin_upload: '.$chemin_upload.'<br>';
//$GLOBALS['log'] .= 'projet->getRepertoire() : '.$projet->getNomRepertoire().'<br>';
$id_document = SQL_obtenirNouveauId($this->_db, 'projet_documents', 'pd_id') ;
$nouveau_nom = $document->genereNouveauNom($projet->getNomRepertoire(), $_FILES['fichier']['name'], $id_document);
if (!$document->upload (PROJET_CHEMIN_FICHIER.$chemin_upload.'/'.$nouveau_nom)) {
return 'Echec de l\'upload<br />'.
'Fichier source : '. $_FILES['fichier']['name'];
'Fichier destination : '.PROJET_CHEMIN_FICHIER.$projet->getNomRepertoire().'/'.$chemin_upload.'/'.$nouveau_nom ;
}
 
 
$document->enregistrerSQL($formulaire_document->getSubmitValues(), $projet->getNomRepertoire().'/'.$chemin_upload) ;
//$document->enregistrerSQL($formulaire_document->getSubmitValues(), $projet->getNomRepertoire().'/'.$chemin_upload) ;
$retour = $document->enregistrerSQL($formulaire_document->getSubmitValues(), $nouveau_nom);
// On place a 1 la colonne p_avoir_document
if (!$projet->avoirDocument()) $projet->setAvoirDocument(true);
841,6 → 855,7
} else {
return $formulaire_document->toHTML() ;
}
return $retour;
unset ($projet) ;
} // end of member function nouveauFichierValidation
 
852,7 → 867,7
*/
function modifierFichier( )
{
// création de l'objet projet courant
// creation de l'objet projet courant
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$projet = new projet ($this->_db, $this->_id_projet) ;
$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_MODIFIER_V) ;
860,9 → 875,9
$formulaire_document = new HTML_formulaireDocument('formulaire_document', 'post',preg_replace ("/&amp;/", "&", $this->_url->getURL())) ;
$formulaire_document->construitFormulaire(PROJET_ACTION_MODIFIER_V) ;
if ($formulaire_document->validate()) {
// Création d'un objet document vide
// Creation d'un objet document vide
$document = new document ($this->_id_document, $this->_db) ;
// On passe aussi le numéro de répertoire s'il existe
// On passe aussi le numero de répertoire s'il existe
if ($this->_id_repertoire != '') $document->setIdRepertoire($this->_id_repertoire) ;
$document->majSQL($formulaire_document->getSubmitValues()) ;
} else {
879,7 → 894,7
*/
function nouveauRepertoireValidation( )
{
// création de l'objet projet courant
// creation de l'objet projet courant
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$projet = new projet ($this->_db, $this->_id_projet) ;
 
889,22 → 904,26
$formulaire_repertoire->setType ('repertoire') ;
$formulaire_repertoire->construitFormulaire() ;
if ($formulaire_repertoire->validate()) {
// Création d'un objet
// Creation d'un objet
$document = new document ("", $this->_db) ;
// avant d'appeler la méthode enregistrerSQL, il faut indiquer l'identifiant du projet et l'identifiant du propriétaire
// avant d'appeler la methode enregistrerSQL, il faut indiquer l'identifiant du projet et l'identifiant du proprietaire
$document->setIdProjet ($this->_id_projet) ;
$document->setIdProprietaire ($this->_auth->getAuthData (PROJET_CHAMPS_ID)) ;
 
// On passe aussi le numéro de répertoire s'il existe
// On passe aussi le numero de repertoire s'il existe
if ($this->_id_repertoire != '') $document->setIdRepertoire($this->_id_repertoire) ;
if ($this->_id_repertoire == 0) $document->setIdRepertoire(0) ;
$chemin_upload = $document->calculeCheminUploaded($projet->getNomRepertoire()) ;
$nom_repertoire = $document->enregistrerSQL($formulaire_repertoire->getSubmitValues(), $projet->getNomRepertoire()) ;
 
$lien = $document->enregistrerSQL($formulaire_repertoire->getSubmitValues(), $projet->getNomRepertoire()) ;
// La creation du repertoire sur le disque, chemin / nom_repertoire_projet / id_repertoire
$GLOBALS['log'] .= '<br />chemin_upload:'.$chemin_upload.'<br />';
$GLOBALS['log'] .= '<br />mkdir('.PROJET_CHEMIN_FICHIER.$chemin_upload.$nom_repertoire.')<br />';
if (!mkdir (PROJET_CHEMIN_FICHIER.$chemin_upload.$nom_repertoire)) {
 
// La création du répertoire sur le disque, chemin / nom_repertoire_projet / id_repertoire
if (!mkdir (PROJET_CHEMIN_FICHIER.$lien)) {
 
$document->suppressionSQL() ;
return $this->messageErreur(PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE).'<br />'.PROJET_CHEMIN_FICHIER.$lien ;
return $this->messageErreur(PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE).'<br />'.
PROJET_CHEMIN_FICHIER.$projet->getNomRepertoire().'/'.$chemin_upload.$nom_repertoire;
}
// On place a 1 la colonne p_avoir_document
if (!$projet->avoirDocument()) $projet->setAvoirDocument(true);
911,11 → 930,11
} else {
return $formulaire_repertoire->toHTML() ;
}
} // end of member function nouveauFichierValidation
}
 
 
/**
* Permet de spécifier au controleur sur quel projet l'on travaille.
* Permet de specifier au controleur sur quel projet l'on travaille.
*
* @param int id_projet L'identifiant du projet.
* @return void
936,11 → 955,11
function accueilProjet( )
{
$res = '' ;
// création de l'objet projet courant
// creation de l'objet projet courant
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$projet = new projet ($this->_db, $this->_id_projet) ;
 
// récupération de la liste des documents associés
// recuperation de la liste des documents associés
$liste_documents = $projet->getListesDocuments(PROJET_CHEMIN_FICHIER, PROJET_CHEMIN_ICONES) ;
 
// création de la vue liste de document, on nettoie l'url
948,7 → 967,7
include_once PROJET_CHEMIN_CLASSES.'HTML_listeDocuments.class.php' ;
$vue_liste_document = new HTML_listeDocuments($this->_url, false, $this->_id_repertoire) ;
 
// réglage de paramètres de la vue
// 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) ;
 
956,7 → 975,7
$tableau_navigation = document::getCheminIdRepertoire($this->_id_repertoire, $this->_db) ;
 
$vue_liste_document->setCheminNavigation ($tableau_navigation) ;
// vérification des droits de l'utilisateur
// verification des droits de l'utilisateur
$entete_liste = array (PROJET_FICHIERS_NOM, PROJET_FICHIERS_TAILLE, PROJET_FICHIERS_CREE_LE) ;
 
if ($this->_auth->getAuth()) {
1131,10 → 1150,10
} // end of member function accueilProjet
 
/**
* Permet de spécifier quel répertoire, dans la vue de document afficher. Il sera
* passé en paramètre à la classe HTML_listeDocuments.
* Permet de specifier quel repertoire, dans la vue de document afficher. Il sera
* passe en parametre a la classe HTML_listeDocuments.
*
* @param int id_repertoire L'identifiant du répertoire à afficher.
* @param int id_repertoire L'identifiant du repertoire a afficher.
* @return void
* @access public
*/
1141,7 → 1160,7
function setIdRepertoire( $id_repertoire )
{
$this->_id_repertoire = $id_repertoire ;
} // end of member function setIdRepertoire
}
 
/**
* Supprime un projet et tout ce qui va avec.
1204,7 → 1223,7
*/
function envoyerUnMailValidation( )
{
// Vérifications
// Verifications
if (isset($_SESSION['formulaire_mail']) && $_SESSION['formulaire_mail'] == 'valide') {
return include_once PROJET_CHEMIN_APPLI.'actions/forums.php' ;
}
1214,7 → 1233,7
$formulaire_mail = new HTML_formulaireMail('formulaire_mail', 'post', preg_replace ("/&amp;/", "&", $this->_url->getURL())) ;
$formulaire_mail->construitFormulaire() ;
if ($formulaire_mail->validate()) {
// création de l'objet projet courant
// creation de l'objet projet courant
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$projet = new projet ($this->_db, $this->_id_projet) ;
$info_liste = $projet->getListesAssociees() ;
1229,7 → 1248,7
$entetes['Message-ID'] = md5(time()).'@'.$projet->_listes_associes[0]->getNom().'.'.$projet->_listes_associes[0]->getDomaine() ;
$entetes['reply-to'] = $projet->_listes_associes[0]->getAdresseEnvoi() ;
$entetes['Content-Type'] = 'text/plain' ;
// Traitement de la reference s'il s'agit d'une réponse
// Traitement de la reference s'il s'agit d'une reponse
if (isset ($_POST['messageid'])) {
$entetes['In-Reply-To'] = $_POST['messageid'] ;
}
1259,7 → 1278,7
$formulaire_liste->setDefaults(array('domaine_liste' => PROJET_DOMAINE_LISTE)) ;
$formulaire_liste->updateElementAttr('domaine_liste', array('readonly' => 'readonly')) ;
return $res.$formulaire_liste->toHTML() ;
} // end of member function formulaireListe
}
 
/**
* Transmet au serveur la demande de création d'une nouvelle liste.
1269,13 → 1288,14
*/
function nouvelleListeValidation( )
{
// Vérifications
// Verifications
$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_NOUVELLE_LISTE_V );
include_once PROJET_CHEMIN_CLASSES.'HTML_formulaireListe.class.php' ;
$formulaire_liste = new HTML_formulaireListe('formulaire_liste', 'post', preg_replace ("/&amp;/", "&", $this->_url->getURL())) ;
$formulaire_liste->construitFormulaire() ;
if ($formulaire_liste->validate()) {
// création de l'objet liste_discussion
// creation de l'objet liste_discussion
include_once PROJET_CHEMIN_CLASSES.'liste_discussion.class.php';
$liste = new liste_discussion('', $this->_db) ;
 
// On vérifie que le nom de la liste soit unique
1289,14 → 1309,14
$projet = new projet ($this->_db, $this->_id_projet) ;
$projet->ajouterListe($liste) ;
 
// Création de la liste
// Creation de la liste
$resultat_creation = file_get_contents (PROJET_SERVEUR_VPOPMAIL.'/creation_liste.php?domaine='.
$liste->getDomaine().'&liste='.$liste->getNom().'&parametres=aBiud') ;
 
// Ajout du modérateur
// Ajout du moderateur
$resultat_ajout_moderateur = file_get_contents (PROJET_SERVEUR_VPOPMAIL.'/ajout_moderateur.php?domaine='.
$liste->getDomaine().'&liste='.$liste->getNom().'&mail='.$this->_auth->getUserName()) ;
// Ajout du modérateur en tant qu'utilisateur
// Ajout du moderateur en tant qu'utilisateur
$resultat_ajout_utilisateur = file_get_contents (PROJET_SERVEUR_VPOPMAIL.'/ajout_abonne.php?domaine='.
$liste->getDomaine().'&liste='.$liste->getNom().'&mail='.$this->_auth->getUserName()) ;
 
1436,7 → 1456,7
} // end of member function voirParticipants
 
/**
* Inscrit un utilisateur à un projet avec le statut observateur
* Inscrit un utilisateur a un projet avec le statut observateur
*
* @return void
* @access public
1481,7 → 1501,7
} else {
$participant->setStatut(3, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ;
$tableau_coordinateur = $participant->getCoordinateurs($this->_id_projet) ;
#include_once PROJET_CHEMIN_API.'pear/Mail.php';
$entetes['From'] = $this->_auth->getUserName();
$entetes['To'] = '';
$entetes['Subject'] = PROJET_DEMANDE_INSCRIPTION ;
1514,11 → 1534,12
}
 
if ($this->_presentation != 'arbre') {
return include_once PROJET_CHEMIN_APPLI.'actions/resume.php' ;
return '<h1>'.$projet->getTitre().'</h1>'.
str_replace ('nom_du_projet', $projet->getTitre(), PROJET_LAIUS_INSCRIPTION_MODERE);
} else {
$this->_action = PROJET_ACTION_VOIR_RESUME;
}
return ;
return PROJET_LAIUS_INSCRIPTION_MODERE;
}
$res = '<h1>'.PROJET_INSCRIPTION_PROJET.' : '.$projet->getTitre().'</h1>'."\n" ;
if ($projet->avoirListe()) $res .= '<h2>'.PROJET_MESSAGE_LISTE.'</h2>'."\n" ;
1531,7 → 1552,7
} // end of member function inscriptionProjet
 
/**
* Inscrit l'utilisateur logué à la liste dont le paraître est en post.
* Inscrit l'utilisateur loggue a la liste dont le parametre est en post.
*
* @return void
* @access public
1793,9 → 1814,9
{
$messageErreur = array (
PROJETCONTROLEUR_ACTION_INVALIDE => "Action non valide",
PROJETCONTROLEUR_ERREUR_SUPPRESSION_REPERTOIRE => "Impossible de supprimer le répertoire",
PROJETCONTROLEUR_PAS_DE_DOCUMENT_SELECTIONNE => 'Pas de fichier sélectionn°',
PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE => 'Impossible de créer le répertoire'
PROJETCONTROLEUR_ERREUR_SUPPRESSION_REPERTOIRE => "Impossible de supprimer le r&eacute;pertoire",
PROJETCONTROLEUR_PAS_DE_DOCUMENT_SELECTIONNE => 'Pas de fichier s&eacute;lectionn&eacute;',
PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE => 'Impossible de cr&eacute;er le r&eacute;pertoire'
) ;
return '<p class="erreur">'.$messageErreur[$valeur].'</p>' ;
} // end of member function messageErreur