Subversion Repositories Applications.projet

Compare Revisions

Ignore whitespace Rev 331 → Rev 332

/trunk/classes/projetControleur.class.php
20,7 → 20,7
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
 
// CVS : $Id: projetControleur.class.php,v 1.45 2008-08-26 12:42:10 alexandre_tb Exp $
// CVS : $Id: projetControleur.class.php,v 1.46 2008-08-28 14:48:54 alexandre_tb Exp $
 
/**
* Application projet
33,7 → 33,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.45 $
*@version $Revision: 1.46 $
// +------------------------------------------------------------------------------------------------------+
*/
 
564,7 → 564,7
if ($isCoord || $isAdm) {
$res .= '<li class="projet_niv1">'.PROJET_GESTION_PROJET ;
$res .= '<ul id="projet_group_niv2_ges">' ;
// L'action modifier les propriétés du projet
// L'action modifier les proprietes du projet
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_MODIFIER_DESCRIPTION) ;
$res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_MODIFIER_PROPRIETES."</a></li>\n" ;
if ($isAdm || (PROJET_UTILISATEURS_COORD && $isCoord)) {
913,7 → 913,7
if ($formulaire_document->validate()) {
// Creation d'un objet document vide
$document = new document ($this->_id_document, $this->_db) ;
// On passe aussi le numero 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) ;
$document->majSQL($formulaire_document->getSubmitValues()) ;
} else {
1094,7 → 1094,7
} // end of member function envoyerUnMailValidation
 
/**
* Renvoie le formulaire de création d'une liste.
* Renvoie le formulaire de creation d'une liste.
*
* @param int action Indique le type d'action, PROJET_ACTION_NOUVELLE_LISTE
* @return string
1113,7 → 1113,7
}
 
/**
* Transmet au serveur la demande de création d'une nouvelle liste.
* Transmet au serveur la demande de creation d'une nouvelle liste.
*
* @return void
* @access public
1130,7 → 1130,7
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
// On verifie que le nom de la liste soit unique
if (liste_discussion::verifieDoubleListe($formulaire_liste->getSubmitValue('nom_liste').'@'.
$formulaire_liste->getSubmitValue('domaine_liste'), $this->_db)) {
// On rajoute la liste dans la base
1163,7 → 1163,7
} // end of member function nouvelleListeValidation
 
/**
* Supprime la liste de discussion associée au projet
* Supprime la liste de discussion associee au projet
*
* @return void
* @access public
1184,7 → 1184,7
/**
*
*
* @param string presentation Pour affecter une présentation au projet
* @param string presentation Pour affecter une presentation au projet
* @return void
* @access public
*/
1205,89 → 1205,7
$this->_type = $type ;
} // end of member function setPresentation
 
 
/**
* Fonction affichant les participants à un projet
*
* @return string
* @access public
*/
function voirParticipants( )
{
include_once PROJET_CHEMIN_CLASSES.'HTML_listeParticipants.class.php' ;
include_once PROJET_CHEMIN_CLASSES.'projet.class.php' ;
$projet = new projet ($this->_db, $this->_id_projet) ;
$titre = '<h1>'.$projet->getTitre().'</h1>'."\n" ;
$titre .= '<h2>'.PROJET_LISTE_PARTICIPANT.'</h2>'."\n" ;
include_once PROJET_CHEMIN_CLASSES.'participe.class.php' ;
$participants = new participe($this->_db) ;
 
// On teste ici s'il y a une mise à jour de statut
if (isset($_POST['statut'])) {
// $_GET['id_utilisateur'] et $_GET['statut'] proviennent du formulaire voir HTML_listeParticipants
$participants->setStatut($_POST['statut'], $_GET['id_utilisateur'], $this->_id_projet) ;
}
 
// Ce qui suit doit être amàliorà pour sortir la requête sur l'annuaire
// On teste s'il y a un ajout d'utilisateur voir HTML_listeParticipants
if (isset($_POST['mail_utilisateur'])) {
$requete = 'select '.PROJET_CHAMPS_ID.' from '.PROJET_ANNUAIRE.' where '.PROJET_CHAMPS_MAIL.'="'.$_POST['mail_utilisateur'].'"';
$resultat = $this->_db->query ($requete) ;
if (DB::isError ($resultat)) {
die ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
}
if (!$resultat->numRows()) {
$msg = PROJET_MAIL_ABSENT;
} else {
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC) ;
$participants->setStatut(3, $ligne[PROJET_CHAMPS_ID], $this->_id_projet) ;
}
}
 
