mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-15 05:51:28 +01:00
Suite dev drag and drop des boites
This commit is contained in:
@@ -27,6 +27,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
require("./pre.inc.php");
|
require("./pre.inc.php");
|
||||||
|
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php");
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
|
|
||||||
if (!$user->admin)
|
if (!$user->admin)
|
||||||
@@ -43,25 +45,42 @@ $boxes = array();
|
|||||||
|
|
||||||
if ($_POST["action"] == 'add')
|
if ($_POST["action"] == 'add')
|
||||||
{
|
{
|
||||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."boxes WHERE box_id=".$_POST["boxid"]." AND position=".$_POST["pos"];
|
$sql = "SELECT rowid";
|
||||||
$result = $db->query($sql);
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
|
$sql.= " WHERE fk_user=0 AND box_id=".$_POST["boxid"]." AND position=".$_POST["pos"];
|
||||||
$num = $db->num_rows($result);
|
$resql = $db->query($sql);
|
||||||
if ($num == 0)
|
if ($resql)
|
||||||
{
|
{
|
||||||
// Si la boite n'est pas deja active
|
$num = $db->num_rows($result);
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position) values (".$_POST["boxid"].",".$_POST["pos"].");";
|
if ($num == 0)
|
||||||
$result = $db->query($sql);
|
{
|
||||||
}
|
// Si la boite n'est pas deja active
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id, position, fk_user) values (".$_POST["boxid"].",".$_POST["pos"].", 0)";
|
||||||
Header("Location: boxes.php");
|
$result = $db->query($sql);
|
||||||
exit;
|
}
|
||||||
|
|
||||||
|
Header("Location: boxes.php");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] == 'delete')
|
if ($_GET["action"] == 'delete')
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["rowid"];
|
$db->begin();
|
||||||
$result = $db->query($sql);
|
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
|
$sql.= " WHERE rowid=".$_GET["rowid"];
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
||||||
|
$sql.= " WHERE param like 'MAIN_BOXES_%'";
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
|
$db->commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_GET["action"] == 'switch')
|
if ($_GET["action"] == 'switch')
|
||||||
@@ -69,34 +88,20 @@ if ($_GET["action"] == 'switch')
|
|||||||
// On permute les valeur du champ box_order des 2 lignes de la table boxes
|
// On permute les valeur du champ box_order des 2 lignes de la table boxes
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
$sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchfrom"];
|
$objfrom=new ModeleBoxes($db);
|
||||||
$resultfrom = $db->query($sql);
|
$objfrom->fetch($_GET["switchfrom"]);
|
||||||
if ($resultfrom)
|
|
||||||
{
|
|
||||||
$objfrom = $db->fetch_object($resultfrom);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($db);
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql="SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE rowid=".$_GET["switchto"];
|
$objto=new ModeleBoxes($db);
|
||||||
$resultto = $db->query($sql);
|
$objto->fetch($_GET["switchto"]);
|
||||||
|
|
||||||
if ($resultto)
|
if (is_object($objfrom) && is_object($objto))
|
||||||
{
|
{
|
||||||
$objto = $db->fetch_object($resultto);
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objto->box_order." WHERE rowid=".$objfrom->rowid;
|
||||||
}
|
//print "xx".$sql;
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($db);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($objfrom && $objto) {
|
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objto->box_order." WHERE rowid=".$_GET["switchfrom"];
|
|
||||||
$resultupdatefrom = $db->query($sql);
|
$resultupdatefrom = $db->query($sql);
|
||||||
if (! $resultupdatefrom) { dolibarr_print_error($db); }
|
if (! $resultupdatefrom) { dolibarr_print_error($db); }
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objfrom->box_order." WHERE rowid=".$_GET["switchto"];
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order=".$objfrom->box_order." WHERE rowid=".$objto->rowid;
|
||||||
|
//print "xx".$sql;
|
||||||
$resultupdateto = $db->query($sql);
|
$resultupdateto = $db->query($sql);
|
||||||
if (! $resultupdateto) { dolibarr_print_error($db); }
|
if (! $resultupdateto) { dolibarr_print_error($db); }
|
||||||
}
|
}
|
||||||
@@ -126,7 +131,7 @@ print $langs->trans("BoxesDesc")."<br>\n";
|
|||||||
|
|
||||||
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, d.name, d.rowid as boxid";
|
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, d.name, d.rowid as boxid";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
$sql .= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
||||||
$sql .= " where b.box_id = d.rowid";
|
$sql .= " WHERE b.box_id = d.rowid AND fk_user=0";
|
||||||
$sql .= " ORDER by position, box_order";
|
$sql .= " ORDER by position, box_order";
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
@@ -174,7 +179,8 @@ print '<td>'.$langs->trans("SourceFile").'</td>';
|
|||||||
print '<td align="center" width="160">'.$langs->trans("ActivateOn").'</td>';
|
print '<td align="center" width="160">'.$langs->trans("ActivateOn").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$sql = "SELECT rowid, name, file, note FROM ".MAIN_DB_PREFIX."boxes_def";
|
$sql = "SELECT rowid, name, file, note";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes_def";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
$var=True;
|
$var=True;
|
||||||
|
|
||||||
@@ -243,14 +249,16 @@ print '<tr class="liste_titre">';
|
|||||||
print '<td width="300">'.$langs->trans("Box").'</td>';
|
print '<td width="300">'.$langs->trans("Box").'</td>';
|
||||||
print '<td>'.$langs->trans("Note").'/'.$langs->trans("Parameters").'</td>';
|
print '<td>'.$langs->trans("Note").'/'.$langs->trans("Parameters").'</td>';
|
||||||
print '<td align="center" width="160">'.$langs->trans("ActiveOn").'</td>';
|
print '<td align="center" width="160">'.$langs->trans("ActiveOn").'</td>';
|
||||||
print '<td align="center" width="60" colspan="2">'.$langs->trans("Position").'</td>';
|
print '<td align="center" width="60" colspan="2">'.$langs->trans("PositionByDefault").'</td>';
|
||||||
print '<td align="center" width="80">'.$langs->trans("Disable").'</td>';
|
print '<td align="center" width="80">'.$langs->trans("Disable").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$sql = "SELECT b.rowid, b.box_id, b.position, d.name, d.file, d.note";
|
$sql = "SELECT b.rowid, b.box_id, b.position,";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
$sql.= " d.name, d.file, d.note";
|
||||||
$sql .= " where b.box_id = d.rowid";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
||||||
$sql .= " ORDER by position, box_order";
|
$sql.= " WHERE b.box_id = d.rowid";
|
||||||
|
$sql.= " AND b.fk_user=0";
|
||||||
|
$sql.= " ORDER by position, box_order";
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -66,7 +66,7 @@ class InfoBox
|
|||||||
if ($user->id && $user->conf->$confuserzone)
|
if ($user->id && $user->conf->$confuserzone)
|
||||||
{
|
{
|
||||||
// Recupere liste des boites d'un user si ce dernier a sa propre liste
|
// Recupere liste des boites d'un user si ce dernier a sa propre liste
|
||||||
$sql = "SELECT b.rowid, b.box_id,";
|
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, b.fk_user,";
|
||||||
$sql.= " d.file, d.note";
|
$sql.= " d.file, d.note";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
||||||
$sql.= " WHERE b.box_id = d.rowid";
|
$sql.= " WHERE b.box_id = d.rowid";
|
||||||
@@ -86,6 +86,11 @@ class InfoBox
|
|||||||
$boxname=eregi_replace('\.php$','',$obj->file);
|
$boxname=eregi_replace('\.php$','',$obj->file);
|
||||||
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$boxname.".php");
|
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$boxname.".php");
|
||||||
$box=new $boxname($this->db,$obj->note);
|
$box=new $boxname($this->db,$obj->note);
|
||||||
|
$box->rowid=$obj->rowid;
|
||||||
|
$box->box_id=$obj->box_id;
|
||||||
|
$box->position=$obj->position;
|
||||||
|
$box->box_order=$obj->box_order;
|
||||||
|
$box->fk_user=$obj->fk_user;
|
||||||
$boxes[$j]=$box;
|
$boxes[$j]=$box;
|
||||||
$j++;
|
$j++;
|
||||||
}
|
}
|
||||||
@@ -99,7 +104,7 @@ class InfoBox
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Recupere liste des boites active par defaut pour tous
|
// Recupere liste des boites active par defaut pour tous
|
||||||
$sql = "SELECT b.rowid, b.box_id,";
|
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, b.fk_user,";
|
||||||
$sql.= " d.file, d.note";
|
$sql.= " d.file, d.note";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
||||||
$sql.= " WHERE b.box_id = d.rowid";
|
$sql.= " WHERE b.box_id = d.rowid";
|
||||||
@@ -119,6 +124,11 @@ class InfoBox
|
|||||||
$boxname=eregi_replace('\.php$','',$obj->file);
|
$boxname=eregi_replace('\.php$','',$obj->file);
|
||||||
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$boxname.".php");
|
include_once(DOL_DOCUMENT_ROOT."/includes/boxes/".$boxname.".php");
|
||||||
$box=new $boxname($this->db,$obj->note);
|
$box=new $boxname($this->db,$obj->note);
|
||||||
|
$box->rowid=$obj->rowid;
|
||||||
|
$box->box_id=$obj->box_id;
|
||||||
|
$box->position=$obj->position;
|
||||||
|
$box->box_order=$obj->box_order;
|
||||||
|
$box->fk_user=$obj->fk_user;
|
||||||
$boxes[$j]=$box;
|
$boxes[$j]=$box;
|
||||||
$j++;
|
$j++;
|
||||||
}
|
}
|
||||||
@@ -132,6 +142,78 @@ class InfoBox
|
|||||||
|
|
||||||
return $boxes;
|
return $boxes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Sauvegarde sequencement des boites pour la zone et le user
|
||||||
|
* \param $zone ID de la zone (0 pour la Homepage, ...)
|
||||||
|
* \param $boxarray Tableau des boites dans le bon ordre
|
||||||
|
* \param $user Objet user
|
||||||
|
* \return int <0 si ko, >= 0 si ok
|
||||||
|
*/
|
||||||
|
function saveboxorder($zone,$boxarray,$user)
|
||||||
|
{
|
||||||
|
dolibarr_syslog("InfoBoxes::saveboxorder zone=$zone user=$user");
|
||||||
|
|
||||||
|
if (! is_object($user) || ! $user->id) return 0;
|
||||||
|
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
// Sauve parametre indiquant que le user a une
|
||||||
|
$confuserzone='MAIN_BOXES_'.$zone;
|
||||||
|
$tab[$confuserzone]=1;
|
||||||
|
if (! dolibarr_set_user_page_param($this->db, $user, '', $tab))
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$this->db->rollback();
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql ="DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
|
$sql.=" WHERE fk_user = ".$user->id;
|
||||||
|
$sql.=" AND position = ".$zone;
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
for ($ii=0, $ni=sizeof($boxarray); $ii < $ni; $ii++)
|
||||||
|
{
|
||||||
|
//print "box_id".$boxarray[$ii]->box_id.'<br>';
|
||||||
|
//print "box_order".$boxarray[$ii]->box_order.'<br>';
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes";
|
||||||
|
$sql.= "(box_id, position, box_order, fk_user)";
|
||||||
|
$sql.= " values (";
|
||||||
|
$sql.= " ".$boxarray[$ii]->box_id.",";
|
||||||
|
$sql.= " ".$zone.",";
|
||||||
|
$sql.= " ".$boxarray[$ii]->box_order.",";
|
||||||
|
$sql.= " ".$user->id;
|
||||||
|
$sql.= ")";
|
||||||
|
$result = $this->db->query($sql);
|
||||||
|
if ($result < 0)
|
||||||
|
{
|
||||||
|
$error++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($error)
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$this->db->rollback();
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -37,9 +37,19 @@ class ModeleBoxes
|
|||||||
{
|
{
|
||||||
var $MAXLENGTHBOX=60; // Mettre 0 pour pas de limite
|
var $MAXLENGTHBOX=60; // Mettre 0 pour pas de limite
|
||||||
|
|
||||||
|
var $db;
|
||||||
var $error='';
|
var $error='';
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* \brief Constructeur
|
||||||
|
*/
|
||||||
|
function ModeleBoxes($DB)
|
||||||
|
{
|
||||||
|
$this->db=$DB;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Renvoi le dernier message d'erreur de cr<63>ation de facture
|
\brief Renvoi le dernier message d'erreur de cr<63>ation de facture
|
||||||
*/
|
*/
|
||||||
@@ -49,6 +59,42 @@ class ModeleBoxes
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Charge une ligne boxe depuis son rowid
|
||||||
|
*/
|
||||||
|
function fetch($rowid)
|
||||||
|
{
|
||||||
|
// Recupere liste des boites d'un user si ce dernier a sa propre liste
|
||||||
|
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, b.fk_user";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b";
|
||||||
|
$sql.= " WHERE b.rowid = ".$rowid;
|
||||||
|
dolibarr_syslog("ModeleBoxes::fetch rowid=".$rowid);
|
||||||
|
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
if ($obj)
|
||||||
|
{
|
||||||
|
$this->rowid=$obj->rowid;
|
||||||
|
$this->box_id=$obj->box_id;
|
||||||
|
$this->position=$obj->position;
|
||||||
|
$this->box_order=$obj->box_order;
|
||||||
|
$this->fk_user=$obj->fk_user;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Methode standard d'affichage des boites
|
\brief Methode standard d'affichage des boites
|
||||||
\param $head tableau des caract<63>ristiques du titre
|
\param $head tableau des caract<63>ristiques du titre
|
||||||
@@ -91,7 +137,7 @@ class ModeleBoxes
|
|||||||
print img_picto($langs->trans("Move"),'uparrow','style="cursor:move;"');
|
print img_picto($langs->trans("Move"),'uparrow','style="cursor:move;"');
|
||||||
print '</td></tr></table>';
|
print '</td></tr></table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|||||||
@@ -491,11 +491,42 @@ print '</td></tr></table>';
|
|||||||
$boxarray=$infobox->listboxes("0",$user); // 0=valeur pour la page accueil
|
$boxarray=$infobox->listboxes("0",$user); // 0=valeur pour la page accueil
|
||||||
$boxjavascriptids=array();
|
$boxjavascriptids=array();
|
||||||
|
|
||||||
|
// Gestion deplacement des boxes
|
||||||
if (eregi('boxobject_([0-9]+)',$_GET["switchfrom"],$regfrom)
|
if (eregi('boxobject_([0-9]+)',$_GET["switchfrom"],$regfrom)
|
||||||
&& eregi('boxto_([0-9]+)',$_GET["switchto"],$regto))
|
&& eregi('boxto_([0-9]+)',$_GET["switchto"],$regto))
|
||||||
{
|
{
|
||||||
//print "Modif ordre box: ".$regfrom[1]." <-> ".$regto[1];
|
/*
|
||||||
// print_r($boxarray);
|
print "Modif ordre box: ";
|
||||||
|
print $boxarray[$regfrom[1]]->box_id."(".$boxarray[$regfrom[1]]->box_order.")";
|
||||||
|
print " <-> ";
|
||||||
|
print $boxarray[$regto[1]]->box_id."(".$boxarray[$regto[1]]->box_order.")";
|
||||||
|
print "<br>\n";
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Permutation boites
|
||||||
|
$switchii=$boxarray[$regto[1]];
|
||||||
|
$boxarray[$regto[1]]=$boxarray[$regfrom[1]];
|
||||||
|
$boxarray[$regfrom[1]]=$switchii;
|
||||||
|
|
||||||
|
// Permutation box_order
|
||||||
|
$switchbox_order=$boxarray[$regto[1]]->box_order;
|
||||||
|
$boxarray[$regto[1]]->box_order=$boxarray[$regfrom[1]]->box_order;
|
||||||
|
$boxarray[$regfrom[1]]->box_order=$switchbox_order;
|
||||||
|
|
||||||
|
/*
|
||||||
|
print "Modif ordre box: ";
|
||||||
|
print $boxarray[$regfrom[1]]->box_id."(".$boxarray[$regfrom[1]]->box_order.")";
|
||||||
|
print " <-> ";
|
||||||
|
print $boxarray[$regto[1]]->box_id."(".$boxarray[$regto[1]]->box_order.")";
|
||||||
|
print "<br>\n";
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Sauvegarde nouvel ordre pour l'utilisateur
|
||||||
|
$result=$infobox->saveboxorder("0",$boxarray,$user);
|
||||||
|
if ($result < 0)
|
||||||
|
{
|
||||||
|
dolibarr_print_error($db,$infobox->error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -563,9 +594,10 @@ if ($conf->use_ajax && $conf->browser->firefox && $conf->global->MAIN_SHOW_DEVEL
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Juste pour <20>viter bug IE qui r<>organise mal div pr<70>c<EFBFBD>dents si celui-ci absent
|
// Juste pour <20>viter bug IE qui r<>organise mal div pr<70>c<EFBFBD>dents si celui-ci absent
|
||||||
print '<div class="tabsAction">';
|
if (! $conf->browser->firefox)
|
||||||
print ' ';
|
{
|
||||||
print '</div>';
|
print '<div class="tabsAction"> </div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ CurrentDolibarrLanguage=Dolibarr current language
|
|||||||
OSEnv=OS Environment
|
OSEnv=OS Environment
|
||||||
Box=Box
|
Box=Box
|
||||||
Boxes=Boxes
|
Boxes=Boxes
|
||||||
|
PositionByDefault=Default order
|
||||||
|
Position=Order
|
||||||
System=System
|
System=System
|
||||||
SystemInfo=System informations
|
SystemInfo=System informations
|
||||||
SystemTools=System tools
|
SystemTools=System tools
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ CurrentDolibarrLanguage=Langue Dolibarr courante
|
|||||||
OSEnv=Environnement OS
|
OSEnv=Environnement OS
|
||||||
Box=Bo<42>te
|
Box=Bo<42>te
|
||||||
Boxes=Bo<42>tes
|
Boxes=Bo<42>tes
|
||||||
|
PositionByDefault=Position par d<>faut
|
||||||
|
Position=Ordre
|
||||||
System=Syst<73>me
|
System=Syst<73>me
|
||||||
SystemInfo=Infos Syst<73>me
|
SystemInfo=Infos Syst<73>me
|
||||||
SystemTools=Outils Syst<73>me
|
SystemTools=Outils Syst<73>me
|
||||||
|
|||||||
@@ -369,6 +369,57 @@ function dolibarr_del_const($db, $name)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
\brief Sauvegarde parametrage personnel
|
||||||
|
\param db Handler d'acc<63>s base
|
||||||
|
\param user Objet utilisateur
|
||||||
|
\param url Si defini, on sauve parametre du tableau tab dont cl<63> = sortfield, sortorder, begin et page
|
||||||
|
Si non defini on sauve tous parametres du tableau tab
|
||||||
|
\param tab Tableau (cl<63>=>valeur) des param<61>tres <20> sauvegarder
|
||||||
|
\return int <0 si ko, >0 si ok
|
||||||
|
*/
|
||||||
|
function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
|
||||||
|
{
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
|
// On efface param<61>tres anciens
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
||||||
|
$sql.= " WHERE fk_user = ".$user->id;
|
||||||
|
if ($url) $sql.=" AND page='".$url."'";
|
||||||
|
else $sql.=" AND page=''";
|
||||||
|
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
||||||
|
|
||||||
|
$resql=$db->query($sql);
|
||||||
|
if (! $resql)
|
||||||
|
{
|
||||||
|
dolibarr_print_error($db);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($tab as $key=>$value)
|
||||||
|
{
|
||||||
|
// On positionne nouveaux param<61>tres
|
||||||
|
if ($value && (! $url || in_array($key,array('sortfield','sortorder','begin','page'))))
|
||||||
|
{
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."user_param(fk_user,page,param,value)";
|
||||||
|
$sql.= " VALUES (".$user->id.",";
|
||||||
|
if ($url) $sql.= " '".urlencode($url)."',";
|
||||||
|
else $sql.= " '',";
|
||||||
|
$sql.= " '".$key."','".addslashes($value)."');";
|
||||||
|
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
||||||
|
|
||||||
|
$db->query($sql);
|
||||||
|
|
||||||
|
$user->page_param[$key] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Formattage des nombres
|
\brief Formattage des nombres
|
||||||
\param ca valeur a formater
|
\param ca valeur a formater
|
||||||
@@ -603,10 +654,10 @@ function img_object($alt, $object)
|
|||||||
\param picto Nom de l'image a afficher
|
\param picto Nom de l'image a afficher
|
||||||
\return string Retourne tag img
|
\return string Retourne tag img
|
||||||
*/
|
*/
|
||||||
function img_picto($alt, $picto)
|
function img_picto($alt, $picto, $options='')
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf,$langs;
|
||||||
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/'.$picto.'.png" border="0" alt="'.$alt.'" title="'.$alt.'">';
|
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/'.$picto.'.png" border="0" alt="'.$alt.'" title="'.$alt.'"'.($options?' '.$options:'').'>';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1261,51 +1312,6 @@ function doliMoveFileUpload($src_file, $dest_file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
\brief Sauvegarde parametrage personnel
|
|
||||||
\param db Handler d'acc<63>s base
|
|
||||||
\param user Objet utilisateur
|
|
||||||
\param url Si defini, on sauve parametre du tableau tab dont cl<63> = sortfield, sortorder, begin et page
|
|
||||||
Si non defini on sauve tous parametres du tableau tab
|
|
||||||
\param tab Tableau (cl<63>=>valeur) des param<61>tres <20> sauvegarder
|
|
||||||
*/
|
|
||||||
function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
|
|
||||||
{
|
|
||||||
$db->begin();
|
|
||||||
|
|
||||||
// On efface param<61>tres anciens
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
|
||||||
$sql.= " WHERE fk_user = ".$user->id;
|
|
||||||
if ($url) $sql.=" AND page='".$url."'";
|
|
||||||
else $sql.=" AND page=''";
|
|
||||||
$sql.=";";
|
|
||||||
$resql=$db->query($sql);
|
|
||||||
if (! $resql)
|
|
||||||
{
|
|
||||||
dolibarr_print_error($db);
|
|
||||||
}
|
|
||||||
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
|
||||||
|
|
||||||
foreach ($tab as $key=>$value)
|
|
||||||
{
|
|
||||||
// On positionne nouveaux param<61>tres
|
|
||||||
if ($value && (! $url || in_array($key,array('sortfield','sortorder','begin','page'))))
|
|
||||||
{
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."user_param(fk_user,page,param,value)";
|
|
||||||
$sql.= " VALUES (".$user->id.",";
|
|
||||||
if ($url) $sql.= " '".urlencode($url)."',";
|
|
||||||
else $sql.= " '',";
|
|
||||||
$sql.= " '".$key."','".addslashes($value)."');";
|
|
||||||
dolibarr_syslog("functions.inc.php::dolibarr_set_user_page_param $sql");
|
|
||||||
$db->query($sql);
|
|
||||||
|
|
||||||
$user->page_param[$key] = $value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$db->commit();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Transcodage de francs en euros
|
\brief Transcodage de francs en euros
|
||||||
\param zonein zone de depart
|
\param zonein zone de depart
|
||||||
|
|||||||
Reference in New Issue
Block a user