2
0
forked from Wavyzz/dolibarr
Files
dolibarr-fork/htdocs/searchpostalcode.php
2005-06-16 05:10:02 +00:00

171 lines
4.7 KiB
PHP

<?php
/** **************************************************************************
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* ***************************************************************************
* File : searchpostalcode.php
* Author : Eric SEIGNE
* mailto:eric.seigne@ryxeo.com
* http://www.ryxeo.com/
* Date : 13/06/2005
* Licence : GNU/GPL Version 2
*
* Description:
* ------------
*
* @version $Id$
* @source $Source$
* @revision $Revision$
* @author Eric Seigne
* @project
* @copyright Eric Seigne 13/06/2005
*
* ************************************************************************* */
/**
\file htdocs/searchpostalcode.php
\ingroup societe
\brief Recherche de la ville correspondant au code postal saisi. 1er tour on cherche dans la table societé, si on a deux clients dans la même ville c'est direct. Si jamais ça ne donne rien alors on lance la recherche dans la table des codes postaux.
\version $Revision$
*/
require("pre.inc.php");
$user->getrights('societe');
$langs->load("companies");
function run_request($table) {
global $db;
$sql = "SELECT ville,cp from ".MAIN_DB_PREFIX.$table;
if(isset($_GET['cp']) && trim($_GET['cp']) != "") {
$sql .= " where cp ";
if(strstr($_GET['cp'],'%'))
$sql .="LIKE";
else
$sql .="=";
$sql .= " '" . $_GET['cp'] . "'";
}
else {
$sql .= " LIMIT 30";
}
$result=$db->query($sql);
if (!$result) {
dolibarr_print_error($db);
}
print $sql;
}
/*
* Sécurité accés client
*/
if ($user->societe_id > 0)
{
$_GET["action"] = '';
$_POST["action"] = '';
$_GET["socid"] = $user->societe_id;
}
print "
<script language=\"JavaScript\">
<!--
function MAJ(target)
{
var e2 = \"\";
for (var i = 0; i < document.villes.elements.length && e2 == \"\"; i++)
{
var e = document.villes.elements[i];
if (e.checked){
e2 = e.value;
target.value = unescape(e2);
}
}
window.close();
}
function change_categorie(urlbase,leselect)
{
if (leselect.options[leselect.selectedIndex].value!=\"dummy\")
eval(\"location='\"+urlbase+\"?c=\"+leselect.options[leselect.selectedIndex].value+\"&objet=$objet'\");
}
//-->
</script>\n";
print "<form method=\"post\" action=\"javascript:MAJ(" . $_GET['targetobject'] . ");\" name=\"villes\" enctype=\"application/x-www-form-urlencoded\">
<table border=\"0\" align=\"center\" width=\"90%\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td colspan=\"3\" bgcolor=\"#002266\" align=\"center\">
<font color=\"#EEEEFF\" face=\"Arial, Helvetica\" size=\"3\"><b>Recherche code postal: " . $_GET['cp'] . " </b></font>
</td>
</tr>\n";
run_request("societe");
$num=$db->num_rows();
if($num == 0) {
run_request("postalcode");
$num=$db->num_rows();
}
//Si on n'a qu'un seul résultat on switche direct et on remplit le formulaire
if($num <= 1) {
$obj = $db->fetch_object($result);
$ville = $obj->ville;
$ville_code = urlencode("$ville");
print "<input type=\"radio\" name=\"choix\" value=\"$ville\" checked>
<script language=\"javascript\">
document.villes.submit();
</script>\n";
}
else {
// sinon on affiche la liste des villes dont c'est le code postal ...
for($i = 0; $i < $num; $i++){
$obj = $db->fetch_object($result);
$ville = $obj->ville;
$ville_code = urlencode("$ville");
if(strstr($_GET['cp'],'%') || trim($_GET['cp'])=="")
$cp = "(" . $obj->postalcode . ")";
else
$cp = "";
if($bgcolor=="#DDDDFF")
$bgcolor="#EEEEFF";
else
$bgcolor="#DDDDFF";
print "<tr>
<td bgcolor=\"$bgcolor\" width=\"10%\">
<label><input type=\"radio\" name=\"choix\" value=\"$ville\"> $ville $cp</label>
</td>
</tr>
<tr>\n";
}
}
print " <input type=\"hidden\" name=\"nb_i\" value=\"$i\">
<tr>
<td align=\"center\" colspan=\"3\" bgcolor=\"#DDDDFF\">
<input type=\"submit\" name=\"envoyer\" value=\"OK\"> -
<input type=\"button\" value=\"Annuler\" onClick=\"window.close();\">
</td>
</tr>
</table>
</form>\n";
$db->close();
llxFooter("<em>Derni&egrave;re modification $Date$ r&eacute;vision $Revision$</em>");
?>