if ($this->_auth->getAuth()) {
$statut = participe::getStatutSurProjetCourant($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_id_projet, $this->_db) ;
if ($statut == 2) $droits = PROJET_DROIT_CONTRIBUTEUR ;
if ($statut == 1) $droits = PROJET_DROIT_COORDINATEUR ;
if (participe::isAdministrateur($this->_auth->getAuthData(PROJET_CHAMPS_ID), $this->_db)) $droits = PROJET_DROIT_ADMINISTRATEUR ;
$HTML_listeParticipants = new HTML_listeParticipants(true) ;
if ($statut < 2) $HTML_listeParticipants->setModeModification() ;
// Mise en place de l'url
$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;
$HTML_listeParticipants->setURL($this->_url) ;
// Construction de l'entete
$entete = array (PROJET_NOM, PROJET_PRENOM) ;
 
if ($this->_auth->getAuth()) {
array_push ($entete, PROJET_MAIL) ;
} else {
$droits = PROJET_DROIT_AUCUN ;
}
$info_utilisateur = $participants->getInscrits($this->_id_projet, $droits) ;
array_push ($entete, PROJET_DATE_INSCRIPTION) ;
$HTML_listeParticipants->construitEntete($entete) ;
 
$HTML_listeParticipants->construitListe($info_utilisateur, statut::getTousLesStatuts(PROJET_STATUT_SAUF_ADM_COORD, $this->_db)) ;
 
$res = $HTML_listeParticipants->toHTML() ;
 
if ($statut < 2) {
$res .= PROJET_NOUVEAU_UTILISATEUR_LAIUS ;
$res .= '<form action="'.$this->_url->getURL().'" method="post">'."\n" ;
if (isset ($msg) && $msg != '') {
$res .= '<div>'.$msg.'</div>' ;
}
$res .= '<input type="text" name="mail_utilisateur" size="32" />' ;
$res .= '<input type="submit" value="'.PROJET_NOUVEAU_UTILISATEUR.'" />'."\n" ;
$res .= '</form>'."\n" ;
}
} else {
$res .= '<p>'.PROJET_TEXTE_NON_IDENTIFIE.'</p>'."\n" ;
}
return $titre.$res ;
 
} // end of member function voirParticipants
 
/**
* Inscrit un utilisateur a un projet avec le statut observateur
*
* @return void
1490,7 → 1408,7
$res .= '<br /><a href="'.$this->_url->getURL().'">'.PROJET_RETOUR_RESUME.'</a>';
return $res;
 
} // end of member function formulaireWiki
}
 
 
function associerWiki( )
1500,7 → 1418,7
$db = &$GLOBALS['_GEN_commun']['pear_db'] ;
$res='';
 
// Comportement par défaut
// Comportement par defaut
// requete sur la table gen_wikini pour affichage de la liste des Wikini
$requete = "select gewi_id_wikini, gewi_code_alpha_wikini, gewi_page from gen_wikini" ;
 
1519,7 → 1437,7
 
while ($ligne = $resultat->fetchRow()) {
$this->_url->addQueryString ('id_wikini', $ligne[0]) ;
array_push ($tableau_wikini, array ($ligne[1]."\n", // première colonne, le nom de l'application
array_push ($tableau_wikini, array ($ligne[1]."\n", // Premiere colonne, le nom de l'application
$ligne[2]."\n", // Deuxieme colonne, la page par defaut
'<a href="'.$this->_url->getURL()."&amp;".PROJET_VARIABLE_ACTION."=".PROJET_ACTION_ASSOCIER_WIKI_V."".'">'.PROJET_CHOISIR_WIKINI.'</a>'."\n",
));
1610,7 → 1528,7
} // end of member function referencerListeExterne
 
/**
* Réalise les mises à jours dans la table projet_lien_liste_externe
* Realise les mises a jours dans la table projet_lien_liste_externe
*
* @return void
* @access public
1769,6 → 1687,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.45 2008-08-26 12:42:10 alexandre_tb
* nettoyage url apres suppression d un fichier
*
* Revision 1.44 2008-08-26 08:52:28 alexandre_tb
* suppression de la methode accueilProjet desormais remplacee par resume.php
*