diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php
index 87fb38d04c2..f6ef44de0fe 100644
--- a/htdocs/admin/ihm.php
+++ b/htdocs/admin/ihm.php
@@ -49,20 +49,21 @@ $searchformtitle=array($langs->trans("Companies"),$langs->trans("Contacts"),$lan
if (isset($_POST["action"]) && $_POST["action"] == 'update')
{
- dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"]);
- dolibarr_set_const($db, "MAIN_MENU_BARRETOP", $_POST["main_menu_barretop"]);
- dolibarr_set_const($db, "MAIN_MENU_BARRELEFT", $_POST["main_menu_barreleft"]);
- dolibarr_set_const($db, "SIZE_LISTE_LIMIT", $_POST["size_liste_limit"]);
+ dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"]);
+ dolibarr_set_const($db, "MAIN_MENU_BARRETOP", $_POST["main_menu_barretop"]);
+ dolibarr_set_const($db, "MAIN_MENU_BARRELEFT", $_POST["main_menu_barreleft"]);
+ dolibarr_set_const($db, "SIZE_LISTE_LIMIT", $_POST["size_liste_limit"]);
+ dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["disable_javascript"]);
+ dolibarr_set_const($db, "MAIN_SHOW_BUGTRACK_LINK", $_POST["bugtrack"]);
+ dolibarr_set_const($db, "MAIN_SHOW_WORKBOARD", $_POST["workboard"]);
+
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"]);
dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT",$_POST["main_searchform_contact"]);
dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE",$_POST["main_searchform_societe"]);
dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE",$_POST["main_searchform_produitservice"]);
- dolibarr_set_const($db, "MAIN_SHOW_BUGTRACK_LINK", $_POST["bugtrack"]);
- dolibarr_set_const($db, "MAIN_SHOW_WORKBOARD", $_POST["workboard"]);
-
dolibarr_set_const($db, "MAIN_MOTD", trim($_POST["main_motd"]));
$_SESSION["mainmenu"]=""; // Le gestionnaire de menu a pu changer
@@ -148,12 +149,18 @@ if (isset($_GET["action"]) && $_GET["action"] == 'edit')
$var=!$var;
print '
| '.$langs->trans("ShowBugTrackLink").' | ';
- $html->selectyesnonum('bugtrack',MAIN_SHOW_BUGTRACK_LINK);
+ $html->selectyesnonum('bugtrack',$conf->global->MAIN_SHOW_BUGTRACK_LINK);
print ' |
';
$var=!$var;
print '| '.$langs->trans("ShowWorkBoard").' | ';
- $html->selectyesnonum('workboard',MAIN_SHOW_WORKBOARD);
+ $html->selectyesnonum('workboard',$conf->global->MAIN_SHOW_WORKBOARD);
+ print ' |
';
+
+ // Désactiver javascript
+ $var=!$var;
+ print '| '.$langs->trans("DisableJavascript").' | ';
+ $html->selectyesnonum('disable_javascript',$conf->global->MAIN_DISABLE_JAVASCRIPT);
print ' |
';
print '
';
@@ -221,13 +228,18 @@ else
$var=!$var;
print '| '.$langs->trans("ShowBugTrackLink").' | ';
- print (MAIN_SHOW_BUGTRACK_LINK?$langs->trans("yes"):$langs->trans("no"))." |
";
+ print ($conf->global->MAIN_SHOW_BUGTRACK_LINK?$langs->trans("yes"):$langs->trans("no"))."";
$var=!$var;
print '| '.$langs->trans("ShowWorkBoard").' | ';
- print (MAIN_SHOW_WORKBOARD?$langs->trans("yes"):$langs->trans("no"))." |
";
- print '
';
+ print ($conf->global->MAIN_SHOW_WORKBOARD?$langs->trans("yes"):$langs->trans("no"))."";
+ // Disable javascript
+ $var=!$var;
+ print '| '.$langs->trans("DisableJavascript").' | ';
+ print ($conf->global->MAIN_DISABLE_JAVASCRIPT?$langs->trans("yes"):$langs->trans("no"))." |
";
+
+ print '
';
// Skin
show_theme(0);
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index fe51fabfa50..28235b1132f 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -7,6 +7,7 @@ DolibarrSetup=Dolibarr setup
GlobalSetup=Global setup
GUISetup=GUI setup
DictionnarySetup=Dictionnary setup
+DisableJavascript=Disable javascript functions
NextValue=Next value
ComptaSetup=Accounting module setup
UserSetup=Users' management setup
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 7d1ca51d9a4..4365495ec7d 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -7,6 +7,7 @@ DolibarrSetup=Installation de Dolibarr
GlobalSetup=Général
GUISetup=Interface
DictionnarySetup=Dictionnaires
+DisableJavascript=Désactiver les fonctions javascript
NextValue=Prochaine valeur
ComptaSetup=Configuration du module Comptabilité
UserSetup=Configuration gestion des utilisateurs
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 498d2414cb2..21c25721075 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -133,6 +133,10 @@ if (isset($user->conf->MAIN_THEME) && $user->conf->MAIN_THEME)
$conf->theme=$user->conf->MAIN_THEME;
$conf->css = "theme/".$conf->theme."/".$conf->theme.".css";
}
+if (isset($user->conf->MAIN_DISABLE_JAVASCRIPT) && $user->conf->MAIN_DISABLE_JAVASCRIPT)
+{
+ $conf->use_javascript=! $user->conf->MAIN_DISABLE_JAVASCRIPT;
+}
diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php
index 2a0d0cda9f6..83c666765ac 100644
--- a/htdocs/master.inc.php
+++ b/htdocs/master.inc.php
@@ -306,6 +306,10 @@ $conf->actionscomm->dir_output=DOL_DATA_ROOT."/action";
$conf->use_preview_tabs=1;
if (isset($conf->global->MAIN_USE_PREVIEW_TABS)) $conf->use_preview_tabs=$conf->global->MAIN_USE_PREVIEW_TABS;
+// conf->use_javascript
+$conf->use_javascript=1;
+if (isset($conf->global->MAIN_DISABLE_JAVASCRIPT)) $conf->use_javascript=! $conf->global->MAIN_DISABLE_JAVASCRIPT;
+
// conf->monnaie
if (! $conf->global->MAIN_MONNAIE) $conf->global->MAIN_MONNAIE='EUR';
$conf->monnaie=$conf->global->MAIN_MONNAIE;
diff --git a/htdocs/soc.js.php b/htdocs/soc.js.php
index 313bb01167d..8ec5ffd23f8 100644
--- a/htdocs/soc.js.php
+++ b/htdocs/soc.js.php
@@ -10,8 +10,20 @@ $js_OpenPopupWindow = "function PopupPostalCode(postalcode,objectville)
}
";
-print '\n";
+
+print "function save_refresh()\n";
+print "{\n";
+print "document.formsoc.action.value=\"edit\";\n";
+print "document.formsoc.submit();\n";
+print "}\n";
+
+print "\n";
+print "-->\n";
+print "\n";
?>
diff --git a/htdocs/soc.php b/htdocs/soc.php
index cfe66cf8813..895001edf4e 100644
--- a/htdocs/soc.php
+++ b/htdocs/soc.php
@@ -269,14 +269,14 @@ if ($_GET["action"] == 'create' || $_POST["action"] == 'create')
print '';
print '| '.$langs->trans('Zip').' | global->MAIN_AUTO_FILLTOWNFROMZIP) print ' onChange="PopupPostalCode(cp.value,ville)"';
+ if ($conf->use_javascript && $conf->global->MAIN_AUTO_FILLTOWNFROMZIP) print ' onChange="PopupPostalCode(cp.value,ville)"';
print '>';
- if ($conf->global->MAIN_AUTO_FILLTOWNFROMZIP) print ' ';
+ if ($conf->use_javascript && $conf->global->MAIN_AUTO_FILLTOWNFROMZIP) print ' ';
print ' | ';
print ''.$langs->trans('Town').' | |
';
print '| '.$langs->trans('Country').' | ';
- $form->select_pays($soc->pays_id,'pays_id',' onChange="save_refresh()"');
+ $form->select_pays($soc->pays_id,'pays_id',$conf->use_javascript?' onChange="save_refresh()"':'');
print ' |
';
print '| '.$langs->trans('State').' | ';
@@ -374,25 +374,12 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
if ($_GET["socid"])
{
-
- if ($conf->global->MAIN_AUTO_FILLTOWNFROMZIP)
+ // Si javascript autorisé
+ if ($conf->use_javascript)
{
include("./soc.js.php");
}
-
- print '
-
- ';
-
+
if ($reload || ! $_POST["nom"])
{
$soc = new Societe($db);
@@ -502,15 +489,15 @@ elseif ($_GET["action"] == 'edit' || $_POST["action"] == 'edit')
print ' |
';
print '| '.$langs->trans('Zip').' | global->MAIN_AUTO_FILLTOWNFROMZIP) print ' onChange="PopupPostalCode(cp.value,ville)"';
+ if ($conf->use_javascript && $conf->global->MAIN_AUTO_FILLTOWNFROMZIP) print ' onChange="PopupPostalCode(cp.value,ville)"';
print '>';
- if ($conf->global->MAIN_AUTO_FILLTOWNFROMZIP) print ' ';
+ if ($conf->use_javascript && $conf->global->MAIN_AUTO_FILLTOWNFROMZIP) print ' ';
print ' | ';
print ''.$langs->trans('Town').' | |
';
print '| '.$langs->trans('Country').' | ';
- $form->select_pays($soc->pays_id,'pays_id',' onChange="save_refresh()"');
+ $form->select_pays($soc->pays_id,'pays_id',$conf->use_javascript?' onChange="save_refresh()"':'');
print ' |
';
print '| '.$langs->trans('State').' | ';
|