New file |
0,0 → 1,183 |
<?php |
|
// +--------------------------------------------------------------------------------+ |
// | admin_annu.php | |
// +--------------------------------------------------------------------------------+ |
// | Copyright (c) 2002 | |
// +--------------------------------------------------------------------------------+ |
// | Administration des inscrits à un annuaire de type annuaire_tela | |
// | de Gsite, | |
// | Sont également mises en jeux les tables gen_COUNTRY, gen_FRENCH_DPT, | |
// | LABELS | |
// | Plus spécifique la fonction cotisation($id) en bas permet de | |
// | gérer les cotisations versées par les inscrits, avec la table | |
// | annuaire_COTISATION | |
// +--------------------------------------------------------------------------------+ |
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> | |
// +--------------------------------------------------------------------------------+ |
// |
// $Id: edition_fiche.php,v 1.6 2007-11-08 09:28:18 alexandre_tb Exp $ |
|
|
define ("URL_RECU", $GLOBALS['ins_url']->protocol. '://'.$GLOBALS['ins_url']->host."/client/annuaire/voir_recu_pdf.php") ; |
|
include_once ("HTML/Table.php") ; |
|
// admin_annu est une application cliente de gsite elle commence donc |
// dans une fonction putFrame() |
|
|
function putFrame() { |
if (isset($_REQUEST[INS_CHAMPS_ID]) && !isset($_REQUEST['action'])) { |
$_REQUEST['action'] = 'modifier'; |
} |
|
$res = '<h1>Edition d\'un adhérent : </h1>'."\n" ; |
|
$formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post', |
preg_replace('/&/', '&', $GLOBALS['ins_url']->getURL()), '_self', '', 0) ; |
$formulaire->addElement('hidden', 'id_inscription', $GLOBALS['ins_config']['ic_id_inscription']) ; |
$formulaire->construitFormulaire(preg_replace('/&/', '&', $GLOBALS['ins_url']->getURL()), $_REQUEST[INS_CHAMPS_ID]); |
if (isset($_REQUEST['form_structure'])) { |
if ($_REQUEST['form_structure']==1) { |
$formulaire->formulaireStructure() ; |
} |
} |
//pour la modification d'une inscription, on charge les valeurs par défauts |
if (isset ($_REQUEST[INS_CHAMPS_ID]) == 'modifier') { |
$formulaire->addElement('hidden', 'action', 'modifier_v') ; |
$formulaire->setDefaults(formulaire_defaults($_REQUEST[INS_CHAMPS_ID])) ; |
} |
|
if (isset ($_REQUEST['action']) && $_REQUEST['action'] == 'modifier_v') { |
$GLOBALS['id_utilisateur'] = $_REQUEST[INS_CHAMPS_ID]; |
if ($formulaire->validate()) { |
inscription_mise_a_jour($formulaire->getSubmitValues(), $_REQUEST[INS_CHAMPS_ID]); |
return $res.$formulaire->toHTML(); |
} else { |
return $res.$formulaire->toHTML(); |
} |
} |
$res .= $formulaire->toHTML(); |
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'suppr_adh') { |
$res .= suppression($_REQUEST[INS_CHAMPS_ID]) ; |
return ; |
} |
return $res ; |
} |
|
|
// form construit soit un formulaire de type <input type="text" ...> et |
// de nom $field_ et place un $label devant |
// soit construit un lien vers un formulaire à partir du champs $field_ |
|
|
function form($label, $field_, $value) |
{ |
global $u_id, $field ; |
|
$url = $GLOBALS['ins_url']->getURL() ; |
|
if ($field != $field_) { |
$res = "<b>$label</b>" ; |
$res .= "<a href=\"$url&field=$field_\">" ; |
$res .= $value ? $value : "(vide)"; |
$res .= "</a>\n" ; |
} |
if ($field == $field_) { |
$res = '<form action="'.$url.'&'.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID].'&action=up&field_='.$field_.'" method="post">' ; |
$res .= "<b>$label</b>\n" ; |
switch ($field_) { |
case INS_CHAMPS_PAYS : |
$res .= select (INS_TABLE_PAYS, INS_CHAMPS_ID_PAYS, INS_CHAMPS_LABEL_PAYS, $value); |
break ; |
default : |
$res .= '<input type="text" size="40" name="'.$field_.'" value="'.$value.'">'."\n" ; |
} |
$res .= '<input type="submit" value="valider">'."\n" ; |
$res .= "</form>" ; |
} |
return $res ; |
} |
|
|
// upSQL met à jour la table annuaire_tela |
|
function upSQL() |
{ |
global $field_ ; |
|
// Recherche de l'ancien mail |
$req_am = 'select '.INS_CHAMPS_MAIL.' from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ; |
$res_am = $GLOBALS['ins_db']->query ($req_am) ; |
$ligne_am = $res_am->fetchRow(DB_FETCHMODE_ASSOC) ; |
$ancien_mail = $ligne_am[INS_CHAMPS_MAIL] ; |
|
if ($field_ == INS_CHAMPS_PAYS) { |
$field_ = INS_CHAMPS_PAYS ; |
$_REQUEST[$field_] = $_REQUEST[INS_TABLE_PAYS] ; |
} |
$query = 'update '.INS_ANNUAIRE.' set '.$field_.'="'.$_REQUEST[$field_].'" where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ; |
$GLOBALS['ins_db']->query($query) ; |
// Traitement du département |
if ($field_ == INS_CHAMPS_CODE_POSTAL) { |
if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL])) { |
$n_dpt = substr($HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL], 0, 3) ; |
} else { |
$n_dpt = substr($HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL], 0, 2) ; |
} |
$GLOBALS['ins_db']->query ('update '.INS_ANNUAIRE.' set '.INS_CHAMPS_DEPARTEMENT.'='.$n_dpt.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID]) ; |
} |
} |
|
function suppression($u_id) { |
|
|
$url = $GLOBALS['ins_url']->getURL() ; |
|
$res = "<div>Supprimer l'inscription</div>\n" ; |
$res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ; |
$res .= "<input type=\"submit\" value=\"Supprimer\" " ; |
$res .= "onclick=\"javascript:return confirm('êtes-vous sûr de vouloir supprimer cet adhérent');\">\n" ; |
$res .= "</form></div>\n" ; |
|
if (isset ($_REQUEST['action']) && $_REQUEST['action'] =="suppr_adh") { |
$queryLogin = 'select '.INS_CHAMPS_MAIL.' from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ; |
$resultLogin = $GLOBALS['ins_db']->query($queryLogin) ; |
$rowLogin = $resultLogin->fetchRow(DB_FETCHMODE_ASSOC) ; |
$mail = $rowLogin[INS_CHAMPS_MAIL]; |
|
// suppression |
$query = 'delete from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ; |
$GLOBALS['ins_db']->query($query); |
|
// Appel des actions desinscriptions des applications clientes |
$d = dir(GEN_CHEMIN_CLIENT); |
$id_utilisateur = $_REQUEST[INS_CHAMPS_ID]; |
while (false !== ($repertoire = $d->read())) { |
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php')) |
include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ; |
} |
$d->close(); |
} |
return $res ; |
} |
|
function select ($table, $champs_id, $champs_label, $defaut = '') { |
$requete = 'select * from '.$table.' where gip_id_i18n like "'.$GLOBALS['lang'].'%"' ; |
$resultat = $GLOBALS['ins_db']->query($requete) ; |
if (DB::isError($resultat)) { |
echo $resultat->getMessage().'<br />'.$requete ; |
} |
$res = '<select name="'.$table.'">' ; |
|
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$res .= '<option value="'.$ligne[$champs_id].'"' ; |
if ($defaut != '' && $defaut == $ligne[$champs_id]) $res .= ' selected' ; |
$res .= '>'.$ligne[$champs_label].'</option>' ; |
} |
$res .= '</select>' ; |
return $res ; |
} |
|
?> |