20,7 → 20,7 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
|
// CVS : $Id: projetControleur.class.php,v 1.11 2005-10-07 08:28:05 alexandre_tb Exp $ |
// CVS : $Id: projetControleur.class.php,v 1.12 2005-10-14 08:49:32 alexandre_tb Exp $ |
|
/** |
* Application projet |
33,7 → 33,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.11 $ |
*@version $Revision: 1.12 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
361,12 → 361,12 |
*/ |
function mesProjets( ) |
{ |
$res = '' ; |
include_once PROJET_CHEMIN_CLASSES.'statut_liste.class.php' ; |
include_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php' ; |
$participant = new participe ($this->_db) ; |
|
if (PROJET_UTILISE_TYPE && $this->_type != '') { |
|
$projetListe = projet::getProjetDuType($this->_type, $this->_db) ; |
if ($this->_presentation == 'arbre')array_push ($projetListe, projet::getProjetRacine($this->_db)) ; |
} else { |
375,24 → 375,33 |
} |
// Si la liste est vide, on renvoie un texte |
if (count($projetListe) == 0) { |
return PROJET_PAS_DE_LISTE; |
// On inclue un fichier local |
if (file_exists(PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php')) |
include_once PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php' ; |
return $res .= PROJET_PAS_DE_LISTE; |
} |
// Si certain projet sont à exclure, on les exclu |
$projet_a_exclure = array() ; |
if (count($this->_projet_exclu)) { |
arsort($this->_projet_exclu) ; |
foreach ($this->_projet_exclu as $valeur) { |
for ($i = 0; $i < count ($projetListe); $i++) { |
if ($projetListe[$i]->getId() == $valeur) unset ($projetListe[$i]) ; |
if ($projetListe[$i]->getId() == $valeur) array_push ($projet_a_exclure, $i);} |
} |
} |
} |
foreach ($projet_a_exclure as $valeur) unset ($projetListe[$valeur]) ; |
|
// Les entêtes des tableaux |
$tableau_label_statut_action = array (PROJET_GERER, PROJET_GERER, PROJET_GERER_FICHIER, PROJET_VOIR_FICHIER, "---") ; |
|
$auth = $this->_auth->getAuth() ; // Pour raccourcir le code |
$id_u = $this->_auth->getAuthData(PROJET_CHAMPS_ID) ; // -------------- |
$res = '' ; |
|
|
// Si la présentation est par arbre |
// TODO : Organiser différemment les présentations |
// En utilisant des templates |
if ($this->_presentation == 'arbre') { |
|
$titre = '<h1>Arbre des Projets</h1>'."\n" ; |
include_once PROJET_CHEMIN_API_ARBRE.'arbre.class.php' ; |
// initialisation de variables |
418,10 → 427,17 |
} |
return $titre.'<table>'.$cime.$arbre->affBranche().$arbre->affRacine().'</table>'; |
} |
|
// Présentation par liste |
|
$titre = '<h1>'.PROJET_LISTE.'</h1>'."\n" ; |
|
// On inclue un fichier local |
if (file_exists(PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php')) |
include_once PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php' ; |
// On vérifie si l'utilisateur participe à des projets |
if ($auth) { |
$res .= '<p>'.PROJET_PARTICIPER.'</p>'; |
|
$utilisateur_liste = new inscription_liste($this->_db) ; |
// On teste ici s'il y a une mise à jour de statut |
if (isset($_POST['statut'])) { |
463,7 → 479,9 |
} |
|
$this->_url->addQueryString (PROJET_VARIABLE_ID_PROJET, $projet->getId()) ; |
$ligne_tableau = array ($projet->getId(), '<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>') ; |
$ligne_tableau = array ($projet->getId(), $projet->getResume(), |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>' |
) ; |
if ($auth) { |
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_DESINSCRIPTION_PROJET) ; |
array_push ($ligne_tableau, '<a href="'.$this->_url->getURL().'" onclick="javascript:return confirm(\''. |
481,8 → 499,10 |
$HTML_projetListe->construitListe ($tableau_resultat, $tableau_statut) ; |
|
|
if ($HTML_projetListe->getRowCount() > 1) { |
$res .= '<p>'.PROJET_PARTICIPER.'</p>'; |
$res .= $HTML_projetListe->toHTML() ; |
$res .= '<p>'.PROJET_TOUS_LES_PROJETS.'</p>' ; |
} |
} else { |
$res .= '<p>'.PROJET_INSCRIT_AUCUN_PROJET.'</p>' ; |
} |
498,16 → 518,21 |
if ($auth) { |
$projetNonParticipantListe = $participant -> getProjetsNonParticipant($id_u) ; |
// Si certain projet sont à exclure, on les exclu |
// Si certain projet sont à exclure, on les exclu |
$projet_a_exclure = array() ; |
if (count($this->_projet_exclu)) { |
arsort($this->_projet_exclu) ; |
foreach ($this->_projet_exclu as $valeur) { |
for ($i = 0; $i < count ($projetNonParticipantListe); $i++) { |
if ($projetNonParticipantListe[$i]->getId() == $valeur) unset ($projetNonParticipantListe[$i]) ; |
if ($projetNonParticipantListe[$i]->getId() == $valeur) array_push ($projet_a_exclure, $i);} |
} |
} |
} |
foreach ($projet_a_exclure as $valeur) unset ($projetNonParticipantListe[$valeur]) ; |
|
|
$HTML_projetNonParticipantListe = new HTML_listeProjet(true) ; |
$entete_liste = array (PROJET_LISTE) ; |
if ($auth) array_push ($entete_liste, PROJET_S_INSCRIRE) ; |
array_push ($entete_liste, PROJET_S_INSCRIRE) ; |
|
$HTML_projetNonParticipantListe->construitEntete($entete_liste) ; |
|
516,11 → 541,11 |
|
foreach ($projetNonParticipantListe as $projet) { |
$this->_url->addQueryString(PROJET_VARIABLE_ID_PROJET, $projet->getId()) ; |
$ligne_projet = array ( |
$ligne_projet = array ($projet->getResume(), |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>' // le nom du projet |
) ; |
$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE) ; |
if ($auth) array_push ($ligne_projet, '<a href="'.$this->_url->getURL().'">'.PROJET_S_INSCRIRE.'</a>') ; |
array_push ($ligne_projet, '<a href="'.$this->_url->getURL().'">'.PROJET_S_INSCRIRE.'</a>') ; |
|
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION); |
/* |
534,7 → 559,7 |
} |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ; |
$HTML_projetNonParticipantListe->construitListe($liste_projet) ; |
$res .= $HTML_projetNonParticipantListe->toHTML() ; |
if ($HTML_projetNonParticipantListe->getRowCount() > 1) $res .= $HTML_projetNonParticipantListe->toHTML() ; |
} else { |
$projetNonParticipantListe = & $projetListe ; |
$HTML_projetNonParticipantListe = new HTML_listeProjet(true) ; |
545,8 → 570,8 |
// La liste |
foreach ($projetNonParticipantListe as $projet) { |
$this->_url->addQueryString(PROJET_VARIABLE_ID_PROJET, $projet->getId()) ; |
$ligne_projet = array ( |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>' // le nom du projet |
$ligne_projet = array ( $projet->getResume(), |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>', // le nom du projet |
) ; |
|
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION); |
554,11 → 579,11 |
} |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ; |
$HTML_projetNonParticipantListe->construitListe($liste_projet) ; |
if ($HTML_projetNonParticipantListe->getRowCount() > 1) { |
$res .= '<p>'.PROJET_TOUS_LES_PROJETS.'</p>' ; |
$res .= $HTML_projetNonParticipantListe->toHTML() ; |
|
} |
|
|
} |
return $titre.$res ; |
} // end of member function mesProjets |
|
727,6 → 752,9 |
*/ |
function formulaireProjet($action) |
{ |
if (!$this->_auth->getAuth()) { |
return PROJET_TEXTE_NON_IDENTIFIE; |
} |
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, $action) ; |
$formulaire_projet = new HTML_formulaireProjet('formulaire_projet', 'post',str_replace ("&", "&", $this->_url->getURL())) ; |
$tableau_type = '' ; |
768,6 → 796,12 |
if (!$projet->enregistrerSQL($formulaire_projet->getSubmitValues())) { |
return 'erreur' ; |
} |
// On inscrit le déposant du projet en tant que coordinateur |
if (PROJET_UTILISATEURS_COORD) { |
// Si le projet n'a pas de liste, on inscrit directement |
$participant = new participe($this->_db) ; |
$participant->setStatut(1, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $projet->getId()) ; |
} |
} else { |
return $formulaire_projet->toHTML() ; |
} |