Subversion Repositories Applications.projet

Rev

Rev 249 | Rev 347 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 ddelon 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU General Public                                                  |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | General Public License for more details.                                                             |
17
// |                                                                                                      |
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                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
318 alexandre_ 22
// CVS : $Id: projet.php,v 1.16 2008-08-25 15:26:18 alexandre_tb Exp $
2 ddelon 23
/**
24
* Application projet
25
*
26
* Fichier d'appel pour papyrus
27
*
28
*@package projet
29
//Auteur original :
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
31
//Autres auteurs :
32
*@author        Aucun
33
*@copyright     Tela-Botanica 2000-2004
318 alexandre_ 34
*@version       $Revision: 1.16 $
2 ddelon 35
// +------------------------------------------------------------------------------------------------------+
36
*/
37
 
38
// +------------------------------------------------------------------------------------------------------+
39
// |                                            ENTETE du PROGRAMME                                       |
40
// +------------------------------------------------------------------------------------------------------+
41
 
42
include_once 'configuration/projet.config.inc.php' ;
43
include_once PROJET_CHEMIN_CLASSES.'projetControleur.class.php' ;
44
 
45
// Inclusion des styles selon papyrus
46
if (function_exists("GEN_stockerStyleExterne")) {
127 alexandre_ 47
	if (file_exists('client/projet/projet.css')) GEN_stockerStyleExterne('projet','client/projet/projet.css') ;
2 ddelon 48
}
49
 
318 alexandre_ 50
// Nettoyage de la variable logout de papyrus
51
$GLOBALS['url']->removeQueryString('logout');
52
 
53
// Nous indiquons à Papyrus de ne pas chercher de balises d'applettes dans le contenu généré par l'appli
54
$GLOBALS['_PAPYRUS_']['applette']['analyse'] = true;
2 ddelon 55
// +------------------------------------------------------------------------------------------------------+
56
// |                                           LISTE des constantes                                       |
57
// +------------------------------------------------------------------------------------------------------+
58
 
59
define ("PROJET_DEFAUT", 1) ;
60
define ("PROJET_VOIR", 2) ;
61
define ('PROJET_MENU_AFFICHER_CONTENU_CORPS', 1) ;
62
// +------------------------------------------------------------------------------------------------------+
63
// |                                           LISTE de FONCTIONS                                         |
64
// +------------------------------------------------------------------------------------------------------+
65
 
66
if (isset($_REQUEST[PROJET_VARIABLE_ID_PROJET])) {
67
    function afficherContenuNavigation () {
68
        $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ID_PROJET, $_REQUEST[PROJET_VARIABLE_ID_PROJET]) ;
69
        if (empty($_REQUEST[PROJET_VARIABLE_ACTION])) {
70
            $_REQUEST[PROJET_VARIABLE_ACTION] = PROJET_ACTION_VOIR_RESUME ;
71
        }
72
        $res = '' ;
127 alexandre_ 73
        if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)) {
2 ddelon 74
            $res .= '<ul class="onglets">';
75
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_RESUME);
111 florian 76
            $res .= '<li id="projet_resume" class="'.cma(PROJET_ACTION_VOIR_RESUME).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_SYNTHESE.'</a></li>';
2 ddelon 77
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_DESCRIPTION);
111 florian 78
            $res .= '<li id="projet_description" class="'.cma(PROJET_ACTION_VOIR_DESCRIPTION).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_DESCRIPTION.'</a></li>';
2 ddelon 79
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_WIKINI);
111 florian 80
            $res .= '<li id="projet_wikini" class="'.cma(PROJET_ACTION_VOIR_WIKINI).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_WIKINI.'</a></li>';
2 ddelon 81
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_DOCUMENT) ;
111 florian 82
            $res .= '<li id="projet_documents" class="'.cma(PROJET_ACTION_VOIR_DOCUMENT).'"><a href="'.$GLOBALS['url']->getURL().'">Documents</a></li>';
2 ddelon 83
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_FORUM) ;
111 florian 84
            $res .= '<li id="projet_forum" class="'.cma(PROJET_ACTION_VOIR_FORUM).'"><a href="'.$GLOBALS['url']->getURL().'">Forum</a></li>';
2 ddelon 85
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;
111 florian 86
            $res .= '<li id="projet_participants" class="'.cma(PROJET_ACTION_VOIR_PARTICIPANT).'"><a href="'.$GLOBALS['url']->getURL().'">Participants</a></li>';
2 ddelon 87
            $res .= '</ul>';
318 alexandre_ 88
            //$GLOBALS['url']->removeQueryString (PROJET_VARIABLE_ACTION) ;
2 ddelon 89
        }
19 alexandre_ 90
        if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) {
45 alexandre_ 91
        	$res = '' ;
19 alexandre_ 92
    	}
2 ddelon 93
        return $res ;
94
    }
95
}
96
 
