| Line 18... |
Line 18... |
| 18 |
// | You should have received a copy of the GNU General Public |
|
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 |
|
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 |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
| Line 22... |
Line 22... |
| 22 |
|
22 |
|
| Line 23... |
Line 23... |
| 23 |
// CVS : $Id: projetControleur.class.php,v 1.20 2005-11-23 11:37:05 alexandre_tb Exp $
|
23 |
// CVS : $Id: projetControleur.class.php,v 1.21 2005-11-25 14:49:26 alexandre_tb Exp $
|
| 24 |
|
24 |
|
| 25 |
/**
|
25 |
/**
|
| 26 |
* Application projet
|
26 |
* Application projet
|
| Line 31... |
Line 31... |
| 31 |
//Auteur original :
|
31 |
//Auteur original :
|
| 32 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
32 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
| 33 |
//Autres auteurs :
|
33 |
//Autres auteurs :
|
| 34 |
*@author Aucun
|
34 |
*@author Aucun
|
| 35 |
*@copyright Tela-Botanica 2000-2004
|
35 |
*@copyright Tela-Botanica 2000-2004
|
| 36 |
*@version $Revision: 1.20 $
|
36 |
*@version $Revision: 1.21 $
|
| 37 |
// +------------------------------------------------------------------------------------------------------+
|
37 |
// +------------------------------------------------------------------------------------------------------+
|
| 38 |
*/
|
38 |
*/
|
| Line 39... |
Line 39... |
| 39 |
|
39 |
|
| 40 |
// +------------------------------------------------------------------------------------------------------+
|
40 |
// +------------------------------------------------------------------------------------------------------+
|
| Line 306... |
Line 306... |
| 306 |
break ;
|
306 |
break ;
|
| 307 |
case PROJET_ACTION_SUPPRIMER_WIKI : $retour .= $this->supprimerWiki();
|
307 |
case PROJET_ACTION_SUPPRIMER_WIKI : $retour .= $this->supprimerWiki();
|
| 308 |
$this->_action = PROJET_ACTION_VOIR_RESUME ;
|
308 |
$this->_action = PROJET_ACTION_VOIR_RESUME ;
|
| 309 |
break ;
|
309 |
break ;
|
| 310 |
case PROJET_ACTION_INSCRIPTION_LISTE : $retour .= $this->inscriptionListe() ;
|
310 |
case PROJET_ACTION_INSCRIPTION_LISTE : $retour .= $this->inscriptionListe() ;
|
| 311 |
$this->_action = PROJET_ACTION_VOIR_RESUME ;
|
311 |
$this->_action = PROJET_ACTION_VOIR_FORUM ;
|
| 312 |
break ;
|
312 |
break ;
|
| 313 |
case PROJET_ACTION_DESINSCRIPTION_LISTE : $retour .= $this->desinscriptionListe() ;
|
313 |
case PROJET_ACTION_DESINSCRIPTION_LISTE : $retour .= $this->desinscriptionListe() ;
|
| 314 |
$this->_action = PROJET_ACTION_VOIR_RESUME ;
|
314 |
$this->_action = PROJET_ACTION_VOIR_FORUM ;
|
| 315 |
break ;
|
315 |
break ;
|
| 316 |
case PROJET_ACTION_REFERENCER_LISTE : $retour .= $this->referencerListeExterne() ;
|
316 |
case PROJET_ACTION_REFERENCER_LISTE : $retour .= $this->referencerListeExterne() ;
|
| 317 |
break ;
|
317 |
break ;
|
| 318 |
case PROJET_ACTION_REFERENCER_LISTE_V : $retour .= $this->referencerListeExterneValidation() ;
|
318 |
case PROJET_ACTION_REFERENCER_LISTE_V : $retour .= $this->referencerListeExterneValidation() ;
|
| 319 |
$this->_action = PROJET_ACTION_VOIR_RESUME ;
|
319 |
$this->_action = PROJET_ACTION_VOIR_RESUME ;
|
| Line 400... |
Line 400... |
| 400 |
// Les entêtes des tableaux
|
400 |
// Les entêtes des tableaux
|
| 401 |
$tableau_label_statut_action = array (PROJET_GERER, PROJET_GERER, PROJET_GERER_FICHIER, PROJET_VOIR_FICHIER, "---") ;
|
401 |
$tableau_label_statut_action = array (PROJET_GERER, PROJET_GERER, PROJET_GERER_FICHIER, PROJET_VOIR_FICHIER, "---") ;
|
| Line 402... |
Line 402... |
| 402 |
|
402 |
|
| 403 |
$auth = $this->_auth->getAuth() ; // Pour raccourcir le code
|
403 |
$auth = $this->_auth->getAuth() ; // Pour raccourcir le code
|
| 404 |
$id_u = $this->_auth->getAuthData(PROJET_CHAMPS_ID) ; // --------------
|
- |
|
| 405 |
|
404 |
$id_u = $this->_auth->getAuthData(PROJET_CHAMPS_ID) ; // --------------
|
| 406 |
|
- |
|
| 407 |
// Si la présentation est par arbre
|
- |
|
| 408 |
// TODO : Organiser différemment les présentations
|
- |
|
| 409 |
// En utilisant des templates
|
- |
|
| 410 |
if ($this->_presentation == 'arbre') {
|
- |
|
| 411 |
$titre = '<h1>Arbre des Projets</h1>'."\n" ;
|
- |
|
| 412 |
include_once PROJET_CHEMIN_API_ARBRE.'arbre.class.php' ;
|
- |
|
| 413 |
// initialisation de variables
|
- |
|
| 414 |
$intensite_feuille = '' ; $longueur_branche = '' ;
|
- |
|
| 415 |
$arbre = new arbre() ;
|
- |
|
| 416 |
// recherche du projet principal
|
- |
|
| 417 |
|
- |
|
| 418 |
$cime='';
|
- |
|
| 419 |
|
- |
|
| 420 |
foreach ($projetListe as $projet) {
|
- |
|
| 421 |
$this->_url->addQueryString (PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;
|
- |
|
| 422 |
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_VOIR_PARTICIPANT) ;
|
- |
|
| 423 |
$lien_feuille = $this->_url->getURL() ;
|
- |
|
| 424 |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;
|
- |
|
| 425 |
|
- |
|
| 426 |
if ($projet->isRacine()) {
|
- |
|
| 427 |
$cime = $arbre->cime($projet->getTitre(), $this->_url->getURL(), $projet->getNombreInscrits(), $lien_feuille, '') ;
|
- |
|
| 428 |
} else {
|
- |
|
| 429 |
|
- |
|
| 430 |
$arbre->addBranche($projet->getTitre(), $this->_url->getURL(), $projet->getNombreInscrits(),
|
- |
|
| 431 |
$lien_feuille, $lien_feuille, $intensite_feuille, $longueur_branche) ;
|
- |
|
| 432 |
}
|
- |
|
| 433 |
}
|
- |
|
| 434 |
return $titre.'<table>'.$cime.$arbre->affBranche().$arbre->affRacine().'</table>';
|
- |
|
| 435 |
}
|
- |
|
| 436 |
|
- |
|
| 437 |
// Présentation par liste
|
- |
|
| 438 |
|
- |
|
| 439 |
$titre = '<h1>'.PROJET_LISTE.'</h1>'."\n" ;
|
- |
|
| 440 |
|
- |
|
| 441 |
// On inclue un fichier local
|
- |
|
| 442 |
if (file_exists(PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php'))
|
405 |
|
| 443 |
include_once PROJET_CHEMIN_APPLI.'langues/pro_langues_fr.local.inc.php' ;
|
- |
|
| 444 |
// On vérifie si l'utilisateur participe à des projets
|
- |
|
| 445 |
if ($auth) {
|
- |
|
| 446 |
|
- |
|
| 447 |
$utilisateur_liste = new inscription_liste($this->_db) ;
|
- |
|
| 448 |
// On teste ici s'il y a une mise à jour de statut
|
- |
|
| 449 |
if (isset($_POST['statut'])) {
|
- |
|
| 450 |
// $_POST['statut'] et $_GET['identifiant_projet'] proviennent du formulaire voir HTML_listeProjet
|
- |
|
| 451 |
include_once PROJET_CHEMIN_CLASSES.'annuaire.class.php' ;
|
- |
|
| 452 |
$annuaire = new annuaire($this->_db, array('identifiant' => PROJET_CHAMPS_ID, 'mail' => PROJET_CHAMPS_MAIL, 'table' => PROJET_ANNUAIRE)) ;
|
- |
|
| 453 |
$annuaire->setId($this->_auth->getAuthData(PROJET_CHAMPS_ID)) ;
|
- |
|
| 454 |
$projet = new projet ($this->_db, $_GET['identifiant_projet']) ;
|
- |
|
| 455 |
$projet->getListesAssociees() ;
|
- |
|
| 456 |
$utilisateur_liste->modifierTypeInscription($projet->_listes_associes[0],$annuaire, $_POST['statut']) ;
|
- |
|
| 457 |
}
|
- |
|
| 458 |
if (count($participant->getIdProjetsStatuts($id_u))) {
|
- |
|
| 459 |
|
- |
|
| 460 |
$HTML_projetListe = new HTML_listeProjet(true) ;
|
- |
|
| 461 |
$entete_liste = array($auth ? PROJET_VOUS_PARTICIPEZ : PROJET_LISTE) ;
|
- |
|
| 462 |
if ($auth) array_push ($entete_liste, PROJET_SE_DESINSCRIRE, PROJET_LISTE_DE_DISCUSSION) ;
|
- |
|
| 463 |
|
- |
|
| 464 |
|
- |
|
| 465 |
$tableau_resultat = array () ;
|
- |
|
| 466 |
|
- |
|
| 467 |
$HTML_projetListe->construitEntete ($entete_liste) ;
|
- |
|
| 468 |
|
- |
|
| 469 |
// On construit $tableau_resultat avec une ligne par projet contenant un tableau (titre, statut_nom, id_statut, id_projet)
|
- |
|
| 470 |
$statut_liste = new statut_liste($this->_db) ;
|
- |
|
| 471 |
$tableau_statut = $statut_liste->getTousLesStatuts() ;
|
- |
|
| 472 |
|
- |
|
| 473 |
$statut = '' ;
|
- |
|
| 474 |
$i = 0 ;
|
- |
|
| 475 |
$HTML_projetListe->setModeModification() ;
|
- |
|
| 476 |
$HTML_projetListe->setURL($this->_url) ;
|
- |
|
| 477 |
foreach ($projetListe as $projet) {
|
- |
|
| 478 |
if (participe::getStatutSurProjetCourant($id_u, $projet->getId(), $this->_db) == 4) continue ;
|
- |
|
| 479 |
if ($auth) {
|
- |
|
| 480 |
if ($projet->avoirListe()) {
|
- |
|
| 481 |
$projet->getListesAssociees() ;
|
- |
|
| 482 |
$statut = $utilisateur_liste->getStatutInscrit($projet->_listes_associes[0]->getId(), $this->_auth) ;
|
- |
|
| 483 |
//if ($statut == '') $statut = 0 ;
|
- |
|
| 484 |
}
|
- |
|
| 485 |
}
|
- |
|
| 486 |
|
- |
|
| 487 |
$this->_url->addQueryString (PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;
|
- |
|
| 488 |
$ligne_tableau = array ($projet->getId(), $projet->getResume(),
|
- |
|
| 489 |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>'
|
- |
|
| 490 |
) ;
|
- |
|
| 491 |
if ($auth) {
|
- |
|
| 492 |
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_DESINSCRIPTION_PROJET) ;
|
- |
|
| 493 |
array_push ($ligne_tableau, '<a href="'.$this->_url->getURL().'" onclick="javascript:return confirm(\''.
|
- |
|
| 494 |
PROJET_SE_DESINSCRIRE_CONFIRMATION.'\');">'.PROJET_SE_DESINSCRIRE.'</a>') ;
|
- |
|
| 495 |
if ($projet->avoirListe()) {
|
- |
|
| 496 |
array_push ($ligne_tableau, $statut) ;
|
- |
|
| 497 |
} else {
|
- |
|
| 498 |
array_push($ligne_tableau, '') ;
|
- |
|
| 499 |
}
|
- |
|
| 500 |
array_push ($tableau_resultat, $ligne_tableau) ;
|
- |
|
| 501 |
$this->_url->removeQueryString (PROJET_VARIABLE_ACTION) ;
|
- |
|
| 502 |
}
|
- |
|
| 503 |
$statut = '' ;
|
- |
|
| 504 |
}
|
- |
|
| 505 |
$HTML_projetListe->construitListe ($tableau_resultat, $tableau_statut) ;
|
- |
|
| 506 |
|
- |
|
| 507 |
|
- |
|
| 508 |
if ($HTML_projetListe->getRowCount() > 1) {
|
- |
|
| 509 |
$res .= '<p>'.PROJET_PARTICIPER.'</p>';
|
- |
|
| 510 |
$res .= $HTML_projetListe->toHTML() ;
|
- |
|
| 511 |
}
|
- |
|
| 512 |
} else {
|
- |
|
| 513 |
$res .= '<p>'.PROJET_INSCRIT_AUCUN_PROJET.'</p>' ;
|
- |
|
| 514 |
}
|
- |
|
| 515 |
}
|
406 |
return include_once PROJET_CHEMIN_APPLI.'presentation/'.$this->_presentation.'.php' ;
|
| 516 |
|
- |
|
| 517 |
// Un texte pour ceux qui ne sont pas identifiés
|
- |
|
| 518 |
if (!$auth) {
|
- |
|
| 519 |
$res .= '<p>'.PROJET_TEXTE_NON_IDENTIFIE.'</p>'."\n" ;
|
- |
|
| 520 |
}
|
407 |
|
| 521 |
|
- |
|
| 522 |
// Maintenant la liste des projets où l'utilisateur ne participe pas.
|
- |
|
| 523 |
// Et si pas loggué tous les projets
|
- |
|
| 524 |
if ($auth) {
|
- |
|
| 525 |
$projetNonParticipantListe = $participant -> getProjetsNonParticipant($id_u) ;
|
- |
|
| 526 |
// Si certain projet sont à exclure, on les exclu
|
- |
|
| 527 |
$projet_a_exclure = array() ;
|
- |
|
| 528 |
if (count($this->_projet_exclu)) {
|
- |
|
| 529 |
arsort($this->_projet_exclu) ;
|
- |
|
| 530 |
foreach ($this->_projet_exclu as $valeur) {
|
- |
|
| 531 |
for ($i = 0; $i < count($projetNonParticipantListe); $i++) {
|
- |
|
| 532 |
if ($projetNonParticipantListe[$i]->getId() == $valeur) array_push ($projet_a_exclure, $i);}
|
- |
|
| 533 |
}
|
- |
|
| 534 |
}
|
- |
|
| 535 |
if (PROJET_UTILISE_TYPE && $this->_type != '') {
|
- |
|
| 536 |
for ($i = 0; $i < count($projetNonParticipantListe); $i++) {
|
- |
|
| 537 |
if ($projetNonParticipantListe[$i]->getType() != $this->_type) array_push ($projet_a_exclure, $i) ;
|
- |
|
| 538 |
}
|
- |
|
| 539 |
}
|
- |
|
| 540 |
|
- |
|
| 541 |
foreach ($projet_a_exclure as $valeur) {
|
- |
|
| 542 |
unset ($projetNonParticipantListe[$valeur]) ;
|
- |
|
| 543 |
}
|
- |
|
| 544 |
|
- |
|
| 545 |
$HTML_projetNonParticipantListe = new HTML_listeProjet(true) ;
|
- |
|
| 546 |
$entete_liste = array (PROJET_LISTE) ;
|
- |
|
| 547 |
array_push ($entete_liste, PROJET_S_INSCRIRE) ;
|
- |
|
| 548 |
|
- |
|
| 549 |
$HTML_projetNonParticipantListe->construitEntete($entete_liste) ;
|
- |
|
| 550 |
|
- |
|
| 551 |
$liste_projet = array() ;
|
- |
|
| 552 |
// La liste
|
- |
|
| 553 |
|
- |
|
| 554 |
foreach ($projetNonParticipantListe as $projet) {
|
- |
|
| 555 |
$this->_url->addQueryString(PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;
|
- |
|
| 556 |
$ligne_projet = array ($projet->getResume(),
|
- |
|
| 557 |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>' // le nom du projet
|
- |
|
| 558 |
) ;
|
- |
|
| 559 |
$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE) ;
|
- |
|
| 560 |
array_push ($ligne_projet, '<a href="'.$this->_url->getURL().'">'.PROJET_S_INSCRIRE.'</a>') ;
|
- |
|
| 561 |
|
- |
|
| 562 |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION);
|
- |
|
| 563 |
array_push ($liste_projet, $ligne_projet) ;
|
- |
|
| 564 |
}
|
- |
|
| 565 |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;
|
- |
|
| 566 |
$HTML_projetNonParticipantListe->construitListe($liste_projet) ;
|
- |
|
| 567 |
if ($HTML_projetNonParticipantListe->getRowCount() > 1) $res .= $HTML_projetNonParticipantListe->toHTML() ;
|
- |
|
| 568 |
} else {
|
- |
|
| 569 |
$projetNonParticipantListe = & $projetListe ;
|
- |
|
| 570 |
$HTML_projetNonParticipantListe = new HTML_listeProjet(true) ;
|
- |
|
| 571 |
$entete_liste = array (PROJET_LISTE) ;
|
- |
|
| 572 |
$HTML_projetNonParticipantListe->construitEntete($entete_liste) ;
|
- |
|
| 573 |
|
- |
|
| 574 |
$liste_projet = array() ;
|
- |
|
| 575 |
// La liste
|
- |
|
| 576 |
foreach ($projetNonParticipantListe as $projet) {
|
- |
|
| 577 |
$this->_url->addQueryString(PROJET_VARIABLE_ID_PROJET, $projet->getId()) ;
|
- |
|
| 578 |
$ligne_projet = array ( $projet->getResume(),
|
- |
|
| 579 |
'<a href="'.$this->_url->getURL().'">'.$projet->getTitre().'</a>', // le nom du projet
|
- |
|
| 580 |
) ;
|
- |
|
| 581 |
|
- |
|
| 582 |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION);
|
- |
|
| 583 |
array_push ($liste_projet, $ligne_projet) ;
|
- |
|
| 584 |
}
|
- |
|
| 585 |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;
|
- |
|
| 586 |
$HTML_projetNonParticipantListe->construitListe($liste_projet) ;
|
- |
|
| 587 |
if ($HTML_projetNonParticipantListe->getRowCount() > 1) {
|
- |
|
| 588 |
$res .= '<p>'.PROJET_TOUS_LES_PROJETS.'</p>' ;
|
- |
|
| 589 |
$res .= $HTML_projetNonParticipantListe->toHTML() ;
|
- |
|
| 590 |
}
|
- |
|
| 591 |
}
|
- |
|
| 592 |
return $titre.$res ;
|
408 |
|
| Line 593... |
Line 409... |
| 593 |
} // end of member function mesProjets
|
409 |
} // end of member function mesProjets
|
| 594 |
|
410 |
|
| 595 |
/**
|
411 |
/**
|
| Line 763... |
Line 579... |
| 763 |
$res .= '</ul></li>' ;
|
579 |
$res .= '</ul></li>' ;
|
| 764 |
}
|
580 |
}
|
| 765 |
}
|
581 |
}
|
| 766 |
$res .= '</ul>' ;
|
582 |
$res .= '</ul>' ;
|
| 767 |
$res .= "</div>\n" ;
|
583 |
$res .= "</div>\n" ;
|
| - |
|
584 |
$this->_url->removeQueryString (PROJET_VARIABLE_ACTION) ;
|
| 768 |
return $res ;
|
585 |
return $res ;
|
| 769 |
} // end of member function menuGeneral
|
586 |
} // end of member function menuGeneral
|
| Line 770... |
Line 587... |
| 770 |
|
587 |
|
| 771 |
/**
|
588 |
/**
|
| Line 1739... |
Line 1556... |
| 1739 |
'<a href="'.$this->_url->getURL()."&".PROJET_VARIABLE_ACTION."=".PROJET_ACTION_ASSOCIER_WIKI_V."".'">'.PROJET_CHOISIR_WIKINI.'</a>'."\n",
|
1556 |
'<a href="'.$this->_url->getURL()."&".PROJET_VARIABLE_ACTION."=".PROJET_ACTION_ASSOCIER_WIKI_V."".'">'.PROJET_CHOISIR_WIKINI.'</a>'."\n",
|
| 1740 |
));
|
1557 |
));
|
| 1741 |
}
|
1558 |
}
|
| 1742 |
$liste->construireListe($tableau_wikini) ;
|
1559 |
$liste->construireListe($tableau_wikini) ;
|
| 1743 |
$res .= $liste->toHTML();
|
1560 |
$res .= $liste->toHTML();
|
| - |
|
1561 |
$this->_url->removeQueryString(PROJET_VARIABLE_ACTION) ;
|
| 1744 |
return $res ;
|
1562 |
return $res ;
|
| Line 1745... |
Line 1563... |
| 1745 |
|
1563 |
|