Subversion Repositories Applications.projet

Rev

Rev 149 | Rev 156 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 149 Rev 151
Line 18... Line 18...
18
// | You should have received a copy of the GNU General Public                                            |
18
// | You should have received a copy of the GNU General Public                                            |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
Line 22... Line 22...
22
 
22
 
Line 23... Line 23...
23
// CVS : $Id: projetControleur.class.php,v 1.30 2006-12-11 14:43:30 alexandre_tb Exp $
23
// CVS : $Id: projetControleur.class.php,v 1.31 2006-12-18 16:27:31 alexandre_tb Exp $
24
 
24
 
25
/**
25
/**
26
* Application projet
26
* Application projet
Line 31... Line 31...
31
//Auteur original :
31
//Auteur original :
32
*@author        Alexandre Granier <alexandre@tela-botanica.org>
32
*@author        Alexandre Granier <alexandre@tela-botanica.org>
33
//Autres auteurs :
33
//Autres auteurs :
34
*@author        Aucun
34
*@author        Aucun
35
*@copyright     Tela-Botanica 2000-2004
35
*@copyright     Tela-Botanica 2000-2004
36
*@version       $Revision: 1.30 $
36
*@version       $Revision: 1.31 $
37
// +------------------------------------------------------------------------------------------------------+
37
// +------------------------------------------------------------------------------------------------------+
38
*/
38
*/
Line 39... Line 39...
39
 
39
 
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
Line 121... Line 121...
121
define ('PROJET_DROIT_AUCUN', 16) ;
121
define ('PROJET_DROIT_AUCUN', 16) ;
122
define ('PROJET_DROIT_EN_ATTENTE', 32);
122
define ('PROJET_DROIT_EN_ATTENTE', 32);
123
/**
123
/**
124
 * class projetControleur
124
 * class projetControleur
125
 * Cette classe sert à lancer les diverses applications du module projet, en
125
 * Cette classe sert à lancer les diverses applications du module projet, en
126
 * fonction des paramêtre de l'URL GET ou POST. La méthode principale est run()
126
 * fonction des paramètre de l'URL GET ou POST. La méthode principale est run()
127
 */
127
 */
128
class projetControleur
128
class projetControleur
129
{
129
{
130
    /*** Attributes: ***/
130
    /*** Attributes: ***/
Line 359... Line 359...
359
            $this->_url = $urlObjet ;
359
            $this->_url = $urlObjet ;
360
        }
360
        }
361
    } // end of member function projetControleur
361
    } // end of member function projetControleur
Line 362... Line 362...
362
 
362
 