97
function afficherContenuMenu()
98
{
99
    $sortie  = '';
249 alexandre_ 100
    // on fait de meme pour id_projet
2 ddelon 101
    $id_projet = isset($_REQUEST[PROJET_VARIABLE_ID_PROJET]) ? $_REQUEST[PROJET_VARIABLE_ID_PROJET] :  '';
102
 
103
       // On recherche une action dans la variable $action, s'il n'y a pas, on envoie defaut
104
    $action = isset($_REQUEST[PROJET_VARIABLE_ACTION]) ? $_REQUEST[PROJET_VARIABLE_ACTION] : PROJET_DEFAUT;
105
 
198 alexandre_ 106
 
2 ddelon 107
    // et pour id_repertoire
108
    $id_repertoire = isset($_REQUEST['id_repertoire']) ? $_REQUEST['id_repertoire'] : '';
109
 
110
    $controleur = new projetControleur($GLOBALS['projet_db'], $GLOBALS['projet_auth'], $GLOBALS['url']) ;
111
 
208 neiluj 112
    include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
2 ddelon 113
    if ($id_projet != '' && projet::projetExiste($GLOBALS['projet_db'], $id_projet)) {
114
        $controleur->setIdProjet($id_projet) ;
115
    }
116
    if ($id_repertoire != "") {
117
        $controleur->setIdRepertoire($id_repertoire) ;
118
    }
55 alexandre_ 119
    if (isset ($GLOBALS['_GEN_commun']['info_application']->prive)) {
120
        $controleur->setPrive() ;
121
    }
2 ddelon 122
 
249 alexandre_ 123
    // Dans le cas de la presentation par arbre, on met les menus
127 alexandre_ 124
    if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)){
78 alexandre_ 125
 
2 ddelon 126
        $sortie .= $controleur->menuGeneral() ;
127
    }
318 alexandre_ 128
 
78 alexandre_ 129
   	if (isset($GLOBALS['_GEN_commun']['info_application']->seulement)) {
130
		$controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement) ;
131
	}
132
	if (isset($GLOBALS['_GEN_commun']['info_application']->telechargement)) {
133
		// L'action "Mettre un fichier en ligne"
134
        $controleur->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_FICHIER) ;
135
        $res = "<ul><li><a href=\"".$controleur->_url->getURL()."\">".PROJET_METTRE_FICHIER."</a></li>\n" ;
136
 
249 alexandre_ 137
        // L'action creer un repertoire
78 alexandre_ 138
        $controleur->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_REPERTOIRE) ;
139
        $res .= "<li><a href=\"".$controleur->_url->getURL()."\">".PROJET_CREER_REP."</a></li>\n" ;
140
		$res .= '</ul></li>' ;
141
		$sortie .= $res ;
142
	}
29 alexandre_ 143
    // Dans le cas d'un forum simple, on ne met pas les menus
144
    if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) {
145
        	return ;
146
    }
318 alexandre_ 147
 
2 ddelon 148
    return $sortie;
149
}
150
 
151
function afficherContenuCorps() {
152
 
10 alexandre_ 153
 
2 ddelon 154
    // On recherche une action dans la variable $action, s'il n'y a pas, on envoie defaut
155
    $action = isset($_REQUEST[PROJET_VARIABLE_ACTION]) ? $_REQUEST[PROJET_VARIABLE_ACTION] : PROJET_DEFAUT;
156
 
318 alexandre_ 157
    // on fait de meme pour id_projet
2 ddelon 158
    $id_projet = isset($_REQUEST[PROJET_VARIABLE_ID_PROJET]) ? $_REQUEST[PROJET_VARIABLE_ID_PROJET] : '';
159
 
198 alexandre_ 160
	$service = isset($_REQUEST[PROJET_VARIABLE_SERVICE]) ? $_REQUEST[PROJET_VARIABLE_SERVICE] : '';
161
 
162
 
2 ddelon 163
    // et pour id_repertoire
164
    $id_repertoire = isset($_REQUEST['id_repertoire']) ? $_REQUEST['id_repertoire'] : '';
165
 
166
    // et pour id_document
167
    $id_document = isset($_REQUEST['id_document']) ? $_REQUEST['id_document'] : '';
168
 
318 alexandre_ 169
    // On construit le controleur en lui passant en parametre l'identifiant de connexion a la BD
2 ddelon 170
    // l'objet d'authentification et l'url de la page
171
 
172
    $controleur = new projetControleur(&$GLOBALS['projet_db'], &$GLOBALS['projet_auth'], &$GLOBALS['url']) ;
173
    $controleur->setAction ($action) ;
198 alexandre_ 174
    $controleur->setService($service);
2 ddelon 175
 
176
    // On indique au controleur sur quel projet on travaille
177
 
178
    if ($id_projet != "") {
179
        $controleur->setIdProjet($id_projet) ;
180
 
181
    }
182
    if ($id_repertoire != "") {
183
        $controleur->setIdRepertoire($id_repertoire) ;
184
    }
185
    if ($id_document != "") {
186
        $controleur->setIdDocument($id_document) ;
187
    }
188
 
249 alexandre_ 189
    // recuperation des parametres de l'appli
2 ddelon 190
    if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)) {
191
        $controleur->setPresentation($GLOBALS['_GEN_commun']['info_application']->presentation) ;
192
    }
