Subversion Repositories Applications.projet

Rev

Rev 55 | Rev 78 | 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
// +------------------------------------------------------------------------------------------------------+
67 alexandre_ 22
// CVS : $Id: projet.php,v 1.9 2005-11-25 14:48:44 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
67 alexandre_ 34
*@version       $Revision: 1.9 $
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")) {
47
    GEN_stockerStyleExterne('projet','client/projet/projet.css') ;
48
    GEN_stockerStyleExterne('projet_arbre','client/projet/arbre.css') ;
49
}
50
 
51
// +------------------------------------------------------------------------------------------------------+
52
// |                                           LISTE des constantes                                       |
53
// +------------------------------------------------------------------------------------------------------+
54
 
55
define ("PROJET_DEFAUT", 1) ;
56
define ("PROJET_VOIR", 2) ;
57
define ('PROJET_MENU_AFFICHER_CONTENU_CORPS', 1) ;
58
// +------------------------------------------------------------------------------------------------------+
59
// |                                           LISTE de FONCTIONS                                         |
60
// +------------------------------------------------------------------------------------------------------+
61
 
62
if (isset($_REQUEST[PROJET_VARIABLE_ID_PROJET])) {
63
    function afficherContenuNavigation () {
64
        $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ID_PROJET, $_REQUEST[PROJET_VARIABLE_ID_PROJET]) ;
65
        if (empty($_REQUEST[PROJET_VARIABLE_ACTION])) {
66
            $_REQUEST[PROJET_VARIABLE_ACTION] = PROJET_ACTION_VOIR_RESUME ;
67
        }
68
        $res = '' ;
55 alexandre_ 69
        if (isset($GLOBALS['_GEN_commun']['info_application']->presentation) &&
70
        			(($GLOBALS['_GEN_commun']['info_application']->presentation == 'arbre')
67 alexandre_ 71
        			||($GLOBALS['_GEN_commun']['info_application']->presentation == 'liste'
72
        			||($GLOBALS['_GEN_commun']['info_application']->presentation == 'tela')))) {
2 ddelon 73
            $res .= '<ul class="onglets">';
74
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_RESUME);
75
            $res .= '<li class="'.cma(PROJET_ACTION_VOIR_RESUME).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_SYNTHESE.'</a></li>';
76
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_DESCRIPTION);
77
            $res .= '<li class="'.cma(PROJET_ACTION_VOIR_DESCRIPTION).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_DESCRIPTION.'</a></li>';
78
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_WIKINI);
79
            $res .= '<li class="'.cma(PROJET_ACTION_VOIR_WIKINI).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_WIKINI.'</a></li>';
80
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_DOCUMENT) ;
81
            $res .= '<li class="'.cma(PROJET_ACTION_VOIR_DOCUMENT).'"><a href="'.$GLOBALS['url']->getURL().'">Documents</a></li>';
82
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_FORUM) ;
83
            $res .= '<li class="'.cma(PROJET_ACTION_VOIR_FORUM).'"><a href="'.$GLOBALS['url']->getURL().'">Forum</a></li>';
84
            $GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;
85
            $res .= '<li class="'.cma(PROJET_ACTION_VOIR_PARTICIPANT).'"><a href="'.$GLOBALS['url']->getURL().'">Participants</a></li>';
86
            $res .= '</ul>';
87
            $GLOBALS['url']->removeQueryString (PROJET_VARIABLE_ACTION) ;
88
        }
19 alexandre_ 89
        if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) {
45 alexandre_ 90
        	$res = '' ;
19 alexandre_ 91
    	}
2 ddelon 92
        return $res ;
93
    }
94
}
95
 
96
function afficherContenuMenu()
97
{
98
    $sortie  = '';
99
    // on fait de même pour id_projet
100
    $id_projet = isset($_REQUEST[PROJET_VARIABLE_ID_PROJET]) ? $_REQUEST[PROJET_VARIABLE_ID_PROJET] :  '';
101
 
102
       // On recherche une action dans la variable $action, s'il n'y a pas, on envoie defaut
103
    $action = isset($_REQUEST[PROJET_VARIABLE_ACTION]) ? $_REQUEST[PROJET_VARIABLE_ACTION] : PROJET_DEFAUT;
104
 
105
    // et pour id_repertoire
106
    $id_repertoire = isset($_REQUEST['id_repertoire']) ? $_REQUEST['id_repertoire'] : '';
107
 
108
    $controleur = new projetControleur($GLOBALS['projet_db'], $GLOBALS['projet_auth'], $GLOBALS['url']) ;
109
 
110
    if ($id_projet != '' && projet::projetExiste($GLOBALS['projet_db'], $id_projet)) {
111
        $controleur->setIdProjet($id_projet) ;
112
    }
113
    if ($id_repertoire != "") {
114
        $controleur->setIdRepertoire($id_repertoire) ;
115
    }
55 alexandre_ 116
    if (isset ($GLOBALS['_GEN_commun']['info_application']->prive)) {
117
        $controleur->setPrive() ;
118
    }
2 ddelon 119
 
120
    // Dans le cas de la présentation par arbre, on met les menus
55 alexandre_ 121
    if (isset($GLOBALS['_GEN_commun']['info_application']->presentation) &&
122
    				(($GLOBALS['_GEN_commun']['info_application']->presentation == 'arbre') ||
67 alexandre_ 123
    				($GLOBALS['_GEN_commun']['info_application']->presentation == 'liste')
124
    				||($GLOBALS['_GEN_commun']['info_application']->presentation == 'tela'))){
2 ddelon 125
        $sortie .= $controleur->menuGeneral() ;
126
    }
29 alexandre_ 127
 
128
    // Dans le cas d'un forum simple, on ne met pas les menus
129
    if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) {
130
        	return ;
131
    }
