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égler les permissions en é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 ("/&/", "&", $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é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('&', '&', $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 ("/&/", "&", $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 ("/&/", "&", $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 ("/&/", "&", $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 ("/&/", "&", $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().'¶metres=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épertoire", |
PROJETCONTROLEUR_PAS_DE_DOCUMENT_SELECTIONNE => 'Pas de fichier sélectionné', |
PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE => 'Impossible de créer le répertoire' |
) ; |
return '<p class="erreur">'.$messageErreur[$valeur].'</p>' ; |
} // end of member function messageErreur |