mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Look: Amlioration esthtique sur autofill des villes
Fix: Correction fichier corrompu
This commit is contained in:
parent
526da5b153
commit
be9664104d
|
|
@ -25,18 +25,18 @@
|
|||
|
||||
/**
|
||||
\file htdocs/main.inc.php
|
||||
\brief Fichier de formatage générique des écrans Dolibarr
|
||||
\brief Fichier de formatage g?rique des ?ans Dolibarr
|
||||
\version $Revision$
|
||||
*/
|
||||
|
||||
// Pour le tuning optionnel. Activer si la variable d'environnement DOL_TUNING
|
||||
// est positionnée. A appeler avant tout.
|
||||
// est positionnee. A appeler avant tout.
|
||||
if (isset($_SERVER['DOL_TUNING'])) $micro_start_time=microtime(true);
|
||||
|
||||
|
||||
// Forcage du parametrage PHP magic_quots_gpc (Sinon il faudrait a chaque POST, conditionner
|
||||
// Forcage du parametrage PHP magic_quotes_gpc (Sinon il faudrait a chaque POST, conditionner
|
||||
// la lecture de variable par stripslashes selon etat de get_magic_quotes).
|
||||
// En mode off (recommandé), il faut juste fait addslashes au moment d'un insert/update.
|
||||
// En mode off (recommande, il faut juste fait addslashes au moment d'un insert/update.
|
||||
function stripslashes_deep($value)
|
||||
{
|
||||
return (is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value));
|
||||
|
|
@ -55,15 +55,15 @@ require_once("master.inc.php");
|
|||
|
||||
|
||||
// Verification du login.
|
||||
// Cette verification est faite pour chaque accès. Après l'authentification,
|
||||
// l'objet $user est initialisée. Notament $user->id, $user->login et $user->nom, $user->prenom
|
||||
// Cette verification est faite pour chaque acc? Apr?l'authentification,
|
||||
// l'objet $user est initialis? Notament $user->id, $user->login et $user->nom, $user->prenom
|
||||
// \todo Stocker les infos de $user en session persistente php et ajouter recup dans le fetch
|
||||
// depuis la sessions pour ne pas avoir a acceder a la base a chaque acces de page.
|
||||
|
||||
// MODE 1: Pas d'identification car forcé
|
||||
// MODE 1: Pas d'identification car force
|
||||
if (! empty($dolibarr_auto_user))
|
||||
{
|
||||
// Mode forcé sur un utilisateur (pour debug, demo, ...), on initialise la session
|
||||
// Mode forc?ur un utilisateur (pour debug, demo, ...), on initialise la session
|
||||
if (! session_id()) {
|
||||
session_name("DOLSESSID_".$dolibarr_main_db_name);
|
||||
session_start();
|
||||
|
|
@ -97,10 +97,9 @@ elseif (! empty($_SERVER["REMOTE_USER"]))
|
|||
$_SESSION["dol_user"]=$user;
|
||||
}
|
||||
}
|
||||
// MODE 3: Identification depuis base de donnée
|
||||
else
|
||||
// MODE 3: Identification depuis base de donn?else
|
||||
{
|
||||
// Authentification Apache KO ou non active, pas de mode forcé, on demande le login
|
||||
// Authentification Apache KO ou non active, pas de mode forc?on demande le login
|
||||
require_once(DOL_DOCUMENT_ROOT."/includes/pear/Auth/Auth.php");
|
||||
|
||||
$pear = $dolibarr_main_db_type.'://'.$dolibarr_main_db_user.':'.$dolibarr_main_db_pass.'@'.$dolibarr_main_db_host.'/'.$dolibarr_main_db_name;
|
||||
|
|
@ -137,10 +136,9 @@ else
|
|||
}
|
||||
else
|
||||
{
|
||||
// Non authentifié
|
||||
dolibarr_syslog("Authentification non réalisé");
|
||||
// Non authentifi? dolibarr_syslog("Authentification non r?is?;
|
||||
}
|
||||
// Le début de la page a été affiché par loginfunction. On ferme juste la page
|
||||
// Le d?t de la page a ? affich?ar loginfunction. On ferme juste la page
|
||||
print "</div>\n</div>\n</body>\n</html>";
|
||||
exit;
|
||||
}
|
||||
|
|
@ -173,14 +171,13 @@ if (isset($user->conf->MAIN_LANG_DEFAULT) && $user->conf->MAIN_LANG_DEFAULT)
|
|||
{
|
||||
if ($langs->getDefaultLang() != $user->conf->MAIN_LANG_DEFAULT)
|
||||
{
|
||||
// Si on a un langage perso différent du langage courant global
|
||||
// Si on a un langage perso diff?nt du langage courant global
|
||||
$langs->setDefaultLang($user->conf->MAIN_LANG_DEFAULT);
|
||||
$langs->setPhpLang($user->conf->MAIN_LANG_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
// Remplace conf->css par valeur personnalisée
|
||||
if (isset($user->conf->MAIN_THEME) && $user->conf->MAIN_THEME)
|
||||
// Remplace conf->css par valeur personnalis?if (isset($user->conf->MAIN_THEME) && $user->conf->MAIN_THEME)
|
||||
{
|
||||
$conf->theme=$user->conf->MAIN_THEME;
|
||||
$conf->css = "theme/".$conf->theme."/".$conf->theme.".css";
|
||||
|
|
@ -193,13 +190,12 @@ if (isset($user->conf->MAIN_DISABLE_JAVASCRIPT) && $user->conf->MAIN_DISABLE_JAV
|
|||
$conf->use_javascript=! $user->conf->MAIN_DISABLE_JAVASCRIPT;
|
||||
}
|
||||
|
||||
// Défini gestionnaire de menu à utiliser
|
||||
// D?ni gestionnaire de menu ?tiliser
|
||||
if (! $user->societe_id) // Si utilisateur interne
|
||||
{
|
||||
$conf->top_menu=$conf->global->MAIN_MENU_BARRETOP;
|
||||
$conf->left_menu=$conf->global->MAIN_MENU_BARRELEFT;
|
||||
// Pour compatibilité
|
||||
if ($conf->top_menu == 'eldy.php') $conf->top_menu='eldy_backoffice.php';
|
||||
// Pour compatibilit? if ($conf->top_menu == 'eldy.php') $conf->top_menu='eldy_backoffice.php';
|
||||
if ($conf->left_menu == 'eldy.php') $conf->left_menu='eldy_backoffice.php';
|
||||
}
|
||||
else // Si utilisateur externe
|
||||
|
|
@ -208,7 +204,7 @@ else // Si utilisateur externe
|
|||
$conf->left_menu=$conf->global->MAIN_MENUFRONT_BARRELEFT;
|
||||
}
|
||||
|
||||
// Si le login n'a pu être récupéré, on est identifié avec un compte qui n'existe pas.
|
||||
// Si le login n'a pu ?e r?p?, on est identifi?vec un compte qui n'existe pas.
|
||||
// Tentative de hacking ?
|
||||
if (! $user->login) accessforbidden();
|
||||
|
||||
|
|
@ -233,24 +229,26 @@ if (defined("MAIN_NOT_INSTALLED"))
|
|||
exit;
|
||||
}
|
||||
|
||||
// Constantes utilisées pour définir le nombre de lignes des textarea
|
||||
// Constantes utilisees pour definir le nombre de lignes des textarea
|
||||
if (! eregi("firefox",$_SERVER["HTTP_USER_AGENT"]))
|
||||
{
|
||||
define('ROWS_1',1);
|
||||
define('ROWS_2',2);
|
||||
define('ROWS_3',3);
|
||||
define('ROWS_4',4);
|
||||
}
|
||||
else
|
||||
{
|
||||
define('ROWS_1',0);
|
||||
define('ROWS_2',1);
|
||||
define('ROWS_3',2);
|
||||
define('ROWS_4',3);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \brief Affiche en-tête html
|
||||
* \brief Affiche en-tete html
|
||||
* \param head lignes d'en-tete head
|
||||
* \param title titre page web
|
||||
* \param target target du menu Accueil
|
||||
|
|
@ -314,7 +312,7 @@ function top_htmlhead($head, $title="", $target="")
|
|||
}
|
||||
|
||||
/**
|
||||
* \brief Affiche en-tête html + la barre de menu supérieure
|
||||
* \brief Affiche en-t? html + la barre de menu sup?eure
|
||||
* \param head lignes d'en-tete head
|
||||
* \param title titre page web
|
||||
* \param target target du menu Accueil
|
||||
|
|
@ -328,8 +326,8 @@ function top_menu($head, $title="", $target="")
|
|||
print '<body id="mainbody"><div id="dhtmltooltip"></div>';
|
||||
|
||||
/*
|
||||
* Si la constante MAIN_NEED_UPDATE est définie (par le script de migration sql en général), c'est que
|
||||
* les données ont besoin d'un remaniement. Il faut passer le update.php
|
||||
* Si la constante MAIN_NEED_UPDATE est d?nie (par le script de migration sql en g?ral), c'est que
|
||||
* les donn? ont besoin d'un remaniement. Il faut passer le update.php
|
||||
*/
|
||||
if ($conf->global->MAIN_NEED_UPDATE)
|
||||
{
|
||||
|
|
@ -346,11 +344,11 @@ function top_menu($head, $title="", $target="")
|
|||
|
||||
|
||||
/*
|
||||
* Barre de menu supérieure
|
||||
* Barre de menu sup?eure
|
||||
*/
|
||||
print '<div class="tmenu">'."\n";
|
||||
|
||||
// Charge le gestionnaire des entrées de menu du haut
|
||||
// Charge le gestionnaire des entr? de menu du haut
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/menus/barre_top/".$conf->top_menu);
|
||||
$menutop = new MenuTop($db);
|
||||
$menutop->atarget=$target;
|
||||
|
|
@ -382,9 +380,9 @@ function top_menu($head, $title="", $target="")
|
|||
|
||||
/**
|
||||
* \brief Affiche barre de menu gauche
|
||||
* \param menu_array Tableau des entrée de menu
|
||||
* \param menu_array Tableau des entr?de menu
|
||||
* \param help_url Url pour le lien aide ('' par defaut)
|
||||
* \param form_search Formulaire de recherche permanant supplémentaire
|
||||
* \param form_search Formulaire de recherche permanant suppl?ntaire
|
||||
*/
|
||||
function left_menu($menu_array, $help_url='', $form_search='')
|
||||
{
|
||||
|
|
@ -398,7 +396,7 @@ function left_menu($menu_array, $help_url='', $form_search='')
|
|||
print '<div class="vmenu">'."\n";
|
||||
|
||||
|
||||
// Autres entrées du menu par le gestionnaire
|
||||
// Autres entr? du menu par le gestionnaire
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/menus/barre_left/".$conf->left_menu);
|
||||
$menu=new MenuLeft($db,$menu_array);
|
||||
$menu->showmenu();
|
||||
|
|
@ -446,7 +444,7 @@ function left_menu($menu_array, $help_url='', $form_search='')
|
|||
print '</div>';
|
||||
}
|
||||
|
||||
// Zone de recherche supplémentaire
|
||||
// Zone de recherche suppl?ntaire
|
||||
if ($form_search)
|
||||
{
|
||||
print $form_search;
|
||||
|
|
@ -513,11 +511,11 @@ function printSearchForm($urlaction,$urlobject,$title,$htmlmodesearch='search',$
|
|||
|
||||
|
||||
/**
|
||||
* \brief Impression du pied de page
|
||||
* \param foot Non utilisé
|
||||
* \brief Impression du pied de page
|
||||
* \remarks Ferme 2 div
|
||||
* \param foot Non utilise
|
||||
*/
|
||||
|
||||
function llxFooter($foot='')
|
||||
function llxFooter($foot='',$limitIEbug=1)
|
||||
{
|
||||
global $conf, $dolibarr_auto_user, $micro_start_time;
|
||||
|
||||
|
|
@ -535,8 +533,8 @@ function llxFooter($foot='')
|
|||
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/lib/lib_foot.js"></script>';
|
||||
}
|
||||
|
||||
// Juste pour éviter bug IE qui réorganise mal div précédents si celui-ci absent
|
||||
print "\n".'<div class="tabsAction"> </div>'."\n";
|
||||
// Juste pour eviter bug IE qui reorganise mal div precedents si celui-ci absent
|
||||
if ($limitIEbug) print "\n".'<div class="tabsAction"> </div>'."\n";
|
||||
|
||||
print "</body>\n";
|
||||
print "</html>\n";
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
<?php
|
||||
/** **************************************************************************
|
||||
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
/* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
|
||||
* Copyright (C) 2006 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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.
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
|
|
@ -14,6 +15,10 @@
|
|||
* 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.
|
||||
*
|
||||
* $Id$
|
||||
* $Source$
|
||||
*
|
||||
* ***************************************************************************
|
||||
* File : searchpostalcode.php
|
||||
* Author : Eric SEIGNE
|
||||
|
|
@ -24,7 +29,6 @@
|
|||
*
|
||||
* Description:
|
||||
* ------------
|
||||
*
|
||||
* @version $Id$
|
||||
* @source $Source$
|
||||
* @revision $Revision$
|
||||
|
|
@ -50,20 +54,17 @@ $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";
|
||||
}
|
||||
$cp=isset($_GET["cp"])?trim($_GET["cp"]):'';
|
||||
$cp=eregi_replace('\*','%',$cp);
|
||||
|
||||
$sql = "SELECT DISTINCT ville, cp";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX.$table;
|
||||
$sql.= " WHERE cp ".($cp?"LIKE":"=")." '".addslashes($cp)."'";
|
||||
$sql.= " ORDER by ville";
|
||||
|
||||
$result=$db->query($sql);
|
||||
if (!$result) {
|
||||
if (!$result)
|
||||
{
|
||||
dolibarr_print_error($db);
|
||||
}
|
||||
// print $sql;
|
||||
|
|
@ -82,9 +83,10 @@ if ($user->societe_id > 0)
|
|||
|
||||
top_htmlhead("", $langs->trans("SearchTown"), "");
|
||||
|
||||
print "<body>";
|
||||
|
||||
print "
|
||||
<script language=\"JavaScript\">
|
||||
<script language=\"JavaScript\" type=\"text/javascript\">
|
||||
<!--
|
||||
function MAJ(target)
|
||||
{
|
||||
|
|
@ -108,9 +110,8 @@ function change_categorie(urlbase,leselect)
|
|||
//-->
|
||||
</script>\n";
|
||||
|
||||
print "<body>";
|
||||
|
||||
print "<div><div><div><br>"; // Ouvre 3 div a la place de top_menu car le llxFooter en ferme 3
|
||||
print "<div><div><br>"; // Ouvre 3 div a la place de top_menu car le llxFooter en ferme 3
|
||||
|
||||
print "<form method=\"post\" action=\"javascript:MAJ(" . $_GET['targetobject'] . ");\" name=\"villes\" enctype=\"application/x-www-form-urlencoded\">";
|
||||
print "<table class=\"noborder\" align=\"center\" width=\"90%\">";
|
||||
|
|
@ -123,32 +124,35 @@ print "</tr>\n";
|
|||
run_request("societe");
|
||||
|
||||
$num=$db->num_rows();
|
||||
if($num == 0) {
|
||||
run_request("postalcode");
|
||||
$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";
|
||||
if($num <= 1)
|
||||
{
|
||||
$obj = $db->fetch_object($result);
|
||||
$ville = $obj->ville;
|
||||
$ville_code = urlencode("$ville");
|
||||
print "<tr ".$bc[$var]."><td width=\"10%\">";
|
||||
print "<input type=\"radio\" name=\"choix\" value=\"$ville\" checked>";
|
||||
print "<script language=\"javascript\" type=\"text/javascript\">document.villes.submit();</script>\n";
|
||||
print "</td></tr>";
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
// Sinon on affiche la liste des villes dont c'est le code postal ...
|
||||
for($i = 0; $i < $num; $i++)
|
||||
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 . ")";
|
||||
if ($obj->cp)
|
||||
$cp = "(" . $obj->cp . ")";
|
||||
else
|
||||
$cp = "";
|
||||
$cp = "";
|
||||
|
||||
if($bgcolor=="#DDDDFF")
|
||||
$bgcolor="#EEEEFF";
|
||||
|
|
@ -157,25 +161,24 @@ else {
|
|||
|
||||
$var=!$var;
|
||||
print "<tr ".$bc[$var]."><td width=\"10%\">";
|
||||
print "<label><input type=\"radio\" name=\"choix\" value=\"$ville\"> $ville $cp</label>";
|
||||
print "<input type=\"radio\" name=\"choix\" value=\"$ville\"> $ville $cp";
|
||||
print "</td></tr>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
print " <input type=\"hidden\" name=\"nb_i\" value=\"$i\">";
|
||||
|
||||
$var=!$var;
|
||||
print "<tr><td align=\"center\" colspan=\"3\">";
|
||||
print "<input type=\"hidden\" name=\"nb_i\" value=\"$i\">";
|
||||
print "<input type=\"submit\" class=\"button\" name=\"envoyer\" value=\"".$langs->trans("Modify")."\">";
|
||||
print " ";
|
||||
print "<input type=\"button\" class=\"button\" value=\"".$langs->trans("Cancel")."\" onClick=\"window.close();\">";
|
||||
print "</td></tr>";
|
||||
|
||||
print "</table></form>\n";
|
||||
print "<br>";
|
||||
print "</table></form><br>\n";
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter('$Date$ - $Revision$');
|
||||
llxFooter('$Date$ - $Revision$',0);
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -79,14 +79,20 @@ $soc = new Societe($db);
|
|||
* Actions
|
||||
*/
|
||||
|
||||
// assujétissement à la TVA
|
||||
if ($_POST["action"] == 'setassujtva')
|
||||
if ($_POST["getcustomercode"])
|
||||
{
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET tva_assuj='".$_POST['assujtva_value']."' WHERE idp='".$socid."'";
|
||||
$result = $db->query($sql);
|
||||
// On défini valeur pour code_client
|
||||
$_POST["code_client"]="aa";
|
||||
}
|
||||
|
||||
if ($_POST["action"] == 'add' || $_POST["action"] == 'update')
|
||||
if ($_POST["getsuppliercode"])
|
||||
{
|
||||
// On défini valeur pour code_fournisseur
|
||||
$_POST["code_fournisseur"]="aa";
|
||||
}
|
||||
|
||||
if ((! $_POST["getcustomercode"] && ! $_POST["getsuppliercode"])
|
||||
&& ($_POST["action"] == 'add' || $_POST["action"] == 'update'))
|
||||
{
|
||||
$soc->nom = $_POST["nom"];
|
||||
$soc->adresse = $_POST["adresse"];
|
||||
|
|
@ -184,7 +190,8 @@ $form = new Form($db);
|
|||
$countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')';
|
||||
|
||||
|
||||
if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
|
||||
if ($_POST["getcustomercode"] || $_POST["getsuppliercode"] ||
|
||||
$_GET["action"] == 'create' || $_POST["action"] == 'create')
|
||||
{
|
||||
if ($user->rights->societe->creer)
|
||||
{
|
||||
|
|
@ -268,7 +275,10 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
|
|||
print '<option value="0"'.($soc->client==0?' selected="true"':'').'>Ni client, ni prospect</option>';
|
||||
print '</select></td>';
|
||||
print '<td width="25%">'.$langs->trans('CustomerCode').'</td><td width="25%">';
|
||||
print '<input type="text" name="code_client" size="16" value="'.$soc->code_client.'" maxlength="15">';
|
||||
print '<table class="noborder"><tr><td>';
|
||||
print '<input type="text" name="code_client" size="16" value="'.$soc->code_client.'" maxlength="15"></td><td>';
|
||||
print '<input type="image" name="getcustomercode" value="1" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/refresh.png" class="noborder">';
|
||||
print '</td></tr></table>';
|
||||
print '</td></tr>';
|
||||
|
||||
// Fournisseur
|
||||
|
|
@ -277,7 +287,10 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
|
|||
$form->selectyesnonum("fournisseur",$soc->fournisseur);
|
||||
print '</td>';
|
||||
print '<td>'.$langs->trans('SupplierCode').'</td><td>';
|
||||
print '<input type="text" name="code_fournisseur" size="16" value="'.$soc->code_fournisseur.'" maxlength="15">';
|
||||
print '<table class="noborder"><tr><td>';
|
||||
print '<input type="text" name="code_fournisseur" size="16" value="'.$soc->code_fournisseur.'" maxlength="15"></td><td>';
|
||||
print '<input type="image" name="getsuppliercode" value="1" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/refresh.png" class="noborder">';
|
||||
print '</td></tr></table>';
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td>'.$langs->trans('Address').'</td><td colspan="3"><textarea name="adresse" cols="40" rows="3" wrap="soft">';
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user