Subversion Repositories Applications.papyrus

Rev

Rev 1796 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
448 ddelon 1
<?php
2
 
3
// +--------------------------------------------------------------------------------+
4
// | admin_annu.php 				                          						|
5
// +--------------------------------------------------------------------------------+
6
// | Copyright (c) 2002 					   							        	|
7
// +--------------------------------------------------------------------------------+
8
// | Administration des inscrits à un annuaire de type annuaire_tela			    |
9
// | de Gsite, 													                    |
10
// | Sont également mises en jeux les tables gen_COUNTRY, gen_FRENCH_DPT,	        |
11
// | LABELS															                |
12
// | Plus spécifique la fonction cotisation($id) en bas permet de				    |
13
// | gérer les cotisations versées par les inscrits, avec la table					|
14
// | annuaire_COTISATION													                |
15
// +--------------------------------------------------------------------------------+
16
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> 		  		        |
17
// +--------------------------------------------------------------------------------+
18
//
1826 alexandre_ 19
// $Id: edition_fiche.php,v 1.6.2.2 2008-04-16 12:41:12 alexandre_tb Exp $
448 ddelon 20
 
21
 
679 alexandre_ 22
define ("URL_RECU", $GLOBALS['ins_url']->protocol. '://'.$GLOBALS['ins_url']->host."/client/annuaire/voir_recu_pdf.php") ;
448 ddelon 23
 
24
include_once ("HTML/Table.php") ;
25
 
26
// admin_annu est une application cliente de gsite elle commence donc
27
// dans une fonction putFrame()
28
 
29
 
1682 alexandre_ 30
function putFrame() {
31
	if (isset($_REQUEST[INS_CHAMPS_ID]) && !isset($_REQUEST['action'])) {
32
		$_REQUEST['action'] = 'modifier';
448 ddelon 33
	}
34
 
1682 alexandre_ 35
    $res = '<h1>Edition d\'un adh&eacute;rent : </h1>'."\n" ;
1796 alexandre_ 36
 	if (isset($_GET['id_inscription'])) {
37
 		$GLOBALS['ins_url']->addQueryString ('id_inscription', $_GET['id_inscription']);
38
 	}
1826 alexandre_ 39
 	// avant la mise a jour, on supprime les mots de passe
40
 	$GLOBALS['ins_config']['ic_inscription_template'] = preg_replace('/mot_de_passe[^\n]+\n/', '', $GLOBALS['ins_config']['ic_inscription_template']);
679 alexandre_ 41
    $formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post',
42
    					 preg_replace('/&amp;/', '&', $GLOBALS['ins_url']->getURL()), '_self', '', 0) ;
1682 alexandre_ 43
    $formulaire->addElement('hidden', 'id_inscription', $GLOBALS['ins_config']['ic_id_inscription']) ;
44
    $formulaire->construitFormulaire(preg_replace('/&amp;/', '&', $GLOBALS['ins_url']->getURL()), $_REQUEST[INS_CHAMPS_ID]);
679 alexandre_ 45
    if (isset($_REQUEST['form_structure'])) {
46
    	if ($_REQUEST['form_structure']==1) {
47
    		$formulaire->formulaireStructure() ;
48
    	}
49
    }
1826 alexandre_ 50
 
679 alexandre_ 51
    //pour la modification d'une inscription, on charge les valeurs par défauts
52
    if (isset ($_REQUEST[INS_CHAMPS_ID]) == 'modifier') {
1682 alexandre_ 53
        $formulaire->addElement('hidden', 'action', 'modifier_v') ;
679 alexandre_ 54
        $formulaire->setDefaults(formulaire_defaults($_REQUEST[INS_CHAMPS_ID])) ;
55
    }
56
 
1682 alexandre_ 57
    if (isset ($_REQUEST['action']) && $_REQUEST['action'] == 'modifier_v') {
58
        $GLOBALS['id_utilisateur'] = $_REQUEST[INS_CHAMPS_ID];
679 alexandre_ 59
        if ($formulaire->validate()) {
1826 alexandre_ 60
 
1682 alexandre_ 61
            inscription_mise_a_jour($formulaire->getSubmitValues(), $_REQUEST[INS_CHAMPS_ID]);
62
            return $res.$formulaire->toHTML();
679 alexandre_ 63
        } else {
1682 alexandre_ 64
        	return $res.$formulaire->toHTML();
448 ddelon 65
        }
66
    }
679 alexandre_ 67
    $res .= $formulaire->toHTML();
68
    if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'suppr_adh') {
69
    	$res .= suppression($_REQUEST[INS_CHAMPS_ID]) ;
70
    	return ;
71
    }
448 ddelon 72
    return $res ;
73
}
74
 
75
 
76
// form construit soit un formulaire de type <input type="text" ...> et
77
// de nom $field_ et place un $label devant
78
// soit construit un lien vers un formulaire à partir du champs $field_
79
 
80
 
