diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php
index 2d74064a97b37..6c2148a4b1ef5 100644
--- a/htdocs/core/class/conf.class.php
+++ b/htdocs/core/class/conf.class.php
@@ -142,6 +142,7 @@ class Conf extends stdClass
public $format_date_hour_text;
public $liste_limit;
+ public $main_checkbox_left_column;
public $tzuserinputkey = 'tzserver'; // Use 'tzuserrel' to always store date in GMT and show date in time zone of user.
@@ -822,6 +823,11 @@ public function setValues($db)
}
}
+ // conf->main_checkbox_left_column = constant to set checkbox list to left
+ if (!isset($this->main_checkbox_left_column)) {
+ $this->main_checkbox_left_column = getDolGlobalInt("MAIN_CHECKBOX_LEFT_COLUMN");
+ }
+
// Set PRODUIT_LIMIT_SIZE if never defined
if (!isset($this->global->PRODUIT_LIMIT_SIZE)) {
$this->global->PRODUIT_LIMIT_SIZE = 1000;
diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php
index 3277bb7ab3c9f..48e8ec902e2e4 100644
--- a/htdocs/core/lib/functions2.lib.php
+++ b/htdocs/core/lib/functions2.lib.php
@@ -1777,7 +1777,14 @@ function dol_set_user_param($db, $conf, &$user, $tab)
foreach ($tab as $key => $value) {
// Set new parameters
- if ($value) {
+ $forcevalue = 0;
+ if (is_array($value)) {
+ if ($value["forcevalue"] == 1) {
+ $forcevalue = 1;
+ }
+ $value = $value["value"];
+ }
+ if ($forcevalue == 1 || $value) {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."user_param(fk_user,entity,param,value)";
$sql .= " VALUES (".((int) $user->id).",".((int) $conf->entity).",";
$sql .= " '".$db->escape($key)."','".$db->escape($value)."')";
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 1514626b8788d..d2c1981deb7c2 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -1355,6 +1355,10 @@ function analyseVarsForSqlAndScriptsInjection(&$var, $type, $stopcode = 1)
$conf->liste_limit = 20;
}
}
+ // Set main_checkbox_left_column from user setup
+ if (isset($user->conf->MAIN_CHECKBOX_LEFT_COLUMN)) { // If a user setup exists
+ $conf->main_checkbox_left_column = getDolUserInt('MAIN_CHECKBOX_LEFT_COLUMN'); // Can be 0
+ }
// Replace conf->css by personalized value if theme not forced
if (!getDolGlobalString('MAIN_FORCETHEME') && getDolUserString('MAIN_THEME')) {
diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php
index 2cdc004dae996..2e6f9e6853195 100644
--- a/htdocs/modulebuilder/template/myobject_list.php
+++ b/htdocs/modulebuilder/template/myobject_list.php
@@ -584,7 +584,7 @@
}
$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
-$htmlofselectarray = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage, getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')); // This also change content of $arrayfields with user setup
+$htmlofselectarray = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage, $conf->main_checkbox_left_column); // This also change content of $arrayfields with user setup
$selectedfields = ($mode != 'kanban' ? $htmlofselectarray : '');
$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : '');
@@ -595,7 +595,7 @@
// --------------------------------------------------------------------
print '
';
// Action column
- if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
+ if ($conf->main_checkbox_left_column) {
print '
';
if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0;
@@ -843,7 +843,7 @@
}*/
// Action column
- if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
+ if (!$conf->main_checkbox_left_column) {
print '
';
if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0;
diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php
index 779bcecafbc1c..b401d90863f15 100644
--- a/htdocs/user/param_ihm.php
+++ b/htdocs/user/param_ihm.php
@@ -118,6 +118,12 @@
$tabparam["MAIN_SIZE_LISTE_LIMIT"] = '';
}
+ if (GETPOST("check_MAIN_CHECKBOX_LEFT_COLUMN") == "on") {
+ $tabparam["MAIN_CHECKBOX_LEFT_COLUMN"] = array("forcevalue" => 1, "value" => GETPOSTINT("MAIN_CHECKBOX_LEFT_COLUMN"));
+ } else {
+ $tabparam["MAIN_CHECKBOX_LEFT_COLUMN"] = '';
+ }
+
if (GETPOST("check_MAIN_SIZE_SHORTLIST_LIMIT") == "on") {
$tabparam["MAIN_SIZE_SHORTLIST_LIMIT"] = GETPOSTINT("MAIN_SIZE_SHORTLIST_LIMIT");
} else {
@@ -325,6 +331,9 @@ function init_myfunc()
if (jQuery("#check_MAIN_LANG_DEFAULT").prop("checked")) { jQuery("#main_lang_default").removeAttr(\'disabled\'); }
else { jQuery("#main_lang_default").attr(\'disabled\',\'disabled\'); }
+ if (jQuery("#check_MAIN_CHECKBOX_LEFT_COLUMN").prop("checked")) { jQuery("#MAIN_CHECKBOX_LEFT_COLUMN").removeAttr(\'disabled\');}
+ else { jQuery("#MAIN_CHECKBOX_LEFT_COLUMN").attr(\'disabled\',\'disabled\');}
+
if (jQuery("#check_MAIN_SIZE_LISTE_LIMIT").prop("checked")) { jQuery("#MAIN_SIZE_LISTE_LIMIT").removeAttr(\'disabled\'); }
else { jQuery("#MAIN_SIZE_LISTE_LIMIT").attr(\'disabled\',\'disabled\'); }
@@ -343,6 +352,7 @@ function init_myfunc()
init_myfunc();
jQuery("#check_MAIN_LANDING_PAGE").click(function() { init_myfunc(); });
jQuery("#check_MAIN_LANG_DEFAULT").click(function() { init_myfunc(); });
+ jQuery("#check_MAIN_CHECKBOX_LEFT_COLUMN").click(function() { init_myfunc(); });
jQuery("#check_MAIN_SIZE_LISTE_LIMIT").click(function() { init_myfunc(); });
jQuery("#check_MAIN_SIZE_SHORTLIST_LIMIT").click(function() { init_myfunc(); });
jQuery("#check_AGENDA_DEFAULT_VIEW").click(function() { init_myfunc(); });
@@ -398,6 +408,14 @@ function init_myfunc()
print $form->selectarray('AGENDA_DEFAULT_VIEW', $tmplist, (isset($object->conf->AGENDA_DEFAULT_VIEW) ? $object->conf->AGENDA_DEFAULT_VIEW : ''), 0, 0, 0, '');
print '