New file |
0,0 → 1,280 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library is free software; you can redistribute it and/or | |
// | modify it under the terms of the GNU General Public | |
// | License as published by the Free Software Foundation; either | |
// | version 2.1 of the License, or (at your option) any later version. | |
// | | |
// | This library is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
// | General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public | |
// | License along with this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: projet.php,v 1.15 2007-06-25 12:15:06 alexandre_tb Exp $ |
/** |
* Application projet |
* |
* Fichier d'appel pour papyrus |
* |
*@package projet |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.15 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
include_once 'configuration/projet.config.inc.php' ; |
include_once PROJET_CHEMIN_CLASSES.'projetControleur.class.php' ; |
|
// Inclusion des styles selon papyrus |
if (function_exists("GEN_stockerStyleExterne")) { |
if (file_exists('client/projet/projet.css')) GEN_stockerStyleExterne('projet','client/projet/projet.css') ; |
} |
|
// Nettoyage de la variable logout de papyrus |
$GLOBALS['url']->removeQueryString('logout'); |
|
// Nous indiquons à Papyrus de ne pas chercher de balises d'applettes dans le contenu généré par l'appli |
$GLOBALS['_PAPYRUS_']['applette']['analyse'] = true; |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE des constantes | |
// +------------------------------------------------------------------------------------------------------+ |
|
define ("PROJET_DEFAUT", 1) ; |
define ("PROJET_VOIR", 2) ; |
define ('PROJET_MENU_AFFICHER_CONTENU_CORPS', 1) ; |
// +------------------------------------------------------------------------------------------------------+ |
// | LISTE de FONCTIONS | |
// +------------------------------------------------------------------------------------------------------+ |
|
if (isset($_REQUEST[PROJET_VARIABLE_ID_PROJET])) { |
function afficherContenuNavigation () { |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ID_PROJET, $_REQUEST[PROJET_VARIABLE_ID_PROJET]) ; |
if (empty($_REQUEST[PROJET_VARIABLE_ACTION])) { |
$_REQUEST[PROJET_VARIABLE_ACTION] = PROJET_ACTION_VOIR_RESUME ; |
} |
$res = '' ; |
if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)) { |
$res .= '<ul class="onglets">'; |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_RESUME); |
$res .= '<li id="projet_resume" class="'.cma(PROJET_ACTION_VOIR_RESUME).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_SYNTHESE.'</a></li>'; |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_DESCRIPTION); |
$res .= '<li id="projet_description" class="'.cma(PROJET_ACTION_VOIR_DESCRIPTION).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_DESCRIPTION.'</a></li>'; |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_WIKINI); |
$res .= '<li id="projet_wikini" class="'.cma(PROJET_ACTION_VOIR_WIKINI).'"><a href="'.$GLOBALS['url']->getURL().'">'.PROJET_WIKINI.'</a></li>'; |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_DOCUMENT) ; |
$res .= '<li id="projet_documents" class="'.cma(PROJET_ACTION_VOIR_DOCUMENT).'"><a href="'.$GLOBALS['url']->getURL().'">Documents</a></li>'; |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_FORUM) ; |
$res .= '<li id="projet_forum" class="'.cma(PROJET_ACTION_VOIR_FORUM).'"><a href="'.$GLOBALS['url']->getURL().'">Forum</a></li>'; |
$GLOBALS['url']->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ; |
$res .= '<li id="projet_participants" class="'.cma(PROJET_ACTION_VOIR_PARTICIPANT).'"><a href="'.$GLOBALS['url']->getURL().'">Participants</a></li>'; |
$res .= '</ul>'; |
//$GLOBALS['url']->removeQueryString (PROJET_VARIABLE_ACTION) ; |
} |
if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) { |
$res = '' ; |
} |
return $res ; |
} |
} |
|
function afficherContenuMenu() |
{ |
$sortie = ''; |
// on fait de meme pour id_projet |
$id_projet = isset($_REQUEST[PROJET_VARIABLE_ID_PROJET]) ? $_REQUEST[PROJET_VARIABLE_ID_PROJET] : ''; |
|
// On recherche une action dans la variable $action, s'il n'y a pas, on envoie defaut |
$action = isset($_REQUEST[PROJET_VARIABLE_ACTION]) ? $_REQUEST[PROJET_VARIABLE_ACTION] : PROJET_DEFAUT; |
|
|
// et pour id_repertoire |
$id_repertoire = isset($_REQUEST['id_repertoire']) ? $_REQUEST['id_repertoire'] : ''; |
|
$controleur = new projetControleur($GLOBALS['projet_db'], $GLOBALS['projet_auth'], $GLOBALS['url']) ; |
|
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ; |
if ($id_projet != '' && projet::projetExiste($GLOBALS['projet_db'], $id_projet)) { |
$controleur->setIdProjet($id_projet) ; |
} |
if ($id_repertoire != "") { |
$controleur->setIdRepertoire($id_repertoire) ; |
} |
if (isset ($GLOBALS['_GEN_commun']['info_application']->prive)) { |
$controleur->setPrive() ; |
} |
|
// Dans le cas de la presentation par arbre, on met les menus |
if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)){ |
|
$sortie .= $controleur->menuGeneral() ; |
} |
|
if (isset($GLOBALS['_GEN_commun']['info_application']->seulement)) { |
$controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement) ; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->telechargement)) { |
// L'action "Mettre un fichier en ligne" |
$controleur->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_FICHIER) ; |
$res = "<ul><li><a href=\"".$controleur->_url->getURL()."\">".PROJET_METTRE_FICHIER."</a></li>\n" ; |
|
// L'action creer un repertoire |
$controleur->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_NOUVEAU_REPERTOIRE) ; |
$res .= "<li><a href=\"".$controleur->_url->getURL()."\">".PROJET_CREER_REP."</a></li>\n" ; |
$res .= '</ul></li>' ; |
$sortie .= $res ; |
} |
// Dans le cas d'un forum simple, on ne met pas les menus |
if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) { |
return ; |
} |
|
return $sortie; |
} |
|
function afficherContenuCorps() { |
|
// On recherche une action dans la variable $action, s'il n'y a pas, on envoie defaut |
$action = isset($_REQUEST[PROJET_VARIABLE_ACTION]) ? $_REQUEST[PROJET_VARIABLE_ACTION] : PROJET_DEFAUT; |
|
// on fait de meme pour id_projet |
$id_projet = isset($_REQUEST[PROJET_VARIABLE_ID_PROJET]) ? $_REQUEST[PROJET_VARIABLE_ID_PROJET] : ''; |
|
$service = isset($_REQUEST[PROJET_VARIABLE_SERVICE]) ? $_REQUEST[PROJET_VARIABLE_SERVICE] : ''; |
|
|
// et pour id_repertoire |
$id_repertoire = isset($_REQUEST['id_repertoire']) ? $_REQUEST['id_repertoire'] : ''; |
|
// et pour id_document |
$id_document = isset($_REQUEST['id_document']) ? $_REQUEST['id_document'] : ''; |
|
// On construit le controleur en lui passant en parametre l'identifiant de connexion a la BD |
// l'objet d'authentification et l'url de la page |
|
$controleur = new projetControleur(&$GLOBALS['projet_db'], &$GLOBALS['projet_auth'], &$GLOBALS['url']) ; |
$controleur->setAction ($action) ; |
$controleur->setService($service); |
|
// On indique au controleur sur quel projet on travaille |
|
if ($id_projet != "") { |
$controleur->setIdProjet($id_projet) ; |
|
} |
if ($id_repertoire != "") { |
$controleur->setIdRepertoire($id_repertoire) ; |
} |
if ($id_document != "") { |
$controleur->setIdDocument($id_document) ; |
} |
|
// recuperation des parametres de l'appli |
if (isset($GLOBALS['_GEN_commun']['info_application']->presentation)) { |
$controleur->setPresentation($GLOBALS['_GEN_commun']['info_application']->presentation) ; |
} |
if (isset($GLOBALS['_GEN_commun']['info_application']->projet_type)) { |
$controleur->setType($GLOBALS['_GEN_commun']['info_application']->projet_type) ; |
} |
if (isset ($GLOBALS['_GEN_commun']['info_application']->exclure)) { |
$a_exclure = explode (',', $GLOBALS['_GEN_commun']['info_application']->exclure) ; |
foreach ($a_exclure as $valeur) $controleur->exclure($valeur) ; |
} |
if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement_forum)) { |
$controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement_forum) ; |
// S'il n'y a pas d'action en mode forum, on affiche l'onglet Forum |
if (!isset($_REQUEST[PROJET_VARIABLE_ACTION])) $controleur->setAction (PROJET_ACTION_VOIR_FORUM) ; |
} |
|
if (isset($GLOBALS['_GEN_commun']['info_application']->telechargement)) { |
if (!isset($_REQUEST[PROJET_VARIABLE_ACTION])) $controleur->setAction (PROJET_ACTION_VOIR_DOCUMENT) ; |
} |
|
if (isset ($GLOBALS['_GEN_commun']['info_application']->seulement)) { |
$controleur->setIdProjet($GLOBALS['_GEN_commun']['info_application']->seulement) ; |
} |
|
// Si le parametre prive est passe, les inscriptions sont moderes |
// TODO : permettre la demande d'inscription |
if (isset ($GLOBALS['_GEN_commun']['info_application']->prive)) { |
$controleur->setPrive() ; |
} |
$res = $controleur->run() ; |
|
return $res ; |
} |
|
/** cma() calcule menu actif |
* |
* |
* @return |
*/ |
|
function cma ($var) { |
$class = $_REQUEST[PROJET_VARIABLE_ACTION] == $var ? 'menu_actif' : 'menu_inactif' ; |
return $class ; |
} |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: projet.php,v $ |
* Revision 1.15 2007-06-25 12:15:06 alexandre_tb |
* merge from narmer |
* |
* Revision 1.14 2007/04/19 15:34:35 neiluj |
* preparration release (livraison) "Narmer" - v0.25 |
* |
* Revision 1.13 2007/04/19 09:18:46 alexandre_tb |
* ajout de la variable $service pour appeler les services (dans la cadre de liaisons asynchrones |
* |
* Revision 1.12 2006/07/04 09:35:04 alexandre_tb |
* Simplification du code et ajout de controle |
* |
* Revision 1.11 2006/04/28 12:41:28 florian |
* corrections erreurs chemin |
* |
* Revision 1.10 2005/12/01 16:38:32 alexandre_tb |
* ajout de l'action telechargement |
* |
* Revision 1.9 2005/11/25 14:48:44 alexandre_tb |
* ajout de la gestion de la pr�sentation tela |
* |
* Revision 1.8 2005/10/25 13:50:13 alexandre_tb |
* Ajout de la gestion des projets priv�s |
* |
* Revision 1.7 2005/10/17 16:22:28 alexandre_tb |
* rien |
* |
* Revision 1.6 2005/10/06 14:54:06 alexandre_tb |
* ajout de la gestion du param�tre seulement_forum |
* |
* Revision 1.5 2005/10/04 10:06:32 alexandre_tb |
* ajout du parametre seulement_forum |
* |
* Revision 1.4 2005/09/28 16:29:39 ddelon |
* Merge modification projet |
* |
* Revision 1.3 2005/09/27 16:31:06 alexandre_tb |
* ?? |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
|
|
?> |