81
function form($label, $field_, $value)
82
{
1682 alexandre_ 83
    global $u_id, $field ;
448 ddelon 84
 
679 alexandre_ 85
    $url = $GLOBALS['ins_url']->getURL() ;
448 ddelon 86
 
87
    if ($field != $field_) {
88
        $res = "<b>$label</b>" ;
89
        $res .= "<a href=\"$url&amp;field=$field_\">" ;
679 alexandre_ 90
		$res .= $value ? $value : "(vide)";
91
        $res .= "</a>\n" ;
92
    }
93
    if ($field == $field_) {
94
        $res = '<form action="'.$url.'&amp;'.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID].'&amp;action=up&amp;field_='.$field_.'" method="post">' ;
95
        $res .= "<b>$label</b>\n" ;
96
        switch ($field_) {
97
            case INS_CHAMPS_PAYS :
98
                $res .= select (INS_TABLE_PAYS, INS_CHAMPS_ID_PAYS, INS_CHAMPS_LABEL_PAYS, $value);
99
            break ;
100
            default :
101
                $res .= '<input type="text" size="40" name="'.$field_.'" value="'.$value.'">'."\n" ;
102
        }
103
        $res .= '<input type="submit" value="valider">'."\n" ;
104
        $res .= "</form>" ;
105
    }
106
    return $res ;
448 ddelon 107
}
108
 
109
 
110
// upSQL met à jour la table annuaire_tela
111
 
112
function upSQL()
113
{
114
    global $field_ ;
115
 
116
    // Recherche de l'ancien mail
679 alexandre_ 117
    $req_am = 'select '.INS_CHAMPS_MAIL.' from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
118
    $res_am = $GLOBALS['ins_db']->query ($req_am) ;
119
    $ligne_am = $res_am->fetchRow(DB_FETCHMODE_ASSOC) ;
120
    $ancien_mail = $ligne_am[INS_CHAMPS_MAIL] ;
121
 
122
    if ($field_ == INS_CHAMPS_PAYS) {
123
        $field_ = INS_CHAMPS_PAYS ;
124
        $_REQUEST[$field_] = $_REQUEST[INS_TABLE_PAYS] ;
125
    }
126
    $query = 'update '.INS_ANNUAIRE.' set '.$field_.'="'.$_REQUEST[$field_].'" where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
1298 neiluj 127
    $GLOBALS['ins_db']->query($query) ;
448 ddelon 128
    // Traitement du département
679 alexandre_ 129
    if ($field_ == INS_CHAMPS_CODE_POSTAL) {
130
        if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL])) {
131
            $n_dpt = substr($HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL], 0, 3) ;
448 ddelon 132
        } else {
679 alexandre_ 133
            $n_dpt = substr($HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL], 0, 2) ;
448 ddelon 134
        }
679 alexandre_ 135
        $GLOBALS['ins_db']->query ('update '.INS_ANNUAIRE.' set '.INS_CHAMPS_DEPARTEMENT.'='.$n_dpt.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID]) ;
448 ddelon 136
    }
137
}
138
 
139
function suppression($u_id) {
679 alexandre_ 140
 
448 ddelon 141
 
679 alexandre_ 142
    $url = $GLOBALS['ins_url']->getURL() ;
448 ddelon 143
 
144
    $res = "<div>Supprimer l'inscription</div>\n" ;
145
    $res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
679 alexandre_ 146
    $res .= "<input type=\"submit\" value=\"Supprimer\" " ;
147
    $res .= "onclick=\"javascript:return confirm('&ecirc;tes-vous s&ucirc;r de vouloir supprimer cet adh&eacute;rent');\">\n" ;
448 ddelon 148
    $res .= "</form></div>\n" ;
149
 
679 alexandre_ 150
    if (isset ($_REQUEST['action']) && $_REQUEST['action'] =="suppr_adh") {
151
        $queryLogin = 'select '.INS_CHAMPS_MAIL.' from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
152
        $resultLogin = $GLOBALS['ins_db']->query($queryLogin) ;
153
        $rowLogin = $resultLogin->fetchRow(DB_FETCHMODE_ASSOC) ;
154
        $mail = $rowLogin[INS_CHAMPS_MAIL];
448 ddelon 155
 
156
        // suppression
679 alexandre_ 157
        $query = 'delete from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
158
        $GLOBALS['ins_db']->query($query);
159
 
160
         // Appel des actions desinscriptions des applications clientes
161
        $d = dir(GEN_CHEMIN_CLIENT);
162
		$id_utilisateur = $_REQUEST[INS_CHAMPS_ID];
163
		while (false !== ($repertoire = $d->read())) {
164
			if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php'))
165
			include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;
166
		}
167
		$d->close();
448 ddelon 168
    }
169
    return $res ;
170
}
171
 
679 alexandre_ 172
function select ($table, $champs_id, $champs_label, $defaut = '') {
173
    $requete = 'select * from '.$table.' where gip_id_i18n like "'.$GLOBALS['lang'].'%"' ;
174
    $resultat = $GLOBALS['ins_db']->query($requete) ;
175
    if (DB::isError($resultat)) {
176
        echo $resultat->getMessage().'<br />'.$requete ;
448 ddelon 177
    }
679 alexandre_ 178
    $res = '<select name="'.$table.'">' ;
179
 
180
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
181
        $res .= '<option value="'.$ligne[$champs_id].'"' ;
182
        if ($defaut != '' && $defaut == $ligne[$champs_id]) $res .= ' selected' ;
183
        $res .= '>'.$ligne[$champs_label].'</option>' ;
184
    }
185
    $res .= '</select>' ;
448 ddelon 186
    return $res ;
187
}
188
 
189
?>