40 if (empty($conf->global->MAIN_FEATURES_LEVEL) || $conf->global->MAIN_FEATURES_LEVEL < 2)
44 27 =>
'AccountancyHome'
51 3 =>
'thirdpartiesindex',
55 7 =>
'commercialindex',
62 14 =>
'receptionindex',
63 15 =>
'activityindex',
64 16 =>
'proposalindex',
66 18 =>
'orderssuppliersindex',
67 19 =>
'contractindex',
68 20 =>
'interventionindex',
69 21 =>
'suppliersproposalsindex',
70 22 =>
'donationindex',
71 23 =>
'specialexpensesindex',
72 24 =>
'expensereportindex',
74 26 =>
'opensurveyindex',
75 27 =>
'AccountancyHome'
91 public static function listBoxes($db, $mode, $zone, $user = null, $excludelist = array(), $includehidden = 1)
97 $confuserzone =
'MAIN_BOXES_'.$zone;
98 if ($mode ==
'activated')
100 $sql =
"SELECT b.rowid, b.position, b.box_order, b.fk_user,";
101 $sql .=
" d.rowid as box_id, d.file, d.note, d.tms";
102 $sql .=
" FROM ".MAIN_DB_PREFIX.
"boxes as b, ".MAIN_DB_PREFIX.
"boxes_def as d";
103 $sql .=
" WHERE b.box_id = d.rowid";
104 $sql .=
" AND b.entity IN (0,".$conf->entity.
")";
105 if ($zone >= 0) $sql .=
" AND b.position = ".$zone;
106 if (is_object($user)) $sql .=
" AND b.fk_user IN (0,".$user->id.
")";
107 else $sql .=
" AND b.fk_user = 0";
108 $sql .=
" ORDER BY b.box_order";
111 $sql =
"SELECT d.rowid as box_id, d.file, d.note, d.tms";
112 $sql .=
" FROM ".MAIN_DB_PREFIX.
"boxes_def as d";
113 $sql .=
" WHERE d.entity IN (0,".$conf->entity.
")";
116 dol_syslog(get_class().
"::listBoxes get default box list for mode=".$mode.
" userid=".(is_object($user) ? $user->id :
'').
"", LOG_DEBUG);
117 $resql = $db->query($sql);
120 $num = $db->num_rows(
$resql);
124 $obj = $db->fetch_object(
$resql);
126 if (!in_array($obj->box_id, $excludelist))
129 if (preg_match(
'/^([^@]+)@([^@]+)$/i', $obj->file, $regs))
131 $boxname = preg_replace(
'/\.php$/i',
'', $regs[1]);
133 $relsourcefile =
"/".$module.
"/core/boxes/".$boxname.
".php";
135 $boxname = preg_replace(
'/\.php$/i',
'', $obj->file);
136 $relsourcefile =
"/core/boxes/".$boxname.
".php";
145 if (class_exists($boxname))
147 $box =
new $boxname($db, $obj->note);
151 $box->rowid = (empty($obj->rowid) ?
'' : $obj->rowid);
152 $box->id = (empty($obj->box_id) ?
'' : $obj->box_id);
153 $box->position = ($obj->position ==
'' ?
'' : $obj->position);
154 $box->box_order = (empty($obj->box_order) ?
'' : $obj->box_order);
155 $box->fk_user = (empty($obj->fk_user) ? 0 : $obj->fk_user);
156 $box->sourcefile = $relsourcefile;
157 $box->class = $boxname;
159 if ($mode ==
'activated' && !is_object($user))
161 if (is_numeric($box->box_order))
163 if ($box->box_order % 2 == 1) $box->box_order =
'A'.$box->box_order;
164 elseif ($box->box_order % 2 == 0) $box->box_order =
'B'.$box->box_order;
168 $box->box_id = (empty($obj->box_id) ?
'' : $obj->box_id);
169 $box->note = (empty($obj->note) ?
'' : $obj->note);
173 $enabled = $box->enabled;
174 if (isset($box->depends) && count($box->depends) > 0)
176 foreach ($box->depends as $moduleelem)
178 $arrayelem = explode(
'|', $moduleelem);
180 foreach ($arrayelem as $module)
182 $tmpmodule = preg_replace(
'/@[^@]+/',
'', $module);
183 if (!empty($conf->$tmpmodule->enabled)) $tmpenabled = 1;
186 if (empty($tmpenabled))
196 if ($enabled && ($includehidden || empty($box->hidden))) $boxes[] = $box;
199 dol_syslog(
"Failed to load box '".$boxname.
"' into file '".$relsourcefile.
"'", LOG_WARNING);
206 return array(
'error'=>$db->lasterror());
222 public static function saveboxorder($db, $zone, $boxorder, $userid = 0)
228 require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
230 dol_syslog(get_class().
"::saveboxorder zone=".$zone.
" userid=".$userid);
232 if (!$userid || $userid == 0)
return 0;
234 $user =
new User($db);
241 $confuserzone =
'MAIN_BOXES_'.$zone;
242 $tab[$confuserzone] = 1;
245 $error = $db->lasterror();
251 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"boxes";
252 $sql .=
" WHERE entity = ".$conf->entity;
253 $sql .=
" AND fk_user = ".$userid;
254 $sql .=
" AND position = ".$zone;
256 dol_syslog(get_class().
"::saveboxorder", LOG_DEBUG);
257 $result = $db->query($sql);
260 $colonnes = explode(
'-', $boxorder);
261 foreach ($colonnes as $collist)
263 $part = explode(
':', $collist);
266 dol_syslog(get_class().
"::saveboxorder column=".$colonne.
' list='.$list);
269 $listarray = explode(
',', $list);
270 foreach ($listarray as $id)
276 $ii = sprintf(
'%02d', $i);
278 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"boxes";
279 $sql .=
"(box_id, position, box_order, fk_user, entity)";
282 $sql .=
" ".$zone.
",";
283 $sql .=
" '".$db->escape($colonne.$ii).
"',";
284 $sql .=
" ".$userid.
",";
285 $sql .=
" ".$conf->entity;
288 dol_syslog(get_class().
"::saveboxorder", LOG_DEBUG);
289 $result = $db->query($sql);
if(!function_exists('dol_getprefix')) dol_include_once($relpath, $classname= '')
Make an include_once using default root and alternate root if it fails.
static getListOfPagesForBoxes()
Name of positions (See below)
Class to manage Dolibarr users.
static saveboxorder($db, $zone, $boxorder, $userid=0)
Save order of boxes for area and user.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename= '', $restricttologhandler= '', $logcontext=null)
Write log message into outputs.
static listBoxes($db, $mode, $zone, $user=null, $excludelist=array(), $includehidden=1)
Return array of boxes qualified for area and user.
Class to manage boxes on pages.
dol_set_user_param($db, $conf, &$user, $tab)
Save personnal parameter.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.