26,11 → 26,11 |
*@version 05 avril 2006 |
// +-----------------------------------------------------------------------------------------------+ |
// |
// $Id: bottin.class.php,v 1.1 2006-12-13 13:26:52 alexandre_tb Exp $ |
// $Id: bottin.class.php,v 1.2 2007-05-25 14:31:24 alexandre_tb Exp $ |
// FICHIER : $RCSfile: bottin.class.php,v $ |
// AUTEUR : $Author: alexandre_tb $ |
// VERSION : $Revision: 1.1 $ |
// DATE : $Date: 2006-12-13 13:26:52 $ |
// VERSION : $Revision: 1.2 $ |
// DATE : $Date: 2007-05-25 14:31:24 $ |
*/ |
|
|
82,8 → 82,145 |
} |
} |
|
|
class inscription extends PEAR { |
|
/** |
* Constructeur |
* |
* |
* @return void |
* @access public |
*/ |
function inscription() { |
|
} |
|
/** |
* Renvoie le code HTML d une liste avec les lettres |
* |
* @global Un pointeur vers une connexion de base de donnee $GLOBALS['ins_url'] |
* @return array ['ic_param'] les parametres tels que dans la table inscription_config |
* @access public |
*/ |
function getConfig() { |
// Recuperation de la configuration |
$requete = 'select * from inscription_configuration'; |
$resultat = $GLOBALS['ins_db']->query($requete); |
if (DB::isError($resultat)) return "Echec de la requete : $requete<br />".$resultat->getMessage() ; |
if ($resultat->numRows() != 0) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC); |
return $ligne; |
} else { |
return $this->raiseError('La table inscription_configuration est vide...'); |
} |
} |
|
/** |
* Renvoi un tableau avec les informations de inscription_attente |
* |
* @global Un pointeur vers une connexion de base de donnee $GLOBALS['ins_db'] |
* @return array Un tableau ['id'], ['nom'], ['prenom'] ... ou la chaine vide si il n'y a personne en attente |
* @access public |
*/ |
function getInscritEnAttenteModeration() { |
$requete = 'select * from inscription_attente'; |
$resultat = $GLOBALS['ins_db']->query($requete); |
|
$tableau_inscrit = array(); |
if (DB::isError($resultat)) return "Echec de la requete : $requete<br />".$resultat->getMessage() ; |
if ($resultat->numRows() != 0) { |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) { |
$donnees = unserialize (stripslashes($ligne->ia_donnees)) ; |
array_push ($tableau_inscrit, array_merge (array('id' => $ligne->ia_id_inscription, 'date' => $ligne->ia_date), $donnees)); |
} |
return $tableau_inscrit; |
} else { |
return ''; |
} |
} |
|
/** Renvoi le tableau des inscrits en attente |
* |
* @global $GLOBALS['ins_url'] un objet Net_URL avec l url courante |
* @param array Un tableau de tableau d inscrit avec ['id'],['nom'],['prenom'],['email'],['ville'],['date'] |
* @return string Un tableau HTML |
*/ |
|
function getTableauEnAttente($tableau) { |
$html = ''; |
|
$table = new HTML_Table(); |
$table->addRow(array (INS_NOM, INS_EMAIL, INS_VILLE, INS_DATE_INS, INS_ACTION), '', 'TH'); |
$GLOBALS['ins_url']->addQueryString(ANN_NOM_VARIABLE_ACTION, ANN_ACTION_VALIDER_INSCRIPTION); |
$action = '<a href="'.$GLOBALS['ins_url']->getURL().'">'.'</a>'; |
foreach ($tableau as $demandeur) { |
$table->addRow(array($demandeur['nom'].' '.$demandeur['prenom'], $demandeur['email'], $demandeur['ville'], $demandeur['date'])); |
} |
return $table->toHTML(); |
} |
|
/** |
* Renvoie un tableau avec les moderateurs de l inscription |
* ceux du champs ic_mail_moderateur |
* |
* @return array Un tableau de mail de moderateur |
*/ |
function getModerateurs() { |
|
} |
/** |
* Insere une demande d inscription dans la table inscription_attente et |
* envoi un mail aux moderateurs |
* |
* @param string Un identifiant de session, soit genere aleatoirement soit venu de la tablea inscription_demande |
* @global array la globale $GLOBALS['ins_config'] |
* @global mixed un pointeur vers une base de donnees $GLOBALS['ins_db'] |
* @return string Un message a renvoye a l utilisateur indiquant que sa demande a ete prise en compte |
*/ |
function demandeInscriptionModere($valeurs) { |
// On stocke les informations dans un variable de session |
// On coupe l'identifiant de session pour ne prendre que les 8 premiers caractères |
// afin d'éviter d'obtenir une url trop longue |
$chaine = substr (session_id(), 0, 8) ; |
$requete_verif = 'select * from inscription_attente where ia_id_inscription="'.$chaine.'"' ; |
$resultat_verif = $GLOBALS['ins_db']->query ($requete_verif) ; |
if ($resultat_verif->numRows() != 0) { |
$requete_suppression = 'delete from inscription_attente where ia_id_inscription="'.$chaine.'"' ; |
$GLOBALS['ins_db']->query ($requete_suppression) ; |
} |
$requete = 'insert into inscription_attente set ia_id_inscription="'.$chaine.'", ia_donnees="'. |
addslashes(serialize($valeurs)).'", ia_date=NOW()' ; |
$resultat = $GLOBALS['ins_db']->query ($requete) ; |
if (DB::isError ($resultat)) { |
echo ("Echec de la requete : $requete<br />".$resultat->getMessage()) ; |
} |
// On envoie un email aux moderateurs |
|
require_once PAP_CHEMIN_RACINE.'api/pear/HTML/Template/IT.php'; |
$tpl = new HTML_Template_IT() ; |
// Le gabarit du mail est dans un template |
// template 3 |
$url = $GLOBALS['ins_url']->getURL(); |
$requete = 'select it_template from inscription_template where it_id_template=3'. |
' and it_i18n like "%'.INS_LANGUE_DEFAUT.'"' ; |
|
if (!$tpl -> setTemplate($GLOBALS['ins_db']->getOne ($requete))) { |
echo 'erreur' ; |
} |
$tpl->setVariable('URL_INSCRIPTION', $url) ; |
$mails_moderateur = split ('/\n/', $GLOBALS['ins_config']['ic_mail_moderateur']); |
foreach ($mails_moderateur as $mail) { |
mail ($mail, INS_MODERATION_SUJET, INS_NOUVELLE_INSCRIPTION_A_MODERE) ; |
} |
return INS_MESSAGE_EN_ATTENTE ; |
} |
} |
//-- Fin du code source ------------------------------------------------------------ |
/* |
* $Log: not supported by cvs2svn $ |
* Revision 1.1 2006/12/13 13:26:52 alexandre_tb |
* version initiale |
* |
*/ |
?> |