git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-697
***************************************************************************/
+// {{{ liste les pays ou les régions d'un pays
/** donne la liste déroulante des pays
* @param $current pays actuellement selectionné
*/
return geoloc_region($params['pays'], $params['region']);
}
$page->register_function('geoloc_region', '_geoloc_region_smarty');
+// }}}
+function get_address_infos($txt) {
+ $url ="http://www.geoloc.org/adressparser/address.php?txt=".urlencode(utf8_encode($txt));
+ if (!($f = @fopen($url, 'r'))) return false;
+ fgets($f);
+ $keys = explode('|',fgets($f));
+ $vals = explode('|',fgets($f));
+ $infos = array();
+ foreach ($keys as $i=>$key) if($vals[$i]) $infos[$key] = $vals[$i];
+ return $infos;
+}
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
?>
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,
- country, region, tel, fax, pub, tel_pub
- FROM adresses
+ a.country, region, tel, fax, pub, tel_pub,
+ gp.pays
+ 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)
);
$adresses[$adrid]['adr1'], $adresses[$adrid]['adr2'], $adresses[$adrid]['adr3'], $adresses[$adrid]['postcode'], $adresses[$adrid]['city'],
$adresses[$adrid]['country'], $adresses[$adrid]['region'], $adresses[$adrid]['tel'], $adresses[$adrid]['fax'],
$adresses[$adrid]['pub'],
- $adresses[$adrid]['tel_pub'],) = $res->next();
+ $adresses[$adrid]['tel_pub'],$adresses[$adrid]['pays']) = $res->next();
$adresses[$adrid]['nouvelle'] = 'modif';
$adresses[$adrid]['numero_formulaire'] = -1;
}
if ($adr["temporaire"]) $statut .= 'temporaire,';
if (! empty($statut)) $statut = substr($statut, 0, -1);
-
if ($adr["nouvelle"] == 'ajout') {
//nouvelle adresse
$globals->xdb->execute("INSERT INTO adresses SET
replace_ifset_adr('fax', $i);
replace_ifset_adr('pub', $i);
replace_ifset_adr('tel_pub', $i);
+ replace_ifset_adr('txt', $i);
+ if ($GLOBALS['adresses'][$i]['txt'] && !Env::get('nochange'.$i, true)) {
+ require_once('geoloc.inc.php');
+ $new = get_address_infos($GLOBALS['adresses'][$i]['txt']);
+ $GLOBALS['adresses'][$i] = array_merge($GLOBALS['adresses'][$i], $new);
+ }
$tab = Env::getMixed('numero_formulaire', Array());
if($tab[$i])
$GLOBALS['adresses'][$i]['numero_formulaire'] = $tab[$i];
--- /dev/null
+ <tr>
+ <td class="colg">
+ <a name="jump_adr{$adrid}" />
+ <span class="titre">{$titre}</span>
+ <br />
+ {if $adr.nouvelle != 'new' && !$smarty.request.detail[$adrid]}
+ [<a href="{$url}&detail%5B{$adrid}%5D=1#jump_adr{$adrid}">corriger</a>]
+ {/if}
+ </td>
+ <td class="cold">
+ {if $smarty.request.detail[$adrid] neq 1}
+ <input type="hidden" name="nochange{$adrid}" value="1" />
+ <input type="hidden" name="adr1[{$adrid}]" value="{$adr.adr1}" />
+ <input type="hidden" name="adr2[{$adrid}]" value="{$adr.adr2}" />
+ <input type="hidden" name="adr3[{$adrid}]" value="{$adr.adr3}" />
+ <input type="hidden" name="postcode[{$adrid}]" value="{$adr.postcode}"/>
+ <input type="hidden" name="city[{$adrid}]" value="{$adr.city}" />
+ <input type="hidden" name="region[{$adrid}]" value="{$region.city}" />
+ <input type="hidden" name="country[{$adrid}]" value="{$adr.country}" />
+ <textarea name="txt[{$adrid}]" cols="43" rows="3" onclick="form.nochange{$adrid}.value=0;select()">
+{if $adr.adr1}{$adr.adr1}
+{/if}
+{if $adr.adr2}{$adr.adr2}
+{/if}
+{if $adr.adr3}{$adr.adr3}
+{/if}
+{if $adr.postcode || $adr.city}
+{if $adr.country eq 'US' || $adr.country eq 'CA'}
+{assign var='tmp' value="%v,\r\n%r %p"}
+{else}
+{assign var='tmp' value="%p %v"}
+{/if}
+{$tmp|replace:"%p":$adr.postcode|replace:"%v":$adr.city|replace:"%r":$adr.region}
+{/if}
+{if $adr.pays}{$adr.pays}{/if}</textarea>
+ {else}
+ <input type="text" name="adr1[{$adrid}]" size="43" maxlength="88" value="{$adr.adr1}" />
+ </td>
+ </tr>
+ <tr>
+ <td class="colg">
+
+ </td>
+ <td class="cold">
+ <input type="text" name="adr2[{$adrid}]" size="43" maxlength="88" value="{$adr.adr2}" />
+ </td>
+ </tr>
+ <tr>
+ <td class="colg">
+
+ </td>
+ <td class="cold">
+ <input type="text" name="adr3[{$adrid}]" size="43" maxlength="88" value="{$adr.adr3}" />
+ </td>
+ </tr>
+ <tr>
+ <td class="colg">
+ <span class="titre">Code postal / Ville</span><br />
+ </td>
+ <td class="cold">
+ <input type="text" name="postcode[{$adrid}]" value="{$adr.postcode}" size="7" maxlength="18" />
+
+ <input type="text" name="city[{$adrid}]" value="{$adr.city}" size="32" maxlength="78" />
+ </td>
+ </tr>
+ <tr>
+ <td class="colg">
+ <span class="titre">Pays</span>
+ </td>
+ <td class="cold">
+ <select name="country[{$adrid}]" onchange="this.form.submit();">
+ {geoloc_pays pays=$adr.country}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="colg">
+ <span class="titre">Région ou département</span><br />
+ <span class="comm">(selon pays)</span>
+ </td>
+ <td class="cold">
+ <select name="region[{$adrid}]">
+ {geoloc_region pays=$adr.country region=$adr.region}
+ </select>
+ {/if}
+ </td>
+ </tr>
<tr>
<td class="left">
{if $adr.nouvelle != 'new'}
- <input type="submit" value="La supprimer !" name="adrid_del[{$adrid}]" />
+ <a href="{$smarty.server.PHP_SELF}?old_tab={$smarty.request.old_tab}&adrid_del%5B{$adrid}%5D=1"><input type="button" value="La supprimer !" /></a>
{/if}
</td>
</table>
</td>
</tr>
- <tr>
- <td class="colg">
- <span class="titre">{if $adr.nouvelle != 'new'}Adresse n°{$smarty.section.i.index}{else}Nouvelle adresse{/if}</span><br />
- </td>
- <td class="cold">
- <input type="text" name="adr1[{$adrid}]" size="43" maxlength="88" value="{$adr.adr1}" />
- </td>
- </tr>
- <tr>
- <td class="colg">
-
- </td>
- <td class="cold">
- <input type="text" name="adr2[{$adrid}]" size="43" maxlength="88" value="{$adr.adr2}" />
- </td>
- </tr>
- <tr>
- <td class="colg">
-
- </td>
- <td class="cold">
- <input type="text" name="adr3[{$adrid}]" size="43" maxlength="88" value="{$adr.adr3}" />
- </td>
- </tr>
- <tr>
- <td class="colg">
- <span class="titre">Code postal / Ville</span><br />
- </td>
- <td class="cold">
- <input type="text" name="postcode[{$adrid}]" value="{$adr.postcode}" size="7" maxlength="18" />
-
- <input type="text" name="city[{$adrid}]" value="{$adr.city}" size="32" maxlength="78" />
- </td>
- </tr>
- <tr>
- <td class="colg">
- <span class="titre">Pays</span>
- </td>
- <td class="cold">
- <select name="country[{$adrid}]" onchange="this.form.submit();">
- {geoloc_pays pays=$adr.country}
- </select>
- </td>
- </tr>
- <tr>
- <td class="colg">
- <span class="titre">Région ou département</span><br />
- <span class="comm">(selon pays)</span>
- </td>
- <td class="cold">
- <select name="region[{$adrid}]">
- {geoloc_region pays=$adr.country region=$adr.region}
- </select>
- </td>
- </tr>
+ {if $adr.nouvelle != 'new'}
+ {assign var="titre" value="Adresse n°`$smarty.section.i.index` :"}
+ {else}
+ {assign var="titre" value="Nouvelle adresse :"}
+ {/if}
+ {include file="geoloc/form.address.tpl" adr=$adr titre=$titre url="`$smarty.server.PHP_SELF`?old_tab=`$smarty.request.old_tab`"}
<tr>
<td class="colg">
<span class="titre">Cette adresse est :</span>