20,7 → 20,7 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
|
// CVS : $Id: projetControleur.class.php,v 1.27 2006-01-23 17:20:43 alexandre_tb Exp $ |
// CVS : $Id: projetControleur.class.php,v 1.28 2006-07-04 09:29:49 alexandre_tb Exp $ |
|
/** |
* Application projet |
33,7 → 33,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.27 $ |
*@version $Revision: 1.28 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
119,6 → 119,7 |
define ('PROJET_DROIT_PROPRIETAIRE', 4) ; |
define ('PROJET_DROIT_CONTRIBUTEUR', 8) ; |
define ('PROJET_DROIT_AUCUN', 16) ; |
define ('PROJET_DROIT_EN_ATTENTE', 32); |
/** |
* class projetControleur |
* Cette classe sert à lancer les diverses applications du module projet, en |
447,6 → 448,12 |
$label_statut = PROJET_VOUS_N_ETES_PAS_INSCRIT ; |
} |
} |
if ($participant->isEnAttente($this->_auth->getAuthData(PROJET_CHAMPS_ID),$this->_id_projet,$this->_db)) { |
$isEnAttente = true ; |
$label_statut = PROJET_EN_ATTENTE ; |
} else { |
$isEnAttente = false ; |
} |
} |
|
if ($isContri || $isAdm) { |
461,14 → 468,17 |
if ($this->_id_projet != '') { |
$projet = new projet ($this->_db, $this->_id_projet) ; |
// Participant |
$res .= '<ul id ="projet_groupe_niv1"><li class="projet_niv1">'.PROJET_CONTRIBUTEUR ; |
$res .= '<ul id="projet_groupe_niv2_con">' ; |
if (!$isEnAttente) { |
$res .= '<ul id ="projet_groupe_niv1"><li class="projet_niv1">'.PROJET_CONTRIBUTEUR ; |
$res .= '<ul id="projet_groupe_niv2_con">' ; |
} |
if ($isCoord || $isContri) { |
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_DESINSCRIPTION_PROJET) ; |
$res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_SE_DESINSCRIRE."</a></li>\n" ; |
} else { |
$this->_url->addQueryString(PROJET_VARIABLE_ACTION, PROJET_ACTION_S_INSCRIRE) ; |
$res .= '<li class="projet_niv2"><a href="'.$this->_url->getURL().'">'.PROJET_S_INSCRIRE_AU_PROJET."</a></li>\n" ; |
if (!$isEnAttente) $res .= '<li class="projet_niv2"><a href="'. |
$this->_url->getURL().'">'.PROJET_S_INSCRIRE_AU_PROJET."</a></li>\n" ; |
} |
// L'action gérer les utilisateurs |
if ($isCoord || $isAdm) { |
613,9 → 623,12 |
'projet_wikini' => $projet->getWikini(), |
'projet_resume' => $projet->getResume(), |
'projet_espace_internet' => $projet->getEspaceInternet(), |
'projet_type'=> $projet->getType() |
'projet_type'=> $projet->getType(), |
'projet_moderation' => $projet->isModere() |
) ; |
$formulaire_projet->setDefaults($valeurs_par_defaut) ; |
} else { |
$formulaire_projet->setDefaults (array ('projet_moderation'=> '0')) ; |
} |
$res = PROJET_PROPOSER_PROJET ; |
return $res . $formulaire_projet->toHTML() ; |
1167,6 → 1180,7 |
include_once PROJET_CHEMIN_APPLI.'actions/forums.php' ; |
return $retour; |
} |
|
$this->_url->addQueryString (PROJET_VARIABLE_ACTION, PROJET_ENVOYER_UN_MAIL_V ); |
$formulaire_mail = new HTML_formulaireMail('formulaire_mail', 'post', preg_replace ("/&/", "&", $this->_url->getURL())) ; |
$formulaire_mail->construitFormulaire() ; |
1414,26 → 1428,69 |
$participant = new participe($this->_db) ; |
|
if (!$projet->avoirListe()) { |
$participant->setStatut(2, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ; |
if ($projet->isModere()) { |
$participant->setStatut(3, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ; |
} else { |
$participant->setStatut(2, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ; |
} |
return $this->mesProjets() ; |
} |
} |
if (isset($_POST['valider_inscription_projet'])) { |
if (isset($_POST['radio_inscription_liste'])) { |
$participant->setStatut(2, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ; |
include_once PROJET_CHEMIN_CLASSES.'annuaire.class.php' ; |
include_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php' ; |
$projet->getListesAssociees() ; |
$utilisateur = new annuaire($this->_db, array('identifiant' => PROJET_CHAMPS_ID, 'mail' => PROJET_CHAMPS_MAIL, 'table' => PROJET_ANNUAIRE)) ; |
$utilisateur->setId($this->_auth->getAuthData(PROJET_CHAMPS_ID)) ; |
$inscription_liste = new inscription_liste($this->_db) ; |
$inscription_liste->inscrireUtilisateur( $utilisateur, |
include_once PROJET_CHEMIN_CLASSES.'annuaire.class.php' ; |
$utilisateur = new annuaire($this->_db, array('identifiant' => PROJET_CHAMPS_ID, |
'mail' => PROJET_CHAMPS_MAIL, 'table' => PROJET_ANNUAIRE, |
'nom'=> PROJET_CHAMPS_NOM, 'prenom' => PROJET_CHAMPS_PRENOM)) ; |
$utilisateur->setId($this->_auth->getAuthData(PROJET_CHAMPS_ID)) ; |
|
if (!$projet->isModere()) { |
$participant->setStatut(2, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ; |
|
include_once PROJET_CHEMIN_CLASSES.'inscription_liste.class.php' ; |
$projet->getListesAssociees() ; |
$inscription_liste = new inscription_liste($this->_db) ; |
$inscription_liste->inscrireUtilisateur( $utilisateur, |
$projet->_listes_associes[0], |
$_POST['radio_inscription_liste']) ; |
} else { |
$participant->setStatut(3, $this->_auth->getAuthData (PROJET_CHAMPS_ID), $this->_id_projet) ; |
$tableau_coordinateur = $participant->getCoordinateurs($this->_id_projet) ; |
#include_once PROJET_CHEMIN_API.'pear/Mail.php'; |
$entetes['From'] = $this->_auth->getUserName(); |
$entetes['To'] = ''; |
$entetes['Subject'] = PROJET_DEMANDE_INSCRIPTION ; |
$entetes['Date'] = date ('D, M j G:i:s \C\E\S\T Y') ; |
$entetes['Message-ID'] = md5(time()) ; |
$entetes['reply-to'] = '' ; |
$entetes['Content-Type'] = 'text/plain' ; |
|
$objet_mail =& Mail::factory('smtp'); |
require_once PROJET_CHEMIN_BIBLIOTHEQUE_API.'pear/HTML/Template/IT.php'; |
$tpl = new HTML_Template_IT() ; |
// Le gabarit du mail est dans un template |
// template 1 |
$requete = 'select pt_template from projet_template where pt_id_template=1'. |
' and pt_i18n like "%'.PROJET_LANGUE_DEFAUT.'"' ; |
|
if (!$tpl -> setTemplate($this->_db->getOne ($requete))) { |
echo 'erreur' ; |
} |
$tpl->setVariable('nom', $utilisateur->getInfo( 'nom')) ; |
$tpl->setVariable('prenom', $utilisateur->getInfo( 'prenom')) ; |
$tpl->setVariable('nom_projet', $projet->getTitre()) ; |
$tpl->setVariable('lien', str_replace ('&', '&', $this->_url->getURL())) ; |
|
foreach ($tableau_coordinateur as $coordinateur) { |
$entetes['To'] .= $coordinateur[3]; // Le champs 3 est le mail |
} |
$objet_mail->send($entetes['To'], $entetes, $tpl->get()); |
} |
} |
|
if ($this->_presentation != 'arbre') { |
return $this->mesProjets() ; |
include_once PROJET_CHEMIN_APPLI.'actions/resume.php' ; |
return $retour ; |
} else { |
$this->_action = PROJET_ACTION_VOIR_RESUME; |
} |
1512,7 → 1569,8 |
$desinscription->desinscrireUtilisateur($annuaire, $projet->_listes_associes[0]) ; |
} |
if ($this->_presentation != 'arbre') { |
return $this->mesProjets() ; |
include_once PROJET_CHEMIN_APPLI.'actions/resume.php' ; |
return $retour ; |
} else { |
$this->_action = PROJET_ACTION_VOIR_RESUME; |
} |