363
    /**
363
    /**
364
     * Renvoie la liste des projets auquel participe la personne logguée, avec son
364
     * Renvoie la liste des projets auquel participe la personne loguée, avec son
365
     * statut et un lien vers l'action pour gérer le projet.
365
     * statut et un lien vers l'action pour gérer le projet.
366
     *
366
     *
367
     * @return string
367
     * @return string
368
     * @access public
368
     * @access public
Line 382... Line 382...
382
            $projetListe = projet::getTousLesProjets($this->_db) ;
382
            $projetListe = projet::getTousLesProjets($this->_db) ;
383
        }
383
        }
384
        // Si la liste est vide, on renvoie un texte
384
        // Si la liste est vide, on renvoie un texte
385
        if (count($projetListe) == 0) {
385
        if (count($projetListe) == 0) {
386
        	// On inclue un fichier local
386
        	// On inclue un fichier local
387
	        if (file_exists(PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php'))
387
	        if (file_exists(PROJET_CHEMIN_APPLI.'langues/pro_langue_'.$GLOBALS['lang'].'.local.inc.php'))
388
	        	include_once PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php' ;
388
	        	include_once PROJET_CHEMIN_APPLI.'langues/pro_langue_'.$GLOBALS['lang'].'.local.inc.php' ;
389
        	return $res .= PROJET_PAS_DE_LISTE;
389
        	return $res .= PROJET_PAS_DE_PROJET;
390
        }
390
        }
391
        // Si certain projet sont à exclure, on les exclu
391
        // Si certain projet sont à exclure, on les exclu
392
        $projet_a_exclure = array() ;
392
        $projet_a_exclure = array() ;
393
        if (count($this->_projet_exclu)) {
393
        if (count($this->_projet_exclu)) {
394
        	arsort($this->_projet_exclu) ;
394
        	arsort($this->_projet_exclu) ;
Line 397... Line 397...
397
            		if ($projetListe[$i]->getId() == $valeur)  array_push ($projet_a_exclure, $i);}
397
            		if ($projetListe[$i]->getId() == $valeur)  array_push ($projet_a_exclure, $i);}
398
            }
398
            }
399
        }
399
        }
400
        foreach ($projet_a_exclure as $valeur) unset ($projetListe[$valeur]) ;
400
        foreach ($projet_a_exclure as $valeur) unset ($projetListe[$valeur]) ;
Line 401... Line 401...
401
 
401
 
402
        // Les entêtes des tableaux
402
        // Les entête des tableaux
Line 403... Line 403...
403
        $tableau_label_statut_action = array (PROJET_GERER, PROJET_GERER, PROJET_GERER_FICHIER, PROJET_VOIR_FICHIER, "---") ;
403
        $tableau_label_statut_action = array (PROJET_GERER, PROJET_GERER, PROJET_GERER_FICHIER, PROJET_VOIR_FICHIER, "---") ;
404
 
404
 
Line 552... Line 552...
552
				$res .= '<li class="projet_niv1">'.PROJET_GESTION_PROJET ;
552
				$res .= '<li class="projet_niv1">'.PROJET_GESTION_PROJET ;
553
				$res .= '<ul id="projet_group_niv2_ges">' ;
553
				$res .= '<ul id="projet_group_niv2_ges">' ;
554
				// L'action modifier les propriétés du projet
554
				// L'action modifier les propriétés du projet
555
	            $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_MODIFIER_DESCRIPTION) ;
555
	            $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_MODIFIER_DESCRIPTION) ;
556
	            $res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_MODIFIER_PROPRIETES."</a></li>\n" ;
556
	            $res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_MODIFIER_PROPRIETES."</a></li>\n" ;
557
	            if ($isAdm) {
557
	            if ($isAdm || (PROJET_UTILISATEURS_COORD && $isCoord)) {
558
		            $this->_url->removeQueryString (PROJET_VARIABLE_ID_PROJET) ;
558
		            $this->_url->removeQueryString (PROJET_VARIABLE_ID_PROJET) ;
559
		            $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU) ;
559
		            $this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU) ;
560
		            $res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_NOUVEAU_PROJET.'</a></li>'."\n" ;
560
		            $res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_NOUVEAU_PROJET.'</a></li>'."\n" ;
561
		            $this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;
561
		            $this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;
Line 738... Line 738...
738
        $document = new document($this->_id_document, $this->_db, PROJET_CHEMIN_FICHIER) ;
738
        $document = new document($this->_id_document, $this->_db, PROJET_CHEMIN_FICHIER) ;
739
        // On traite le cas où l'on vient de déplacer un fichier
739
        // On traite le cas où l'on vient de déplacer un fichier
Line 740... Line 740...
740
 
740
 
741
        if (isset ($_POST['projet_repertoire'])) {
741
        if (isset ($_POST['projet_repertoire'])) {
742
            if (!$document -> deplace ($_POST['projet_repertoire'], $projet->getNomRepertoire())) {
742
            if (!$document -> deplace ($_POST['projet_repertoire'], $projet->getNomRepertoire())) {
743
                echo 'echec du déplacement' ;
743
                echo 'echec du Déplacement' ;
744
            }
744
            }
745
            return ;
745
            return ;
746
        }
746
        }
747
        include_once PROJET_CHEMIN_CLASSES.'HTML_formulaireCouperColler.class.php' ;
747
        include_once PROJET_CHEMIN_CLASSES.'HTML_formulaireCouperColler.class.php' ;
Line 1355... Line 1355...
1355
        if (isset($_POST['statut'])) {
1355
        if (isset($_POST['statut'])) {
1356
            // $_GET['id_utilisateur'] et $_GET['statut'] proviennent du formulaire voir HTML_listeParticipants
1356
            // $_GET['id_utilisateur'] et $_GET['statut'] proviennent du formulaire voir HTML_listeParticipants
1357
            $participants->setStatut($_POST['statut'], $_GET['id_utilisateur'], $this->_id_projet) ;
1357
            $participants->setStatut($_POST['statut'], $_GET['id_utilisateur'], $this->_id_projet) ;
1358
        }
1358
        }
Line 1359... Line 1359...
1359
 
1359
 
1360
        // Ce qui suit doit être amélioré pour sortir la requête sur l'annuaire
1360
        // Ce qui suit doit être amàliorà pour sortir la requête sur l'annuaire
1361
        // On teste s'il y a un ajout d'utilisateur voir HTML_listeParticipants
1361
        // On teste s'il y a un ajout d'utilisateur voir HTML_listeParticipants
1362
        if (isset($_POST['mail_utilisateur'])) {
1362
        if (isset($_POST['mail_utilisateur'])) {
1363
            $requete = 'select '.PROJET_CHAMPS_ID.' from '.PROJET_ANNUAIRE.' where '.PROJET_CHAMPS_MAIL.'="'.$_POST['mail_utilisateur'].'"';
1363
            $requete = 'select '.PROJET_CHAMPS_ID.' from '.PROJET_ANNUAIRE.' where '.PROJET_CHAMPS_MAIL.'="'.$_POST['mail_utilisateur'].'"';
1364
            $resultat = $this->_db->query ($requete) ;
1364
            $resultat = $this->_db->query ($requete) ;
Line 1510... Line 1510...
1510
        $HTML_formulaireInscriptionProjet->setDefaults(array('radio_inscription_liste' => 2)) ;
1510
        $HTML_formulaireInscriptionProjet->setDefaults(array('radio_inscription_liste' => 2)) ;
1511
        return $res.$HTML_formulaireInscriptionProjet->toHTML() ;
1511
        return $res.$HTML_formulaireInscriptionProjet->toHTML() ;
1512
    } // end of member function inscriptionProjet
1512
    } // end of member function inscriptionProjet
Line 1513... Line 1513...
1513
 
1513
 
1514
    /**
1514
    /**
1515
     * Inscrit l'utilisateur loggué à la liste dont le paraètre est en post.
1515
     * Inscrit l'utilisateur logué à la liste dont le paraître est en post.
1516
     *
1516
     *
1517
     * @return void
1517
     * @return void
1518
     * @access public
1518
     * @access public
1519
     */