2 ddelon 132
    return $sortie;
133
}
134
 
135
function afficherContenuCorps() {
136
 
10 alexandre_ 137
 
2 ddelon 138
    // On recherche une action dans la variable $action, s'il n'y a pas, on envoie defaut
139
    $action = isset($_REQUEST[PROJET_VARIABLE_ACTION]) ? $_REQUEST[PROJET_VARIABLE_ACTION] : PROJET_DEFAUT;
140
 
141
    // on fait de même pour id_projet
142
    $id_projet = isset($_REQUEST[PROJET_VARIABLE_ID_PROJET]) ? $_REQUEST[PROJET_VARIABLE_ID_PROJET] : '';
143
 
144
    // et pour id_repertoire
145
    $id_repertoire = isset($_REQUEST['id_repertoire']) ? $_REQUEST['id_repertoire'] : '';
146
 
147
    // et pour id_document
148
    $id_document = isset($_REQUEST['id_document']) ? $_REQUEST['id_document'] : '';
149
 
150
    // On construit le controleur en lui passant en paramètre l'identifiant de connexion à la BD
151
    // l'objet d'authentification et l'url de la page
152
 
153
    $controleur = new projetControleur(&$GLOBALS['projet_db'], &$GLOBALS['projet_auth'], &$GLOBALS['url']) ;
154
    $controleur->setAction ($action) ;
155
 
156
    // On indique au controleur sur quel projet on travaille
157
 
158
    if ($id_projet != "") {
159
        $controleur->setIdProjet($id_projet) ;
160
 
161
    }
162
    if ($id_repertoire != "") {
163
        $controleur->setIdRepertoire($id_repertoire) ;
164
    }
165
    if ($id_document != "") {
166
        $controleur->setIdDocument($id_document) ;
167
    }
168
 
169
    // récupération des paramètres de l'appli
170
    if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)) {
171
        $controleur->setPresentation($GLOBALS['_GEN_commun']['info_application']->presentation) ;
172
    }
10 alexandre_ 173
    if (isset($GLOBALS['_GEN_commun']['info_application']->projet_type)) {
174
        $controleur->setType($GLOBALS['_GEN_commun']['info_application']->projet_type) ;
175
    }
176
    if (isset ($GLOBALS['_GEN_commun']['info_application']->exclure)) {
29 alexandre_ 177
    	$a_exclure = explode (',', $GLOBALS['_GEN_commun']['info_application']->exclure) ;
178
        foreach ($a_exclure as $valeur) $controleur->exclure($valeur) ;
10 alexandre_ 179
    }
19 alexandre_ 180
    if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) {
181
        $controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement_forum) ;
45 alexandre_ 182
        // S'il n'y a pas d'action en mode forum, on affiche l'onglet Forum
183
        if (!isset($_REQUEST[PROJET_VARIABLE_ACTION])) $controleur->setAction (PROJET_ACTION_VOIR_FORUM) ;
19 alexandre_ 184
    }
55 alexandre_ 185
 
186
    if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement)) {
187
        $controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement) ;
188
    }
189
 
190
    // Si le parametre prive est passé, les inscriptions sont modérés
191
    // TODO : permettre la demande d'inscription
192
    if (isset ($GLOBALS['_GEN_commun']['info_application']->prive)) {
193
        $controleur->setPrive() ;
194
    }
2 ddelon 195
    $res = $controleur->run() ;
19 alexandre_ 196
 
2 ddelon 197
    return $res ;
198
}
199
 
200
/** cma() calcule menu actif
201
 *
202
 *
203
 * @return
204
 */
205
 
206
function cma ($var) {
207
    $class = $_REQUEST[PROJET_VARIABLE_ACTION] == $var ?  'menu_actif' :  'menu_inactif' ;
208
    return $class ;
209
}
210
/* +--Fin du code ----------------------------------------------------------------------------------------+
211
*
212
* $Log: not supported by cvs2svn $
67 alexandre_ 213
* Revision 1.8  2005/10/25 13:50:13  alexandre_tb
214
* Ajout de la gestion des projets privés
215
*
55 alexandre_ 216
* Revision 1.7  2005/10/17 16:22:28  alexandre_tb
217
* rien
218
*
45 alexandre_ 219
* Revision 1.6  2005/10/06 14:54:06  alexandre_tb
220
* ajout de la gestion du paramètre seulement_forum
221
*
29 alexandre_ 222
* Revision 1.5  2005/10/04 10:06:32  alexandre_tb
223
* ajout du parametre seulement_forum
224
*
19 alexandre_ 225
* Revision 1.4  2005/09/28 16:29:39  ddelon
226
* Merge modification projet
227
*
15 ddelon 228
* Revision 1.3  2005/09/27 16:31:06  alexandre_tb
229
* ??
2 ddelon 230
*
15 ddelon 231
*
2 ddelon 232
* +-- Fin du code ----------------------------------------------------------------------------------------+
233
*/
234
 
235
 
236
?>