Fix: Le drag and drop des boites effacait la personnalisation des paramètres de config
This commit is contained in:
parent
2fc12bc192
commit
d9df66c655
@ -374,30 +374,43 @@ function dolibarr_del_const($db, $name)
|
|||||||
\brief Sauvegarde parametrage personnel
|
\brief Sauvegarde parametrage personnel
|
||||||
\param db Handler d'accès base
|
\param db Handler d'accès base
|
||||||
\param user Objet utilisateur
|
\param user Objet utilisateur
|
||||||
\param url Si defini, on sauve parametre du tableau tab dont clé = sortfield, sortorder, begin et page
|
\param url Si defini, on sauve parametre du tableau tab dont clé = (url avec sortfield, sortorder, begin et page)
|
||||||
Si non defini on sauve tous parametres du tableau tab
|
Si non defini on sauve tous parametres du tableau tab
|
||||||
\param tab Tableau (clé=>valeur) des paramètres à sauvegarder
|
\param tab Tableau (clé=>valeur) des paramètres à sauvegarder
|
||||||
\return int <0 si ko, >0 si ok
|
\return int <0 si ko, >0 si ok
|
||||||
*/
|
*/
|
||||||
function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
|
function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
|
||||||
{
|
{
|
||||||
|
// Verification parametres
|
||||||
|
if (sizeof($tab) < 1) return -1;
|
||||||
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
// On efface paramètres anciens
|
// On efface anciens paramètres pour toutes les clé dans $tab
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
||||||
$sql.= " WHERE fk_user = ".$user->id;
|
$sql.= " WHERE fk_user = ".$user->id;
|
||||||
if ($url) $sql.=" AND page='".$url."'";
|
if ($url) $sql.=" AND page='".$url."'";
|
||||||
else $sql.=" AND page=''";
|
else $sql.=" AND page=''"; // Page ne peut etre null
|
||||||
|
$sql.= " AND param in (";
|
||||||
|
$i=0;
|
||||||
|
foreach ($tab as $key => $value)
|
||||||
|
{
|
||||||
|
if ($i > 0) $sql.=',';
|
||||||
|
$sql.="'".$key."'";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
$sql.= ")";
|
||||||
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
||||||
|
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
if (! $resql)
|
if (! $resql)
|
||||||
{
|
{
|
||||||
dolibarr_print_error($db);
|
dolibarr_print_error($db);
|
||||||
|
$db->rollback();
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($tab as $key=>$value)
|
foreach ($tab as $key => $value)
|
||||||
{
|
{
|
||||||
// On positionne nouveaux paramètres
|
// On positionne nouveaux paramètres
|
||||||
if ($value && (! $url || in_array($key,array('sortfield','sortorder','begin','page'))))
|
if ($value && (! $url || in_array($key,array('sortfield','sortorder','begin','page'))))
|
||||||
@ -409,7 +422,13 @@ function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
|
|||||||
$sql.= " '".$key."','".addslashes($value)."');";
|
$sql.= " '".$key."','".addslashes($value)."');";
|
||||||
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
||||||
|
|
||||||
$db->query($sql);
|
$result=$db->query($sql);
|
||||||
|
if (! $result)
|
||||||
|
{
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
$db->rollback();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
$user->page_param[$key] = $value;
|
$user->page_param[$key] = $value;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user