<?php
/***************************************************************************
- * Copyright (C) 2003-2004 Polytechnique.org *
+ * Copyright (C) 2003-2006 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
require_once('geoloc.inc.php');
+global $adresses;
+
// on limite à 6 adresses personnelles par utilisateur
$nb_adr_max = 6; // ( = max(adrid possibles)
+// on limite à 4 numéros de téléphone par adresse
+$nb_tel_max = 4; // ( = max(telid possibles)
//les adresses sont stockées dans un tableau global indéxé par adrid;
return (
($adr['adr1'] == '') && ($adr['adr2'] == '') && ($adr['adr3'] == '') &&
($adr['postcode'] == '') && ($adr['city'] == '') && ($adr['country'] == '00') &&
- ($adr['tel'] == '') && ($adr['fax'] == '')
+ (count($adr['tels']) == 0)
);
}
function delete_address($adrid, $in_request_array = false){
- global $globals;
- $globals->xdb->execute("DELETE FROM adresses WHERE uid = {?} AND adrid = {?}",Session::getInt('uid', -1), $adrid);
- if($in_request_array == true){
- unset($_REQUEST['adrid'][$adrid]);
- }
- else{
- unset($GLOBALS['adresses'][$adrid]);
+ XDB::execute("DELETE FROM adresses WHERE uid = {?} AND adrid = {?}",
+ S::v('uid', -1), $adrid);
+ XDB::execute("DELETE FROM tels WHERE uid = {?} AND adrid = {?}",
+ S::v('uid', -1), $adrid);
+ if ($in_request_array == true){
+ unset($_REQUEST['adrid'][$adrid]);
+ } else{
+ unset($GLOBALS['adresses'][$adrid]);
}
}
//on verifie si on nous a demande une suppression
-$req_adrid_del = Env::getMixed('adrid_del', Array());
-for($i = 1; $i <= $nb_adr_max; $i++){
- if( isset( $req_adrid_del[$i] ) ) {
- delete_address($i,true);
- }
+$req_adrid_del = Env::v('adrid_del', Array());
+for ($i = 1; $i <= $nb_adr_max; $i++) {
+ if (isset($req_adrid_del[$i])) {
+ delete_address($i,true);
+ }
}
//$sql_order = "ORDER BY (NOT FIND_IN_SET('active', statut)), FIND_IN_SET('temporaire', statut)";
$sql_order = '';
//recuperation des adrid
-$res = $globals->xdb->query("SELECT adrid FROM adresses WHERE uid = {?} AND NOT FIND_IN_SET('pro', statut) ".$sql_order, Session::getInt('uid', -1));
+$res = XDB::query("SELECT adrid FROM adresses WHERE uid = {?} AND NOT FIND_IN_SET('pro', statut) ".$sql_order, S::v('uid', -1));
$adrids = $res->fetchColumn();
//recuperation des donnees de la bd
-$res = $globals->xdb->iterRow(
+$res = XDB::iterRow(
"SELECT
FIND_IN_SET('res-secondaire', statut), FIND_IN_SET('courrier', statut),
FIND_IN_SET('active', statut), FIND_IN_SET('temporaire', statut),
adr1, adr2, adr3, postcode, city, cityid,
- a.country, region, tel, fax, pub, tel_pub,
- gp.pays AS countrytxt
+ a.country, region, regiontxt, pub,
+ gp.pays AS countrytxt, gp.display
FROM adresses AS a INNER JOIN geoloc_pays AS gp ON(gp.a2 = a.country)
WHERE uid = {?} AND NOT FIND_IN_SET('pro',statut) ".$sql_order
-, Session::getInt('uid', -1)
+, S::v('uid', -1)
);
$nb_adr = $res->total();
$adresses[$adrid]['secondaire'], $adresses[$adrid]['courrier'],
$adresses[$adrid]['active'], $adresses[$adrid]['temporaire'],
$adresses[$adrid]['adr1'], $adresses[$adrid]['adr2'], $adresses[$adrid]['adr3'], $adresses[$adrid]['postcode'], $adresses[$adrid]['city'], $adresses[$adrid]['cityid'],
- $adresses[$adrid]['country'], $adresses[$adrid]['region'], $adresses[$adrid]['tel'], $adresses[$adrid]['fax'],
+ $adresses[$adrid]['country'], $adresses[$adrid]['region'], $adresses[$adrid]['regiontxt'],
$adresses[$adrid]['pub'],
- $adresses[$adrid]['tel_pub'],$adresses[$adrid]['countrytxt']) = $res->next();
+ $adresses[$adrid]['countrytxt'],$adresses[$adrid]['display']) = $res->next();
$adresses[$adrid]['nouvelle'] = 'modif';
$adresses[$adrid]['numero_formulaire'] = -1;
require_once('geoloc.inc.php');
$adresses[$adrid]['txt'] = get_address_text($adresses[$adrid]);
}
+$restels = XDB::iterator(
+ "SELECT
+ t.adrid, telid, tel_type, t.tel_pub, t.tel
+ FROM tels AS t INNER JOIN adresses AS a ON(t.uid = a.uid AND t.adrid = a.adrid)
+ WHERE t.uid = {?} AND NOT FIND_IN_SET('pro',statut) ORDER BY t.adrid, tel_type DESC, telid"
+, S::v('uid', -1)
+);
+while ($tel = $restels->next()) {
+ $adrid = $tel['adrid'];
+ unset($tel['adrid']);
+ if (!isset($adresses[$adrid]['tels']))
+ $adresses[$adrid]['tels'] = array($tel);
+ else
+ $adresses[$adrid]['tels'][] = $tel;
+}
?>