1519
     */
Line 1528... Line 1528...
1528
        $inscription_liste = new inscription_liste($this->_db) ;
1528
        $inscription_liste = new inscription_liste($this->_db) ;
1529
        $inscription_liste->inscrireUtilisateur( $utilisateur, $projet->_listes_associes[0], 2) ;  // 2 est la statut inscription normale
1529
        $inscription_liste->inscrireUtilisateur( $utilisateur, $projet->_listes_associes[0], 2) ;  // 2 est la statut inscription normale
1530
    } // end of member function inscriptionListe
1530
    } // end of member function inscriptionListe
Line 1531... Line 1531...
1531
 
1531
 
1532
    /**
1532
    /**
1533
     * Inscrit l'utilisateur loggué à la liste dont le paraètre est en post.
1533
     * Inscrit l'utilisateur logué à la liste dont le paraître est en post.
1534
     *
1534
     *
1535
     * @return void
1535
     * @return void
1536
     * @access public
1536
     * @access public
1537
     */
1537
     */
Line 1627... Line 1627...
1627
 
1627
 
Line 1628... Line 1628...
1628
	    $tableau_wikini = array() ;
1628
	    $tableau_wikini = array() ;
1629
 
1629
 
1630
	    while ($ligne = $resultat->fetchRow()) {
1630
	    while ($ligne = $resultat->fetchRow()) {
1631
	        $this->_url->addQueryString ('id_wikini', $ligne[0]) ;
1631
	        $this->_url->addQueryString ('id_wikini', $ligne[0]) ;
1632
	        array_push ($tableau_wikini, array ($ligne[1]."\n",    // Première colonne, le nom de l'application
1632
	        array_push ($tableau_wikini, array ($ligne[1]."\n",    // première colonne, le nom de l'application
1633
										        $ligne[2]."\n",    // Deuxieme colonne, la page par defaut
1633
										        $ligne[2]."\n",    // Deuxieme colonne, la page par defaut
1634
	        								  '<a href="'.$this->_url->getURL()."&amp;".PROJET_VARIABLE_ACTION."=".PROJET_ACTION_ASSOCIER_WIKI_V."".'">'.PROJET_CHOISIR_WIKINI.'</a>'."\n",
1634
	        								  '<a href="'.$this->_url->getURL()."&amp;".PROJET_VARIABLE_ACTION."=".PROJET_ACTION_ASSOCIER_WIKI_V."".'">'.PROJET_CHOISIR_WIKINI.'</a>'."\n",
1635
	                                            ));
1635
	                                            ));
Line 1763... Line 1763...
1763
    function messageErreur( $valeur )
1763
    function messageErreur( $valeur )
1764
    {
1764
    {
1765
        $messageErreur = array (
1765
        $messageErreur = array (
1766
                    PROJETCONTROLEUR_ACTION_INVALIDE => "Action non valide",
1766
                    PROJETCONTROLEUR_ACTION_INVALIDE => "Action non valide",
1767
                    PROJETCONTROLEUR_ERREUR_SUPPRESSION_REPERTOIRE => "Impossible de supprimer le répertoire",
1767
                    PROJETCONTROLEUR_ERREUR_SUPPRESSION_REPERTOIRE => "Impossible de supprimer le répertoire",
1768
                    PROJETCONTROLEUR_PAS_DE_DOCUMENT_SELECTIONNE => 'Pas de fichier sélectionné',
1768
                    PROJETCONTROLEUR_PAS_DE_DOCUMENT_SELECTIONNE => 'Pas de fichier sélectionn°',
1769
                    PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE => 'Impossible de créer le répertoire'
1769
                    PROJETCONTROLEUR_ERREUR_CREATION_REPERTOIRE => 'Impossible de créer le répertoire'
1770
        ) ;
1770
        ) ;
1771
        return '<p class="erreur">'.$messageErreur[$valeur].'</p>' ;
1771
        return '<p class="erreur">'.$messageErreur[$valeur].'</p>' ;
1772
    } // end of member function messageErreur
1772
    } // end of member function messageErreur