10 alexandre_ 193
    if (isset($GLOBALS['_GEN_commun']['info_application']->projet_type)) {
194
        $controleur->setType($GLOBALS['_GEN_commun']['info_application']->projet_type) ;
195
    }
196
    if (isset ($GLOBALS['_GEN_commun']['info_application']->exclure)) {
29 alexandre_ 197
    	$a_exclure = explode (',', $GLOBALS['_GEN_commun']['info_application']->exclure) ;
198
        foreach ($a_exclure as $valeur) $controleur->exclure($valeur) ;
10 alexandre_ 199
    }
19 alexandre_ 200
    if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) {
201
        $controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement_forum) ;
45 alexandre_ 202
        // S'il n'y a pas d'action en mode forum, on affiche l'onglet Forum
203
        if (!isset($_REQUEST[PROJET_VARIABLE_ACTION])) $controleur->setAction (PROJET_ACTION_VOIR_FORUM) ;
19 alexandre_ 204
    }
55 alexandre_ 205
 
78 alexandre_ 206
    if (isset($GLOBALS['_GEN_commun']['info_application']->telechargement)) {
207
    	if (!isset($_REQUEST[PROJET_VARIABLE_ACTION])) $controleur->setAction (PROJET_ACTION_VOIR_DOCUMENT) ;
208
    }
209
 
55 alexandre_ 210
    if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement)) {
211
        $controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement) ;
212
    }
213
 
249 alexandre_ 214
    // Si le parametre prive est passe, les inscriptions sont moderes
55 alexandre_ 215
    // TODO : permettre la demande d'inscription
216
    if (isset ($GLOBALS['_GEN_commun']['info_application']->prive)) {
217
        $controleur->setPrive() ;
218
    }
2 ddelon 219
    $res = $controleur->run() ;
19 alexandre_ 220
 
2 ddelon 221
    return $res ;
222
}
223
 
224
/** cma() calcule menu actif
225
 *
226
 *
227
 * @return
228
 */
229
 
230
function cma ($var) {
231
    $class = $_REQUEST[PROJET_VARIABLE_ACTION] == $var ?  'menu_actif' :  'menu_inactif' ;
232
    return $class ;
233
}
234
/* +--Fin du code ----------------------------------------------------------------------------------------+
235
*
236
* $Log: not supported by cvs2svn $
318 alexandre_ 237
* Revision 1.15  2007-06-25 12:15:06  alexandre_tb
238
* merge from narmer
239
*
249 alexandre_ 240
* Revision 1.14  2007/04/19 15:34:35  neiluj
318 alexandre_ 241
* preparration release (livraison) "Narmer" - v0.25
249 alexandre_ 242
*
208 neiluj 243
* Revision 1.13  2007/04/19 09:18:46  alexandre_tb
244
* ajout de la variable $service pour appeler les services (dans la cadre de liaisons asynchrones
245
*
198 alexandre_ 246
* Revision 1.12  2006/07/04 09:35:04  alexandre_tb
247
* Simplification du code et ajout de controle
248
*
127 alexandre_ 249
* Revision 1.11  2006/04/28 12:41:28  florian
250
* corrections erreurs chemin
251
*
111 florian 252
* Revision 1.10  2005/12/01 16:38:32  alexandre_tb
253
* ajout de l'action telechargement
254
*
78 alexandre_ 255
* Revision 1.9  2005/11/25 14:48:44  alexandre_tb
256
* ajout de la gestion de la présentation tela
257
*
67 alexandre_ 258
* Revision 1.8  2005/10/25 13:50:13  alexandre_tb
259
* Ajout de la gestion des projets privés
260
*
55 alexandre_ 261
* Revision 1.7  2005/10/17 16:22:28  alexandre_tb
262
* rien
263
*
45 alexandre_ 264
* Revision 1.6  2005/10/06 14:54:06  alexandre_tb
265
* ajout de la gestion du paramètre seulement_forum
266
*
29 alexandre_ 267
* Revision 1.5  2005/10/04 10:06:32  alexandre_tb
268
* ajout du parametre seulement_forum
269
*
19 alexandre_ 270
* Revision 1.4  2005/09/28 16:29:39  ddelon
271
* Merge modification projet
272
*
15 ddelon 273
* Revision 1.3  2005/09/27 16:31:06  alexandre_tb
274
* ??
2 ddelon 275
*
15 ddelon 276
*
2 ddelon 277
* +-- Fin du code ----------------------------------------------------------------------------------------+
278
*/
279
 
280
 
281
?>