29 require_once DOL_DOCUMENT_ROOT.
'/core/class/menubase.class.php';
44 function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = 0, $mode =
'')
46 global $user, $conf, $langs, $mysoc;
47 global $dolibarr_main_db_name;
49 $mainmenu = (empty($_SESSION[
"mainmenu"]) ?
'' : $_SESSION[
"mainmenu"]);
50 $leftmenu = (empty($_SESSION[
"leftmenu"]) ?
'' : $_SESSION[
"leftmenu"]);
53 $listofmodulesforexternal = explode(
',', $conf->global->MAIN_MODULES_FOR_EXTERNAL);
64 if ($mode !=
'jmobile' && $mode !=
'topnb' && $usemenuhider && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
66 $classname =
'class="tmenu menuhider"';
69 $menu->add(
'#', (!empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE) ?
'<span class="fa fa-bars"></span>' :
''), 0, $showmode, $atarget,
"xxx",
'', 0, $id, $idsel, $classname);
77 'link' =>
'/index.php?mainmenu=home&leftmenu=home',
78 'title' => (!empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE) ?
'<span class="fa fa-home"></span>' :
"Home"),
80 'enabled' => $showmode = 1,
87 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"home") ?
'class="tmenusel"' :
'class="tmenu"',
89 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"home") ? 0 : 1),
90 'loadLangs' => array(),
91 'submenus' => array(),
96 'enabled' => (!empty($conf->adherent->enabled)),
97 'perms' => (!empty($user->rights->adherent->lire)),
98 'module' =>
'adherent'
102 'link' =>
'/adherents/index.php?mainmenu=members&leftmenu=',
103 'title' =>
"MenuMembers",
105 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
106 'target' => $atarget,
107 'mainmenu' =>
"members",
111 'idsel' =>
'members',
112 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"members") ?
'class="tmenusel"' :
'class="tmenu"',
114 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"members") ? 0 : 1),
115 'loadLangs' => array(),
116 'submenus' => array(),
121 'enabled'=> ((!empty($conf->societe->enabled) &&
122 (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
124 || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled))
126 'perms'=> (!empty($user->rights->societe->lire) || !empty($user->rights->fournisseur->lire)),
127 'module'=>
'societe|fournisseur'
130 'name' =>
'Companies',
131 'link' =>
'/societe/index.php?mainmenu=companies&leftmenu=',
132 'title' =>
"ThirdParties",
134 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
135 'target' => $atarget,
136 'mainmenu' =>
"companies",
140 'idsel' =>
'companies',
141 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"companies") ?
'class="tmenusel"' :
'class="tmenu"',
143 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"companies") ? 0 : 1),
144 'loadLangs' => array(
"companies",
"suppliers"),
145 'submenus' => array(),
150 'enabled'=> (!empty($conf->product->enabled) || !empty($conf->service->enabled) || !empty($conf->expedition->enabled)),
151 'perms'=> (!empty($user->rights->produit->lire) || !empty($user->rights->service->lire) || !empty($user->rights->expedition->lire)),
152 'module'=>
'product|service'
155 'name' =>
'Products',
156 'link' =>
'/product/index.php?mainmenu=products&leftmenu=',
157 'title' => (!empty($conf->product->enabled) && !empty($conf->service->enabled))
158 ? (array(
"TMenuProducts",
" | ",
"TMenuServices"))
159 : (!empty($conf->product->enabled) ?
"TMenuProducts" :
"TMenuServices"),
161 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
162 'target' => $atarget,
163 'mainmenu' =>
"products",
167 'idsel' =>
'products',
168 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"products") ?
'class="tmenusel"' :
'class="tmenu"',
170 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"products") ? 0 : 1),
171 'loadLangs' => array(
"products"),
172 'submenus' => array(),
177 'enabled'=>(!empty($conf->bom->enabled) || !empty($conf->mrp->enabled)),
178 'perms'=>(!empty($user->rights->bom->read) || !empty($user->rights->mrp->read)),
182 'name' =>
'TMenuMRP',
183 'link' =>
'/mrp/index.php?mainmenu=mrp&leftmenu=',
184 'title' =>
"TMenuMRP",
186 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
187 'target' => $atarget,
193 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"mrp") ?
'class="tmenusel"' :
'class="tmenu"',
195 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"mrp") ? 0 : 1),
196 'loadLangs' => array(
"mrp"),
197 'submenus' => array(),
202 'enabled'=> (!empty($conf->projet->enabled) ? 1 : 0),
203 'perms'=> (!empty($user->rights->projet->lire) ? 1 : 0),
208 'link' =>
'/projet/index.php?mainmenu=project&leftmenu=',
209 'title' => (empty($conf->global->PROJECT_USE_OPPORTUNITIES) || $conf->global->PROJECT_USE_OPPORTUNITIES == 2)
210 ? (($conf->global->PROJECT_USE_OPPORTUNITIES == 2) ?
"Leads" :
"Projects")
213 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
214 'target' => $atarget,
215 'mainmenu' =>
"project",
219 'idsel' =>
'project',
220 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"project") ?
'class="tmenusel"' :
'class="tmenu"',
222 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"project") ? 0 : 1),
223 'loadLangs' => array(
"projects"),
224 'submenus' => array(),
229 'enabled'=>(!empty($conf->propal->enabled)
230 || !empty($conf->commande->enabled)
231 || !empty($conf->supplier_proposal->enabled)
232 || !empty($conf->supplier_order->enabled)
233 || !empty($conf->contrat->enabled)
234 || !empty($conf->ficheinter->enabled)
236 'perms'=>(!empty($user->rights->propal->lire)
237 || !empty($user->rights->commande->lire)
238 || !empty($user->rights->supplier_proposal->lire)
239 || !empty($user->rights->supplier_order->lire)
240 || !empty($user->rights->contrat->lire)
241 || !empty($user->rights->ficheinter->lire)
243 'module'=>
'propal|commande|supplier_proposal|supplier_order|contrat|ficheinter'
246 $onlysupplierorder = !empty($user->rights->fournisseur->commande->lire) &&
247 empty($user->rights->propal->lire) &&
248 empty($user->rights->commande->lire) &&
249 empty($user->rights->supplier_order->lire) &&
250 empty($user->rights->supplier_proposal->lire) &&
251 empty($user->rights->contrat->lire) &&
252 empty($user->rights->ficheinter->lire);
255 'name' =>
'Commercial',
256 'link' => ($onlysupplierorder ?
'/fourn/commande/index.php?mainmenu=commercial&leftmenu=' :
'/comm/index.php?mainmenu=commercial&leftmenu='),
257 'title' =>
"Commercial",
259 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
260 'target' => $atarget,
261 'mainmenu' =>
"commercial",
265 'idsel' =>
'commercial',
266 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"commercial") ?
'class="tmenusel"' :
'class="tmenu"',
268 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"commercial") ? 0 : 1),
269 'loadLangs' => array(
"commercial"),
270 'submenus' => array(),
275 'enabled'=>(!empty($conf->facture->enabled) ||
276 !empty($conf->don->enabled) ||
277 !empty($conf->tax->enabled) ||
278 !empty($conf->salaries->enabled) ||
279 !empty($conf->supplier_invoice->enabled) ||
280 !empty($conf->loan->enabled) ||
281 !empty($conf->margins->enabled)
283 'perms'=>(!empty($user->rights->facture->lire) || !empty($user->rights->don->contact->lire)
284 || !empty($user->rights->tax->charges->lire) || !empty($user->rights->salaries->read)
285 || !empty($user->rights->fournisseur->facture->lire) || !empty($user->rights->loan->read) || !empty($user->rights->margins->liretous)),
286 'module'=>
'facture|supplier_invoice|don|tax|salaries|loan'
290 'link' =>
'/compta/index.php?mainmenu=billing&leftmenu=',
291 'title' =>
"MenuFinancial",
293 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
294 'target' => $atarget,
295 'mainmenu' =>
"billing",
299 'idsel' =>
'billing',
300 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"billing") ?
'class="tmenusel"' :
'class="tmenu"',
302 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"billing") ? 0 : 1),
303 'loadLangs' => array(
"compta"),
304 'submenus' => array(),
309 'enabled'=>(!empty($conf->banque->enabled) || !empty($conf->prelevement->enabled)),
310 'perms'=>(!empty($user->rights->banque->lire) || !empty($user->rights->prelevement->lire) || !empty($user->rights->paymentbybanktransfer->read)),
311 'module'=>
'banque|prelevement|paymentbybanktransfer'
315 'link' =>
'/compta/bank/list.php?mainmenu=bank&leftmenu=',
316 'title' =>
"MenuBankCash",
318 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
319 'target' => $atarget,
320 'mainmenu' =>
"bank",
325 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"bank") ?
'class="tmenusel"' :
'class="tmenu"',
328 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"bank") ? 0 : 1),
330 'loadLangs' => array(
"compta",
"banks"),
331 'submenus' => array(),
336 'enabled'=>(!empty($conf->comptabilite->enabled) || !empty($conf->accounting->enabled) || !empty($conf->asset->enabled) || !empty($conf->intracommreport->enabled)),
337 'perms'=>(!empty($user->rights->compta->resultat->lire) || !empty($user->rights->accounting->mouvements->lire) || !empty($user->rights->asset->read) || !empty($user->rights->intracommreport->read)),
338 'module'=>
'comptabilite|accounting|asset|intracommreport'
341 'name' =>
'Accounting',
342 'link' =>
'/accountancy/index.php?mainmenu=accountancy&leftmenu=',
343 'title' =>
"MenuAccountancy",
345 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
346 'target' => $atarget,
347 'mainmenu' =>
"accountancy",
351 'idsel' =>
'accountancy',
352 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"accountancy") ?
'class="tmenusel"' :
'class="tmenu"',
355 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"accountancy") ? 0 : 1),
357 'loadLangs' => array(
"compta",
"accountancy",
"assets",
"intracommreport"),
358 'submenus' => array(),
363 'enabled'=>(!empty($conf->hrm->enabled) || (!empty($conf->holiday->enabled)) || !empty($conf->deplacement->enabled) || !empty($conf->expensereport->enabled) || !empty($conf->recruitment->enabled)),
364 'perms'=>(!empty($user->rights->hrm->employee->read) || !empty($user->rights->holiday->write) || !empty($user->rights->deplacement->lire) || !empty($user->rights->expensereport->lire) || !empty($user->rights->recruitment->recruitmentjobposition->read)),
365 'module'=>
'hrm|holiday|deplacement|expensereport|recruitment'
370 'link' =>
'/hrm/index.php?mainmenu=hrm&leftmenu=',
373 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
374 'target' => $atarget,
380 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"hrm") ?
'class="tmenusel"' :
'class="tmenu"',
383 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"hrm") ? 0 : 1),
385 'loadLangs' => array(
"holiday"),
386 'submenus' => array(),
397 'link' =>
'/core/tools.php?mainmenu=tools&leftmenu=',
400 'enabled' => $showmode =
isVisibleToUserType($type_user, $tmpentry, $listofmodulesforexternal),
401 'target' => $atarget,
402 'mainmenu' =>
"tools",
407 'classname' => $classname = ($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"tools") ?
'class="tmenusel"' :
'class="tmenu"',
410 'session' => (($_SESSION[
"mainmenu"] && $_SESSION[
"mainmenu"] ==
"tools") ? 0 : 1),
412 'loadLangs' => array(
"other"),
413 'submenus' => array(),
417 foreach ($menu_arr as $key => $smenu) {
418 $smenu = (object) $smenu;
420 if ($smenu->enabled) {
421 if ($smenu->session) {
422 $_SESSION[
'idmenu'] =
'';
426 if (!empty($smenu->loadLangs)) {
427 $langs->loadLangs($smenu->loadLangs);
432 if (is_array($smenu->title)) {
433 foreach ($smenu->title as $item) {
434 $mtitle .= $langs->trans($item);
437 $mtitle = $langs->trans($smenu->title);
440 $menu->add($smenu->link, $mtitle, $smenu->level, $smenu->enabled, $smenu->target, $smenu->mainmenu, $smenu->leftmenu, $smenu->position, $smenu->id, $smenu->idsel, $smenu->classname, $smenu->prefix);
445 $menuArbo =
new Menubase($db,
'eldy');
447 $newTabMenu = $menuArbo->menuTopCharger(
'',
'', $type_user,
'eldy', $tabMenu);
449 $num = count($newTabMenu);
450 for ($i = 0; $i < $num; $i++) {
452 $idsel = (empty($newTabMenu[$i][
'mainmenu']) ?
'none' : $newTabMenu[$i][
'mainmenu']);
457 $url = $shorturl = $newTabMenu[$i][
'url'];
458 if (!preg_match(
"/^(http:\/\/|https:\/\/)/i", $newTabMenu[$i][
'url'])) {
459 $tmp = explode(
'?', $newTabMenu[$i][
'url'], 2);
460 $url = $shorturl = $tmp[0];
461 $param = (isset($tmp[1]) ? $tmp[1] :
'');
463 if (!preg_match(
'/mainmenu/i', $param) || !preg_match(
'/leftmenu/i', $param)) {
464 $param .= ($param ?
'&' :
'').
'mainmenu='.$newTabMenu[$i][
'mainmenu'].
'&leftmenu=';
471 $shorturl = preg_replace(
'/^'.preg_quote(DOL_URL_ROOT,
'/').
'/',
'', $shorturl);
476 if ($showmode == 1) {
478 if (!empty($_SESSION[
'idmenu']) && $newTabMenu[$i][
'rowid'] == $_SESSION[
'idmenu']) {
479 $classname =
'class="tmenusel"';
480 } elseif (!empty($_SESSION[
"mainmenu"]) && $newTabMenu[$i][
'mainmenu'] == $_SESSION[
"mainmenu"]) {
481 $classname =
'class="tmenusel"';
483 $classname =
'class="tmenu"';
485 } elseif ($showmode == 2) {
486 $classname =
'class="tmenu"';
491 $newTabMenu[$i][
'titre'],
494 ($newTabMenu[$i][
'target'] ? $newTabMenu[$i][
'target'] : $atarget),
495 ($newTabMenu[$i][
'mainmenu'] ? $newTabMenu[$i][
'mainmenu'] : $newTabMenu[$i][
'rowid']),
496 ($newTabMenu[$i][
'leftmenu'] ? $newTabMenu[$i][
'leftmenu'] :
''),
497 $newTabMenu[$i][
'position'],
509 if (empty($conf->global->MAIN_MENU_INVERT) && empty($noout) && !empty($conf->global->MAIN_SHOW_LOGO) && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
511 $mysoc->logo_squarred_mini = (empty($conf->global->MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI) ?
'' : $conf->global->MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI);
513 $logoContainerAdditionalClass =
'backgroundforcompanylogo';
514 if (!empty($conf->global->MAIN_INFO_SOCIETE_LOGO_NO_BACKGROUND)) {
515 $logoContainerAdditionalClass =
'';
518 if (!empty($mysoc->logo_squarred_mini) && is_readable($conf->mycompany->dir_output.
'/logos/thumbs/'.$mysoc->logo_squarred_mini)) {
519 $urllogo = DOL_URL_ROOT.
'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode(
'logos/thumbs/'.$mysoc->logo_squarred_mini);
526 $urllogo = DOL_URL_ROOT.
'/theme/dolibarr_512x512_white.png';
527 $logoContainerAdditionalClass =
'';
529 $title = $langs->trans(
"GoIntoSetupToChangeLogo");
531 print "\n".
'<!-- Show logo on menu -->'.
"\n";
534 print '<div class="center '.$logoContainerAdditionalClass.
' menulogocontainer"><img class="mycompany" title="'.
dol_escape_htmltag($title).
'" alt="" src="'.$urllogo.
'" style="max-width: 100px"></div>'.
"\n";
540 foreach ($menu->liste as $menuval) {
542 print_text_menu_entry($menuval[
'titre'], $menuval[
'enabled'], (($menuval[
'url'] !=
'#' && !preg_match(
'/^(http:\/\/|https:\/\/)/i', $menuval[
'url'])) ? DOL_URL_ROOT:
'').$menuval[
'url'], $menuval[
'id'], $menuval[
'idsel'], $menuval[
'classname'], ($menuval[
'target'] ? $menuval[
'target'] : $atarget));
567 print '<div class="tmenudiv">';
568 print '<ul role="navigation" class="tmenu"'.(empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ?
'' :
' title="Top menu"').
'>';
582 print '<li '.$classname.
' id="mainmenutd_'.$idsel.
'">';
584 print '<div class="tmenucenter">';
604 if ($showmode == 1) {
605 print '<a class="tmenuimage" tabindex="-1" href="'.$url.
'"'.($atarget ?
' target="'.$atarget.
'"' :
'').
' title="'.
dol_escape_htmltag($text).
'">';
606 print '<div class="'.$id.
' '.$idsel.
' topmenuimage"><span class="'.$id.
' tmenuimage" id="mainmenuspan_'.$idsel.
'"></span></div>';
608 print '<a '.$classname.
' id="mainmenua_'.$idsel.
'" href="'.$url.
'"'.($atarget ?
' target="'.$atarget.
'"' :
'').
' title="'.
dol_escape_htmltag($text).
'">';
609 print '<span class="mainmenuaspan">';
613 } elseif ($showmode == 2) {
614 print '<div class="'.$id.
' '.$idsel.
' topmenuimage tmenudisabled"><span class="'.$id.
'" id="mainmenuspan_'.$idsel.
'"></span></div>';
615 print '<a class="tmenudisabled" id="mainmenua_'.$idsel.
'" href="#" title="'.
dol_escape_htmltag($langs->trans(
"NotAllowed")).
'">';
616 print '<span class="mainmenuaspan">';
667 function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabMenu, &$menu, $noout = 0, $forcemainmenu =
'', $forceleftmenu =
'', $moredata = null, $type_user = 0)
669 global $user, $conf, $langs, $dolibarr_main_db_name, $mysoc;
675 $mainmenu = ($forcemainmenu ? $forcemainmenu : $_SESSION[
"mainmenu"]);
676 $leftmenu = ($forceleftmenu ?
'' : (empty($_SESSION[
"leftmenu"]) ?
'none' : $_SESSION[
"leftmenu"]));
680 if (is_array($moredata) && !empty($moredata[
'searchform'])) {
682 print "<!-- Begin SearchForm -->\n";
683 print '<div id="blockvmenusearch" class="blockvmenusearch">'.
"\n";
684 print $moredata[
'searchform'];
686 print "<!-- End SearchForm -->\n";
689 if (is_array($moredata) && !empty($moredata[
'bookmarks'])) {
691 print "<!-- Begin Bookmarks -->\n";
692 print '<div id="blockvmenubookmarks" class="blockvmenubookmarks">'.
"\n";
693 print $moredata[
'bookmarks'];
695 print "<!-- End Bookmarks -->\n";
708 if ($mainmenu ==
'home') {
709 $langs->load(
"users");
712 $newmenu->add(
"/index.php?mainmenu=home&leftmenu=home", $langs->trans(
"MyDashboard"), 0, 1,
'', $mainmenu,
'home', 0,
'',
'',
'',
'<i class="fa fa-bar-chart fa-fw paddingright"></i>');
715 $newmenu->add(
"/admin/index.php?mainmenu=home&leftmenu=setup", $langs->trans(
"Setup"), 0, $user->admin,
'', $mainmenu,
'setup', 0,
'',
'',
'',
'<i class="fa fa-wrench fa-fw paddingright"></i>');
717 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"setup") {
719 $langs->loadLangs(array(
"admin",
"help"));
722 if (empty($conf->global->MAIN_INFO_SOCIETE_NOM) || empty($conf->global->MAIN_INFO_SOCIETE_COUNTRY)) {
723 $langs->load(
"errors");
724 $warnpicto =
img_warning($langs->trans(
"WarningMandatorySetupNotComplete"));
726 $newmenu->add(
"/admin/company.php?mainmenu=home", $langs->trans(
"MenuCompanySetup").$warnpicto, 1);
729 if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING) ? 1 : $conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) {
730 $langs->load(
"errors");
731 $warnpicto =
img_warning($langs->trans(
"WarningMandatorySetupNotComplete"));
733 $newmenu->add(
"/admin/modules.php?mainmenu=home", $langs->trans(
"Modules").$warnpicto, 1);
734 $newmenu->add(
"/admin/ihm.php?mainmenu=home", $langs->trans(
"GUISetup"), 1);
735 $newmenu->add(
"/admin/menus.php?mainmenu=home", $langs->trans(
"Menus"), 1);
737 $newmenu->add(
"/admin/translation.php?mainmenu=home", $langs->trans(
"Translation"), 1);
738 $newmenu->add(
"/admin/defaultvalues.php?mainmenu=home", $langs->trans(
"DefaultValues"), 1);
739 $newmenu->add(
"/admin/boxes.php?mainmenu=home", $langs->trans(
"Boxes"), 1);
740 $newmenu->add(
"/admin/delais.php?mainmenu=home", $langs->trans(
"MenuWarnings"), 1);
741 $newmenu->add(
"/admin/security_other.php?mainmenu=home", $langs->trans(
"Security"), 1);
742 $newmenu->add(
"/admin/limits.php?mainmenu=home", $langs->trans(
"MenuLimits"), 1);
743 $newmenu->add(
"/admin/pdf.php?mainmenu=home", $langs->trans(
"PDF"), 1);
746 if ($conf->global->MAIN_MAIL_SENDMODE ==
'mail' && empty($conf->global->MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP)) {
747 $langs->load(
"errors");
748 $warnpicto =
img_warning($langs->trans(
"WarningPHPMailD"));
750 if (in_array($conf->global->MAIN_MAIL_SENDMODE, array(
'smtps',
'swiftmail')) && empty($conf->global->MAIN_MAIL_SMTP_SERVER)) {
751 $langs->load(
"errors");
752 $warnpicto =
img_warning($langs->trans(
"ErrorSetupOfEmailsNotComplete"));
755 $newmenu->add(
"/admin/mails.php?mainmenu=home", $langs->trans(
"Emails").$warnpicto, 1);
756 $newmenu->add(
"/admin/sms.php?mainmenu=home", $langs->trans(
"SMS"), 1);
757 $newmenu->add(
"/admin/dict.php?mainmenu=home", $langs->trans(
"Dictionary"), 1);
758 $newmenu->add(
"/admin/const.php?mainmenu=home", $langs->trans(
"OtherSetup"), 1);
762 $newmenu->add(
"/admin/tools/index.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"AdminTools"), 0, $user->admin,
'', $mainmenu,
'admintools', 0,
'',
'',
'',
'<i class="fa fa-server fa-fw paddingright"></i>');
763 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^admintools/', $leftmenu)) {
765 $langs->loadLangs(array(
'admin',
'help'));
767 $newmenu->add(
'/admin/system/dolibarr.php?mainmenu=home&leftmenu=admintools_info', $langs->trans(
'InfoDolibarr'), 1);
768 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
'admintools_info') {
769 $newmenu->add(
'/admin/system/modules.php?mainmenu=home&leftmenu=admintools_info', $langs->trans(
'Modules'), 2);
770 $newmenu->add(
'/admin/triggers.php?mainmenu=home&leftmenu=admintools_info', $langs->trans(
'Triggers'), 2);
771 $newmenu->add(
'/admin/system/filecheck.php?mainmenu=home&leftmenu=admintools_info', $langs->trans(
'FileCheck'), 2);
773 $newmenu->add(
'/admin/system/browser.php?mainmenu=home&leftmenu=admintools', $langs->trans(
'InfoBrowser'), 1);
774 $newmenu->add(
'/admin/system/os.php?mainmenu=home&leftmenu=admintools', $langs->trans(
'InfoOS'), 1);
775 $newmenu->add(
'/admin/system/web.php?mainmenu=home&leftmenu=admintools', $langs->trans(
'InfoWebServer'), 1);
776 $newmenu->add(
'/admin/system/phpinfo.php?mainmenu=home&leftmenu=admintools', $langs->trans(
'InfoPHP'), 1);
777 $newmenu->add(
'/admin/system/database.php?mainmenu=home&leftmenu=admintools', $langs->trans(
'InfoDatabase'), 1);
778 if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
779 $newmenu->add(
"/admin/system/perf.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"InfoPerf"), 1);
780 $newmenu->add(
"/admin/system/security.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"InfoSecurity"), 1);
782 $newmenu->add(
"/admin/tools/dolibarr_export.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"Backup"), 1);
783 $newmenu->add(
"/admin/tools/dolibarr_import.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"Restore"), 1);
784 $newmenu->add(
"/admin/tools/update.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"MenuUpgrade"), 1);
785 $newmenu->add(
"/admin/tools/purge.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"Purge"), 1);
786 $newmenu->add(
"/admin/tools/listevents.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"Audit"), 1);
787 $newmenu->add(
"/admin/tools/listsessions.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"Sessions"), 1);
788 $newmenu->add(
'/admin/system/about.php?mainmenu=home&leftmenu=admintools', $langs->trans(
'ExternalResources'), 1);
790 if (!empty($conf->product->enabled) || !empty($conf->service->enabled)) {
791 $langs->load(
"products");
792 $newmenu->add(
"/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools", $langs->trans(
"ProductVatMassChange"), 1, $user->admin);
796 $newmenu->add(
"/user/home.php?leftmenu=users", $langs->trans(
"MenuUsersAndGroups"), 0, $user->rights->user->user->lire,
'', $mainmenu,
'users', 0,
'',
'',
'',
'<i class="fa fa-users fa-fw paddingright"></i>');
797 if ($user->rights->user->user->lire) {
798 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"users") {
799 $newmenu->add(
"", $langs->trans(
"Users"), 1, $user->rights->user->user->lire || $user->admin);
800 $newmenu->add(
"/user/card.php?leftmenu=users&action=create", $langs->trans(
"NewUser"), 2, ($user->rights->user->user->creer || $user->admin) && !(!empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE),
'',
'home');
801 $newmenu->add(
"/user/list.php?leftmenu=users", $langs->trans(
"ListOfUsers"), 2, $user->rights->user->user->lire || $user->admin);
802 $newmenu->add(
"/user/hierarchy.php?leftmenu=users", $langs->trans(
"HierarchicView"), 2, $user->rights->user->user->lire || $user->admin);
803 if (!empty($conf->categorie->enabled)) {
804 $langs->load(
"categories");
805 $newmenu->add(
"/categories/index.php?leftmenu=users&type=7", $langs->trans(
"UsersCategoriesShort"), 2, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
807 $newmenu->add(
"", $langs->trans(
"Groups"), 1, ($user->rights->user->user->lire || $user->admin) && !(!empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE));
808 $newmenu->add(
"/user/group/card.php?leftmenu=users&action=create", $langs->trans(
"NewGroup"), 2, (($conf->global->MAIN_USE_ADVANCED_PERMS ? $user->rights->user->group_advance->write : $user->rights->user->user->creer) || $user->admin) && !(!empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE));
809 $newmenu->add(
"/user/group/list.php?leftmenu=users", $langs->trans(
"ListOfGroups"), 2, (($conf->global->MAIN_USE_ADVANCED_PERMS ? $user->rights->user->group_advance->read : $user->rights->user->user->lire) || $user->admin) && !(!empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE));
818 if ($mainmenu ==
'companies') {
820 if (!empty($conf->societe->enabled)) {
821 $langs->load(
"companies");
822 $newmenu->add(
"/societe/index.php?leftmenu=thirdparties", $langs->trans(
"ThirdParty"), 0, $user->rights->societe->lire,
'', $mainmenu,
'thirdparties');
824 if ($user->rights->societe->creer) {
825 $newmenu->add(
"/societe/card.php?action=create", $langs->trans(
"MenuNewThirdParty"), 1);
826 if (!$conf->use_javascript_ajax) {
827 $newmenu->add(
"/societe/card.php?action=create&private=1", $langs->trans(
"MenuNewPrivateIndividual"), 1);
832 $newmenu->add(
"/societe/list.php?leftmenu=thirdparties", $langs->trans(
"List"), 1);
835 if (!empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
836 $langs->load(
"commercial");
837 $newmenu->add(
"/societe/list.php?type=p&leftmenu=prospects", $langs->trans(
"ListProspectsShort"), 2, $user->rights->societe->lire,
'', $mainmenu,
'prospects');
845 $newmenu->add(
"/societe/card.php?leftmenu=prospects&action=create&type=p", $langs->trans(
"MenuNewProspect"), 3, $user->rights->societe->creer);
849 if (!empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
850 $langs->load(
"commercial");
851 $newmenu->add(
"/societe/list.php?type=c&leftmenu=customers", $langs->trans(
"ListCustomersShort"), 2, $user->rights->societe->lire,
'', $mainmenu,
'customers');
853 $newmenu->add(
"/societe/card.php?leftmenu=customers&action=create&type=c", $langs->trans(
"MenuNewCustomer"), 3, $user->rights->societe->creer);
857 if (!empty($conf->societe->enabled) && ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) || !empty($conf->supplier_proposal->enabled))) {
858 $langs->load(
"suppliers");
859 $newmenu->add(
"/societe/list.php?type=f&leftmenu=suppliers", $langs->trans(
"ListSuppliersShort"), 2, ($user->rights->fournisseur->lire),
'', $mainmenu,
'suppliers');
860 $newmenu->add(
"/societe/card.php?leftmenu=suppliers&action=create&type=f", $langs->trans(
"MenuNewSupplier"), 3, $user->rights->societe->creer && ($user->rights->fournisseur->lire));
864 if (!empty($conf->categorie->enabled)) {
865 $langs->load(
"categories");
866 if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
868 $menutoshow = $langs->trans(
"CustomersProspectsCategoriesShort");
869 if (!empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
870 $menutoshow = $langs->trans(
"CustomersCategoriesShort");
872 if (!empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
873 $menutoshow = $langs->trans(
"ProspectsCategoriesShort");
875 $newmenu->add(
"/categories/index.php?leftmenu=cat&type=2", $menutoshow, 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
878 if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) {
879 $newmenu->add(
"/categories/index.php?leftmenu=catfournish&type=1", $langs->trans(
"SuppliersCategoriesShort"), 1, $user->rights->categorie->lire);
884 $newmenu->add(
"/societe/index.php?leftmenu=thirdparties", (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans(
"Contacts") : $langs->trans(
"ContactsAddresses")), 0, $user->rights->societe->contact->lire,
'', $mainmenu,
'contacts');
885 $newmenu->add(
"/contact/card.php?leftmenu=contacts&action=create", (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans(
"NewContact") : $langs->trans(
"NewContactAddress")), 1, $user->rights->societe->contact->creer);
886 $newmenu->add(
"/contact/list.php?leftmenu=contacts", $langs->trans(
"List"), 1, $user->rights->societe->contact->lire);
887 if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
888 $newmenu->add(
"/contact/list.php?leftmenu=contacts&type=p", $langs->trans(
"Prospects"), 2, $user->rights->societe->contact->lire);
890 if (empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) {
891 $newmenu->add(
"/contact/list.php?leftmenu=contacts&type=c", $langs->trans(
"Customers"), 2, $user->rights->societe->contact->lire);
893 if (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) {
894 $newmenu->add(
"/contact/list.php?leftmenu=contacts&type=f", $langs->trans(
"Suppliers"), 2, $user->rights->societe->contact->lire);
896 $newmenu->add(
"/contact/list.php?leftmenu=contacts&type=o", $langs->trans(
"ContactOthers"), 2, $user->rights->societe->contact->lire);
900 if (!empty($conf->categorie->enabled)) {
901 $langs->load(
"categories");
903 $newmenu->add(
"/categories/index.php?leftmenu=catcontact&type=4", $langs->trans(
"ContactCategoriesShort"), 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
910 if ($mainmenu ==
'commercial') {
911 $langs->load(
"companies");
914 if (!empty($conf->propal->enabled)) {
915 $langs->load(
"propal");
916 $newmenu->add(
"/comm/propal/index.php?leftmenu=propals", $langs->trans(
"Proposals"), 0, $user->rights->propale->lire,
'', $mainmenu,
'propals', 100);
917 $newmenu->add(
"/comm/propal/card.php?action=create&leftmenu=propals", $langs->trans(
"NewPropal"), 1, $user->rights->propale->creer);
918 $newmenu->add(
"/comm/propal/list.php?leftmenu=propals", $langs->trans(
"List"), 1, $user->rights->propale->lire);
919 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"propals") {
920 $newmenu->add(
"/comm/propal/list.php?leftmenu=propals&search_status=0", $langs->trans(
"PropalsDraft"), 2, $user->rights->propale->lire);
921 $newmenu->add(
"/comm/propal/list.php?leftmenu=propals&search_status=1", $langs->trans(
"PropalsOpened"), 2, $user->rights->propale->lire);
922 $newmenu->add(
"/comm/propal/list.php?leftmenu=propals&search_status=2", $langs->trans(
"PropalStatusSigned"), 2, $user->rights->propale->lire);
923 $newmenu->add(
"/comm/propal/list.php?leftmenu=propals&search_status=3", $langs->trans(
"PropalStatusNotSigned"), 2, $user->rights->propale->lire);
924 $newmenu->add(
"/comm/propal/list.php?leftmenu=propals&search_status=4", $langs->trans(
"PropalStatusBilled"), 2, $user->rights->propale->lire);
927 $newmenu->add(
"/comm/propal/stats/index.php?leftmenu=propals", $langs->trans(
"Statistics"), 1, $user->rights->propale->lire);
931 if (!empty($conf->commande->enabled)) {
932 $langs->load(
"orders");
933 $newmenu->add(
"/commande/index.php?leftmenu=orders", $langs->trans(
"CustomersOrders"), 0, $user->rights->commande->lire,
'', $mainmenu,
'orders', 200);
934 $newmenu->add(
"/commande/card.php?action=create&leftmenu=orders", $langs->trans(
"NewOrder"), 1, $user->rights->commande->creer);
935 $newmenu->add(
"/commande/list.php?leftmenu=orders", $langs->trans(
"List"), 1, $user->rights->commande->lire);
936 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"orders") {
937 $newmenu->add(
"/commande/list.php?leftmenu=orders&search_status=0", $langs->trans(
"StatusOrderDraftShort"), 2, $user->rights->commande->lire);
938 $newmenu->add(
"/commande/list.php?leftmenu=orders&search_status=1", $langs->trans(
"StatusOrderValidated"), 2, $user->rights->commande->lire);
939 if (!empty($conf->expedition->enabled)) {
940 $newmenu->add(
"/commande/list.php?leftmenu=orders&search_status=2", $langs->trans(
"StatusOrderSentShort"), 2, $user->rights->commande->lire);
942 $newmenu->add(
"/commande/list.php?leftmenu=orders&search_status=3", $langs->trans(
"StatusOrderDelivered"), 2, $user->rights->commande->lire);
944 $newmenu->add(
"/commande/list.php?leftmenu=orders&search_status=-1", $langs->trans(
"StatusOrderCanceledShort"), 2, $user->rights->commande->lire);
946 $newmenu->add(
"/commande/stats/index.php?leftmenu=orders", $langs->trans(
"Statistics"), 1, $user->rights->commande->lire);
950 if (!empty($conf->supplier_proposal->enabled)) {
951 $langs->load(
"supplier_proposal");
952 $newmenu->add(
"/supplier_proposal/index.php?leftmenu=propals_supplier", $langs->trans(
"SupplierProposalsShort"), 0, $user->rights->supplier_proposal->lire,
'', $mainmenu,
'propals_supplier', 300);
953 $newmenu->add(
"/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals", $langs->trans(
"SupplierProposalNew"), 1, $user->rights->supplier_proposal->creer);
954 $newmenu->add(
"/supplier_proposal/list.php?leftmenu=supplier_proposals", $langs->trans(
"List"), 1, $user->rights->supplier_proposal->lire);
955 $newmenu->add(
"/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier", $langs->trans(
"Statistics"), 1, $user->rights->supplier_proposal->lire);
959 if (!empty($conf->supplier_order->enabled)) {
960 $langs->load(
"orders");
961 $newmenu->add(
"/fourn/commande/index.php?leftmenu=orders_suppliers", $langs->trans(
"SuppliersOrders"), 0, $user->rights->fournisseur->commande->lire,
'', $mainmenu,
'orders_suppliers', 400);
962 $newmenu->add(
"/fourn/commande/card.php?action=create&leftmenu=orders_suppliers", $langs->trans(
"NewOrder"), 1, $user->rights->fournisseur->commande->creer);
963 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers", $langs->trans(
"List"), 1, $user->rights->fournisseur->commande->lire);
965 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"orders_suppliers") {
966 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=0", $langs->trans(
"StatusSupplierOrderDraftShort"), 2, $user->rights->fournisseur->commande->lire);
967 if (empty($conf->global->SUPPLIER_ORDER_HIDE_VALIDATED)) {
968 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=1", $langs->trans(
"StatusSupplierOrderValidated"), 2, $user->rights->fournisseur->commande->lire);
970 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=2", $langs->trans(
"StatusSupplierOrderApprovedShort"), 2, $user->rights->fournisseur->commande->lire);
971 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=3", $langs->trans(
"StatusSupplierOrderOnProcessShort"), 2, $user->rights->fournisseur->commande->lire);
972 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=4", $langs->trans(
"StatusSupplierOrderReceivedPartiallyShort"), 2, $user->rights->fournisseur->commande->lire);
973 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=5", $langs->trans(
"StatusSupplierOrderReceivedAll"), 2, $user->rights->fournisseur->commande->lire);
974 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=6,7", $langs->trans(
"StatusSupplierOrderCanceled"), 2, $user->rights->fournisseur->commande->lire);
975 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders_suppliers&statut=9", $langs->trans(
"StatusSupplierOrderRefused"), 2, $user->rights->fournisseur->commande->lire);
980 $newmenu->add(
"/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier", $langs->trans(
"Statistics"), 1, $user->rights->fournisseur->commande->lire);
984 if (!empty($conf->contrat->enabled)) {
985 $langs->load(
"contracts");
986 $newmenu->add(
"/contrat/index.php?leftmenu=contracts", $langs->trans(
"ContractsSubscriptions"), 0, $user->rights->contrat->lire,
'', $mainmenu,
'contracts', 2000);
987 $newmenu->add(
"/contrat/card.php?action=create&leftmenu=contracts", $langs->trans(
"NewContractSubscription"), 1, $user->rights->contrat->creer);
988 $newmenu->add(
"/contrat/list.php?leftmenu=contracts", $langs->trans(
"List"), 1, $user->rights->contrat->lire);
989 $newmenu->add(
"/contrat/services_list.php?leftmenu=contracts", $langs->trans(
"MenuServices"), 1, $user->rights->contrat->lire);
990 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"contracts") {
991 $newmenu->add(
"/contrat/services_list.php?leftmenu=contracts&mode=0", $langs->trans(
"MenuInactiveServices"), 2, $user->rights->contrat->lire);
992 $newmenu->add(
"/contrat/services_list.php?leftmenu=contracts&mode=4", $langs->trans(
"MenuRunningServices"), 2, $user->rights->contrat->lire);
993 $newmenu->add(
"/contrat/services_list.php?leftmenu=contracts&mode=4&filter=expired", $langs->trans(
"MenuExpiredServices"), 2, $user->rights->contrat->lire);
994 $newmenu->add(
"/contrat/services_list.php?leftmenu=contracts&mode=5", $langs->trans(
"MenuClosedServices"), 2, $user->rights->contrat->lire);
999 if (!empty($conf->ficheinter->enabled)) {
1000 $langs->load(
"interventions");
1001 $newmenu->add(
"/fichinter/index.php?leftmenu=ficheinter", $langs->trans(
"Interventions"), 0, $user->rights->ficheinter->lire,
'', $mainmenu,
'ficheinter', 2200);
1002 $newmenu->add(
"/fichinter/card.php?action=create&leftmenu=ficheinter", $langs->trans(
"NewIntervention"), 1, $user->rights->ficheinter->creer,
'',
'',
'', 201);
1003 $newmenu->add(
"/fichinter/list.php?leftmenu=ficheinter", $langs->trans(
"List"), 1, $user->rights->ficheinter->lire,
'',
'',
'', 202);
1004 if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
1005 $newmenu->add(
"/fichinter/card-rec.php?leftmenu=ficheinter", $langs->trans(
"ListOfTemplates"), 1, $user->rights->ficheinter->lire,
'',
'',
'', 203);
1007 $newmenu->add(
"/fichinter/stats/index.php?leftmenu=ficheinter", $langs->trans(
"Statistics"), 1, $user->rights->ficheinter->lire);
1015 if ($mainmenu ==
'billing') {
1016 $langs->load(
"companies");
1019 if (!empty($conf->facture->enabled)) {
1020 $langs->load(
"bills");
1021 $newmenu->add(
"/compta/facture/index.php?leftmenu=customers_bills", $langs->trans(
"BillsCustomers"), 0, $user->rights->facture->lire,
'', $mainmenu,
'customers_bills');
1022 $newmenu->add(
"/compta/facture/card.php?action=create", $langs->trans(
"NewBill"), 1, $user->rights->facture->creer);
1023 $newmenu->add(
"/compta/facture/list.php?leftmenu=customers_bills", $langs->trans(
"List"), 1, $user->rights->facture->lire,
'', $mainmenu,
'customers_bills_list');
1025 if ($usemenuhider || empty($leftmenu) || preg_match(
'/customers_bills(|_draft|_notpaid|_paid|_canceled)$/', $leftmenu)) {
1026 $newmenu->add(
"/compta/facture/list.php?leftmenu=customers_bills_draft&search_status=0", $langs->trans(
"BillShortStatusDraft"), 2, $user->rights->facture->lire);
1027 $newmenu->add(
"/compta/facture/list.php?leftmenu=customers_bills_notpaid&search_status=1", $langs->trans(
"BillShortStatusNotPaid"), 2, $user->rights->facture->lire);
1028 $newmenu->add(
"/compta/facture/list.php?leftmenu=customers_bills_paid&search_status=2", $langs->trans(
"BillShortStatusPaid"), 2, $user->rights->facture->lire);
1029 $newmenu->add(
"/compta/facture/list.php?leftmenu=customers_bills_canceled&search_status=3", $langs->trans(
"BillShortStatusCanceled"), 2, $user->rights->facture->lire);
1031 $newmenu->add(
"/compta/facture/invoicetemplate_list.php?leftmenu=customers_bills_templates", $langs->trans(
"ListOfTemplates"), 1, $user->rights->facture->creer,
'', $mainmenu,
'customers_bills_templates');
1033 $newmenu->add(
"/compta/paiement/list.php?leftmenu=customers_bills_payment", $langs->trans(
"Payments"), 1, $user->rights->facture->lire,
'', $mainmenu,
'customers_bills_payment');
1035 if (!empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) {
1036 $newmenu->add(
"/compta/paiement/tovalidate.php?leftmenu=customers_bills_tovalid", $langs->trans(
"MenuToValid"), 2, $user->rights->facture->lire,
'', $mainmenu,
'customer_bills_tovalid');
1038 $newmenu->add(
"/compta/paiement/rapport.php?leftmenu=customers_bills_reports", $langs->trans(
"Reportings"), 2, $user->rights->facture->lire,
'', $mainmenu,
'customers_bills_reports');
1040 $newmenu->add(
"/compta/facture/stats/index.php?leftmenu=customers_bills_stats", $langs->trans(
"Statistics"), 1, $user->rights->facture->lire,
'', $mainmenu,
'customers_bills_stats');
1044 if (!empty($conf->societe->enabled) && !empty($conf->supplier_invoice->enabled)) {
1045 $langs->load(
"bills");
1046 $newmenu->add(
"/fourn/facture/index.php?leftmenu=suppliers_bills", $langs->trans(
"BillsSuppliers"), 0, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills');
1047 $newmenu->add(
"/fourn/facture/card.php?leftmenu=suppliers_bills&action=create", $langs->trans(
"NewBill"), 1, $user->rights->fournisseur->facture->creer,
'', $mainmenu,
'suppliers_bills_create');
1048 $newmenu->add(
"/fourn/facture/list.php?leftmenu=suppliers_bills", $langs->trans(
"List"), 1, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_list');
1050 if ($usemenuhider || empty($leftmenu) || preg_match(
'/suppliers_bills/', $leftmenu)) {
1051 $newmenu->add(
"/fourn/facture/list.php?leftmenu=suppliers_bills_draft&search_status=0", $langs->trans(
"BillShortStatusDraft"), 2, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_draft');
1052 $newmenu->add(
"/fourn/facture/list.php?leftmenu=suppliers_bills_notpaid&search_status=1", $langs->trans(
"BillShortStatusNotPaid"), 2, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_notpaid');
1053 $newmenu->add(
"/fourn/facture/list.php?leftmenu=suppliers_bills_paid&search_status=2", $langs->trans(
"BillShortStatusPaid"), 2, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_paid');
1056 $newmenu->add(
"/fourn/paiement/list.php?leftmenu=suppliers_bills_payment", $langs->trans(
"Payments"), 1, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_payment');
1058 $newmenu->add(
"/fourn/facture/rapport.php?leftmenu=suppliers_bills_report", $langs->trans(
"Reportings"), 2, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_report');
1060 $newmenu->add(
"/compta/facture/stats/index.php?mode=supplier&leftmenu=suppliers_bills_stats", $langs->trans(
"Statistics"), 1, $user->rights->fournisseur->facture->lire,
'', $mainmenu,
'suppliers_bills_stats');
1064 if (!empty($conf->commande->enabled)) {
1065 $langs->load(
"orders");
1066 if (!empty($conf->facture->enabled)) {
1067 $newmenu->add(
"/commande/list.php?leftmenu=orders&search_status=-3&billed=0&contextpage=billableorders", $langs->trans(
"MenuOrdersToBill2"), 0, $user->rights->commande->lire,
'', $mainmenu,
'orders');
1073 if (!empty($conf->supplier_invoice->enabled)) {
1074 if (!empty($conf->global->SUPPLIER_MENU_ORDER_RECEIVED_INTO_INVOICE)) {
1075 $langs->load(
"supplier");
1076 $newmenu->add(
"/fourn/commande/list.php?leftmenu=orders&search_status=5&billed=0", $langs->trans(
"MenuOrdersSupplierToBill"), 0, $user->rights->commande->lire,
'', $mainmenu,
'orders');
1083 if (!empty($conf->don->enabled)) {
1084 $langs->load(
"donations");
1085 $newmenu->add(
"/don/index.php?leftmenu=donations&mainmenu=billing", $langs->trans(
"Donations"), 0, $user->rights->don->lire,
'', $mainmenu,
'donations');
1086 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"donations") {
1087 $newmenu->add(
"/don/card.php?leftmenu=donations&action=create", $langs->trans(
"NewDonation"), 1, $user->rights->don->creer);
1088 $newmenu->add(
"/don/list.php?leftmenu=donations", $langs->trans(
"List"), 1, $user->rights->don->lire);
1094 if (!empty($conf->tax->enabled)) {
1095 $newmenu->add(
"/compta/charges/index.php?leftmenu=tax&mainmenu=billing", $langs->trans(
"MenuTaxesAndSpecialExpenses"), 0, $user->rights->tax->charges->lire,
'', $mainmenu,
'tax');
1097 $newmenu->add(
"/compta/sociales/list.php?leftmenu=tax_social", $langs->trans(
"MenuSocialContributions"), 1, $user->rights->tax->charges->lire);
1098 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_social/i', $leftmenu)) {
1099 $newmenu->add(
"/compta/sociales/card.php?leftmenu=tax_social&action=create", $langs->trans(
"MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer);
1100 $newmenu->add(
"/compta/sociales/list.php?leftmenu=tax_social", $langs->trans(
"List"), 2, $user->rights->tax->charges->lire);
1101 $newmenu->add(
"/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=billing", $langs->trans(
"Payments"), 2, $user->rights->tax->charges->lire);
1104 if (empty($conf->global->TAX_DISABLE_VAT_MENUS)) {
1107 $newmenu->add(
"/compta/tva/list.php?leftmenu=tax_vat&mainmenu=billing", $langs->transcountry(
"VAT", $mysoc->country_code), 1, $user->rights->tax->charges->lire,
'', $mainmenu,
'tax_vat');
1108 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_vat/i', $leftmenu)) {
1109 $newmenu->add(
"/compta/tva/card.php?leftmenu=tax_vat&action=create", $langs->trans(
"New"), 2, $user->rights->tax->charges->creer);
1110 $newmenu->add(
"/compta/tva/list.php?leftmenu=tax_vat", $langs->trans(
"List"), 2, $user->rights->tax->charges->lire);
1111 $newmenu->add(
"/compta/tva/index.php?leftmenu=tax_vat", $langs->trans(
"ReportByMonth"), 2, $user->rights->tax->charges->lire);
1112 $newmenu->add(
"/compta/tva/clients.php?leftmenu=tax_vat", $langs->trans(
"ReportByCustomers"), 2, $user->rights->tax->charges->lire);
1113 $newmenu->add(
"/compta/tva/quadri_detail.php?leftmenu=tax_vat", $langs->trans(
"ReportByQuarter"), 2, $user->rights->tax->charges->lire);
1117 if ($mysoc->useLocalTax(1) && (isset($mysoc->localtax1_assuj) && $mysoc->localtax1_assuj ==
"1")) {
1118 $newmenu->add(
"/compta/localtax/list.php?leftmenu=tax_1_vat&mainmenu=billing&localTaxType=1", $langs->transcountry(
"LT1", $mysoc->country_code), 1, $user->rights->tax->charges->lire);
1119 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_1_vat/i', $leftmenu)) {
1120 $newmenu->add(
"/compta/localtax/card.php?leftmenu=tax_1_vat&action=create&localTaxType=1", $langs->trans(
"New"), 2, $user->rights->tax->charges->creer);
1121 $newmenu->add(
"/compta/localtax/list.php?leftmenu=tax_1_vat&localTaxType=1", $langs->trans(
"List"), 2, $user->rights->tax->charges->lire);
1122 $newmenu->add(
"/compta/localtax/index.php?leftmenu=tax_1_vat&localTaxType=1", $langs->trans(
"ReportByMonth"), 2, $user->rights->tax->charges->lire);
1123 $newmenu->add(
"/compta/localtax/clients.php?leftmenu=tax_1_vat&localTaxType=1", $langs->trans(
"ReportByCustomers"), 2, $user->rights->tax->charges->lire);
1124 $newmenu->add(
"/compta/localtax/quadri_detail.php?leftmenu=tax_1_vat&localTaxType=1", $langs->trans(
"ReportByQuarter"), 2, $user->rights->tax->charges->lire);
1128 if ($mysoc->useLocalTax(2) && (isset($mysoc->localtax2_assuj) && $mysoc->localtax2_assuj ==
"1")) {
1129 $newmenu->add(
"/compta/localtax/list.php?leftmenu=tax_2_vat&mainmenu=billing&localTaxType=2", $langs->transcountry(
"LT2", $mysoc->country_code), 1, $user->rights->tax->charges->lire);
1130 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_2_vat/i', $leftmenu)) {
1131 $newmenu->add(
"/compta/localtax/card.php?leftmenu=tax_2_vat&action=create&localTaxType=2", $langs->trans(
"New"), 2, $user->rights->tax->charges->creer);
1132 $newmenu->add(
"/compta/localtax/list.php?leftmenu=tax_2_vat&localTaxType=2", $langs->trans(
"List"), 2, $user->rights->tax->charges->lire);
1133 $newmenu->add(
"/compta/localtax/index.php?leftmenu=tax_2_vat&localTaxType=2", $langs->trans(
"ReportByMonth"), 2, $user->rights->tax->charges->lire);
1134 $newmenu->add(
"/compta/localtax/clients.php?leftmenu=tax_2_vat&localTaxType=2", $langs->trans(
"ReportByCustomers"), 2, $user->rights->tax->charges->lire);
1135 $newmenu->add(
"/compta/localtax/quadri_detail.php?leftmenu=tax_2_vat&localTaxType=2", $langs->trans(
"ReportByQuarter"), 2, $user->rights->tax->charges->lire);
1142 if (!empty($conf->salaries->enabled)) {
1143 $langs->load(
"salaries");
1144 $newmenu->add(
"/salaries/list.php?leftmenu=tax_salary&mainmenu=billing", $langs->trans(
"Salaries"), 0, $user->rights->salaries->read,
'', $mainmenu,
'tax_salary');
1145 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_salary/i', $leftmenu)) {
1146 $newmenu->add(
"/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans(
"NewPayment"), 1, $user->rights->salaries->write);
1147 $newmenu->add(
"/salaries/list.php?leftmenu=tax_salary", $langs->trans(
"Payments"), 1, $user->rights->salaries->read);
1148 $newmenu->add(
"/salaries/stats/index.php?leftmenu=tax_salary", $langs->trans(
"Statistics"), 1, $user->rights->salaries->read);
1153 if (!empty($conf->loan->enabled)) {
1154 $langs->load(
"loan");
1155 $newmenu->add(
"/loan/list.php?leftmenu=tax_loan&mainmenu=billing", $langs->trans(
"Loans"), 0, $user->rights->loan->read,
'', $mainmenu,
'tax_loan');
1156 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_loan/i', $leftmenu)) {
1157 $newmenu->add(
"/loan/card.php?leftmenu=tax_loan&action=create", $langs->trans(
"NewLoan"), 1, $user->rights->loan->write);
1163 if (!empty($conf->banque->enabled) && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)) {
1164 $langs->load(
"banks");
1165 $newmenu->add(
"/compta/bank/various_payment/list.php?leftmenu=tax_various&mainmenu=billing", $langs->trans(
"MenuVariousPayment"), 0, $user->rights->banque->lire,
'', $mainmenu,
'tax_various');
1166 if ($usemenuhider || empty($leftmenu) || preg_match(
'/^tax_various/i', $leftmenu)) {
1167 $newmenu->add(
"/compta/bank/various_payment/card.php?leftmenu=tax_various&action=create", $langs->trans(
"New"), 1, $user->rights->banque->modifier);
1168 $newmenu->add(
"/compta/bank/various_payment/list.php?leftmenu=tax_various", $langs->trans(
"List"), 1, $user->rights->banque->lire);
1176 if ($mainmenu ==
'accountancy') {
1177 $langs->load(
"companies");
1180 if (!empty($conf->accounting->enabled)) {
1181 $permtoshowmenu = (!empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire);
1185 $newmenu->add(
"/accountancy/index.php?leftmenu=accountancy_admin", $langs->trans(
"Setup"), 0, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin', 1);
1186 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_admin/', $leftmenu)) {
1187 $newmenu->add(
"/accountancy/admin/index.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"General"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_general', 10);
1190 if ($conf->global->MAIN_FEATURES_LEVEL > 1) {
1191 $newmenu->add(
"/accountancy/admin/fiscalyear.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"FiscalPeriod"), 1, $user->rights->accounting->fiscalyear->write,
'', $mainmenu,
'fiscalyear', 20);
1194 $newmenu->add(
"/accountancy/admin/journals_list.php?id=35&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"AccountingJournals"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_journal', 30);
1195 $newmenu->add(
"/accountancy/admin/accountmodel.php?id=31&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"Pcg_version"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_chartmodel', 40);
1196 $newmenu->add(
"/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"Chartofaccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_chart', 41);
1197 $newmenu->add(
"/accountancy/admin/subaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"ChartOfSubaccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_chart', 41);
1198 $newmenu->add(
"/accountancy/admin/categories_list.php?id=32&search_country_id=".$mysoc->country_id.
"&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"AccountingCategory"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_chart', 50);
1199 $newmenu->add(
"/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"MenuDefaultAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_default', 60);
1200 if (!empty($conf->banque->enabled)) {
1201 $newmenu->add(
"/compta/bank/list.php?mainmenu=accountancy&leftmenu=accountancy_admin&search_status=-1", $langs->trans(
"MenuBankAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_bank', 70);
1203 if (!empty($conf->facture->enabled) || (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled))) {
1204 $newmenu->add(
"/admin/dict.php?id=10&from=accountancy&search_country_id=".$mysoc->country_id.
"&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"MenuVatAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_default', 80);
1206 if (!empty($conf->tax->enabled)) {
1207 $newmenu->add(
"/admin/dict.php?id=7&from=accountancy&search_country_id=".$mysoc->country_id.
"&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"MenuTaxAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_default', 90);
1209 if (!empty($conf->expensereport->enabled)) {
1210 $newmenu->add(
"/admin/dict.php?id=17&from=accountancy&mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"MenuExpenseReportAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_default', 100);
1212 $newmenu->add(
"/accountancy/admin/productaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"MenuProductsAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_product', 110);
1213 if ($conf->global->MAIN_FEATURES_LEVEL > 1) {
1214 $newmenu->add(
"/accountancy/admin/closure.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"MenuClosureAccounts"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_closure', 120);
1216 $newmenu->add(
"/accountancy/admin/export.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans(
"ExportOptions"), 1, $user->rights->accounting->chartofaccount,
'', $mainmenu,
'accountancy_admin_export', 130);
1220 $newmenu->add(
"/accountancy/index.php?leftmenu=accountancy_transfer", $langs->trans(
"TransferInAccounting"), 0, $user->rights->accounting->bind->write,
'', $mainmenu,
'transfer', 1);
1224 if (!empty($conf->facture->enabled) && empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_SALES)) {
1225 $newmenu->add(
"/accountancy/customer/index.php?leftmenu=accountancy_dispatch_customer&mainmenu=accountancy", $langs->trans(
"CustomersVentilation"), 1, $user->rights->accounting->bind->write,
'', $mainmenu,
'dispatch_customer');
1226 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_dispatch_customer/', $leftmenu)) {
1227 $newmenu->add(
"/accountancy/customer/list.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_customer", $langs->trans(
"ToBind"), 2, $user->rights->accounting->bind->write);
1228 $newmenu->add(
"/accountancy/customer/lines.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_customer", $langs->trans(
"Binded"), 2, $user->rights->accounting->bind->write);
1231 if (!empty($conf->supplier_invoice->enabled) && empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_PURCHASES)) {
1232 $newmenu->add(
"/accountancy/supplier/index.php?leftmenu=accountancy_dispatch_supplier&mainmenu=accountancy", $langs->trans(
"SuppliersVentilation"), 1, $user->rights->accounting->bind->write,
'', $mainmenu,
'dispatch_supplier');
1233 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_dispatch_supplier/', $leftmenu)) {
1234 $newmenu->add(
"/accountancy/supplier/list.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_supplier", $langs->trans(
"ToBind"), 2, $user->rights->accounting->bind->write);
1235 $newmenu->add(
"/accountancy/supplier/lines.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_supplier", $langs->trans(
"Binded"), 2, $user->rights->accounting->bind->write);
1238 if (!empty($conf->expensereport->enabled) && empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS)) {
1239 $newmenu->add(
"/accountancy/expensereport/index.php?leftmenu=accountancy_dispatch_expensereport&mainmenu=accountancy", $langs->trans(
"ExpenseReportsVentilation"), 1, $user->rights->accounting->bind->write,
'', $mainmenu,
'dispatch_expensereport');
1240 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_dispatch_expensereport/', $leftmenu)) {
1241 $newmenu->add(
"/accountancy/expensereport/list.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_expensereport", $langs->trans(
"ToBind"), 2, $user->rights->accounting->bind->write);
1242 $newmenu->add(
"/accountancy/expensereport/lines.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_expensereport", $langs->trans(
"Binded"), 2, $user->rights->accounting->bind->write);
1247 if (!empty($conf->accounting->enabled) && !empty($user->rights->accounting->comptarapport->lire) && $mainmenu ==
'accountancy') {
1248 $newmenu->add(
'', $langs->trans(
"RegistrationInAccounting"), 1, $user->rights->accounting->comptarapport->lire,
'',
'',
'');
1251 $sql =
"SELECT rowid, code, label, nature";
1252 $sql .=
" FROM ".MAIN_DB_PREFIX.
"accounting_journal";
1253 $sql .=
" WHERE entity = ".$conf->entity;
1254 $sql .=
" AND active = 1";
1255 $sql .=
" ORDER BY nature ASC, label DESC";
1257 $resql = $db->query($sql);
1259 $numr = $db->num_rows(
$resql);
1263 while ($i < $numr) {
1264 $objp = $db->fetch_object(
$resql);
1269 if ($objp->nature == 2 && !empty($conf->facture->enabled) && empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_SALES)) {
1272 if ($objp->nature == 3
1273 && (!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled))
1274 && empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_PURCHASES)) {
1275 $nature =
"purchases";
1277 if ($objp->nature == 4 && !empty($conf->banque->enabled)) {
1280 if ($objp->nature == 5 && !empty($conf->expensereport->enabled) && empty($conf->global->ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS)) {
1281 $nature =
"expensereports";
1283 if ($objp->nature == 1) {
1284 $nature =
"various";
1286 if ($objp->nature == 8) {
1287 $nature =
"inventory";
1289 if ($objp->nature == 9) {
1294 if (empty($conf->global->ACCOUNTANCY_SHOW_DEVELOP_JOURNAL)) {
1295 if ($nature ==
'various' || $nature ==
'hasnew' || $nature ==
'inventory') {
1301 $langs->load(
'accountancy');
1302 $journallabel = $langs->transnoentities($objp->label);
1303 $newmenu->add(
'/accountancy/journal/'.$nature.
'journal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal='.$objp->rowid, $journallabel, 2, $user->rights->accounting->comptarapport->lire);
1309 $newmenu->add(
'', $langs->trans(
"NoJournalDefined"), 2, $user->rights->accounting->comptarapport->lire);
1318 $newmenu->add(
"/accountancy/index.php?leftmenu=accountancy_accountancy", $langs->trans(
"MenuAccountancy"), 0, $user->rights->accounting->mouvements->lire,
'', $mainmenu,
'accountancy', 1);
1321 $newmenu->add(
"/accountancy/bookkeeping/balance.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans(
"AccountBalance"), 1, $user->rights->accounting->mouvements->lire);
1324 $newmenu->add(
"/accountancy/bookkeeping/listbyaccount.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans(
"Bookkeeping"), 1, $user->rights->accounting->mouvements->lire);
1327 $newmenu->add(
"/accountancy/bookkeeping/list.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans(
"Journals"), 1, $user->rights->accounting->mouvements->lire);
1330 if (empty($conf->global->ACCOUNTANCY_HIDE_EXPORT_FILES_MENU)) {
1331 $newmenu->add(
"/compta/accounting-files.php?mainmenu=accountancy&leftmenu=accountancy_files", $langs->trans(
"AccountantFiles"), 1, $user->rights->accounting->mouvements->lire);
1335 if (!empty($conf->global->MAIN_FEATURES_LEVEL) && $conf->global->MAIN_FEATURES_LEVEL >= 2) {
1336 $newmenu->add(
"/accountancy/closure/index.php?mainmenu=accountancy&leftmenu=accountancy_closure", $langs->trans(
"MenuAccountancyClosure"), 1, $user->rights->accounting->fiscalyear->write,
'', $mainmenu,
'closure');
1340 $newmenu->add(
"/accountancy/index.php?leftmenu=accountancy_report", $langs->trans(
"Reportings"), 1, $user->rights->accounting->comptarapport->lire,
'', $mainmenu,
'ca');
1342 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_report/', $leftmenu)) {
1343 $newmenu->add(
"/compta/resultat/index.php?leftmenu=accountancy_report", $langs->trans(
"MenuReportInOut"), 2, $user->rights->accounting->comptarapport->lire);
1344 $newmenu->add(
"/compta/resultat/clientfourn.php?leftmenu=accountancy_report", $langs->trans(
"ByPredefinedAccountGroups"), 3, $user->rights->accounting->comptarapport->lire);
1345 $newmenu->add(
"/compta/resultat/result.php?leftmenu=accountancy_report", $langs->trans(
"ByPersonalizedAccountGroups"), 3, $user->rights->accounting->comptarapport->lire);
1348 $modecompta =
'CREANCES-DETTES';
1349 if (!empty($conf->accounting->enabled) && !empty($user->rights->accounting->comptarapport->lire) && $mainmenu ==
'accountancy') {
1350 $modecompta =
'BOOKKEEPING';
1353 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_report/', $leftmenu)) {
1354 $newmenu->add(
"/compta/stats/index.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ReportTurnover"), 2, $user->rights->accounting->comptarapport->lire);
1355 $newmenu->add(
"/compta/stats/casoc.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByCompanies"), 3, $user->rights->accounting->comptarapport->lire);
1356 $newmenu->add(
"/compta/stats/cabyuser.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByUsers"), 3, $user->rights->accounting->comptarapport->lire);
1357 $newmenu->add(
"/compta/stats/cabyprodserv.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByProductsAndServices"), 3, $user->rights->accounting->comptarapport->lire);
1358 $newmenu->add(
"/compta/stats/byratecountry.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByVatRate"), 3, $user->rights->accounting->comptarapport->lire);
1362 $modecompta =
'RECETTES-DEPENSES';
1365 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_report/', $leftmenu)) {
1366 $newmenu->add(
"/compta/stats/index.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ReportTurnoverCollected"), 2, $user->rights->accounting->comptarapport->lire);
1367 $newmenu->add(
"/compta/stats/casoc.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByCompanies"), 3, $user->rights->accounting->comptarapport->lire);
1368 $newmenu->add(
"/compta/stats/cabyuser.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByUsers"), 3, $user->rights->accounting->comptarapport->lire);
1374 $modecompta =
'CREANCES-DETTES';
1375 if (!empty($conf->accounting->enabled) && !empty($user->rights->accounting->comptarapport->lire) && $mainmenu ==
'accountancy') {
1376 $modecompta =
'BOOKKEEPING';
1378 if ($modecompta && $conf->fournisseur->enabled) {
1379 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_report/', $leftmenu)) {
1380 $newmenu->add(
"/compta/stats/supplier_turnover.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ReportPurchaseTurnover"), 2, $user->rights->accounting->comptarapport->lire);
1381 $newmenu->add(
"/compta/stats/supplier_turnover_by_thirdparty.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByCompanies"), 3, $user->rights->accounting->comptarapport->lire);
1382 $newmenu->add(
"/compta/stats/supplier_turnover_by_prodserv.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByProductsAndServices"), 3, $user->rights->accounting->comptarapport->lire);
1386 $modecompta =
'RECETTES-DEPENSES';
1388 if ($modecompta && $conf->fournisseur->enabled) {
1389 if ($usemenuhider || empty($leftmenu) || preg_match(
'/accountancy_report/', $leftmenu)) {
1390 $newmenu->add(
"/compta/stats/supplier_turnover.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ReportPurchaseTurnoverCollected"), 2, $user->rights->accounting->comptarapport->lire);
1391 $newmenu->add(
"/compta/stats/supplier_turnover_by_thirdparty.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans(
"ByCompanies"), 3, $user->rights->accounting->comptarapport->lire);
1397 if (!empty($conf->comptabilite->enabled)) {
1399 if (empty($conf->global->ACCOUNTANCY_HIDE_EXPORT_FILES_MENU)) {
1400 $newmenu->add(
"/compta/accounting-files.php?mainmenu=accountancy&leftmenu=accountancy_files", $langs->trans(
"AccountantFiles"), 0, $user->rights->compta->resultat->lire,
'', $mainmenu,
'files');
1404 $newmenu->add(
"/compta/resultat/index.php?leftmenu=report&mainmenu=accountancy", $langs->trans(
"Reportings"), 0, $user->rights->compta->resultat->lire,
'', $mainmenu,
'ca');
1406 if ($usemenuhider || empty($leftmenu) || preg_match(
'/report/', $leftmenu)) {
1407 $newmenu->add(
"/compta/resultat/index.php?leftmenu=report", $langs->trans(
"MenuReportInOut"), 1, $user->rights->compta->resultat->lire);
1408 $newmenu->add(
"/compta/resultat/clientfourn.php?leftmenu=report", $langs->trans(
"ByCompanies"), 2, $user->rights->compta->resultat->lire);
1413 $newmenu->add(
"/compta/stats/index.php?leftmenu=report", $langs->trans(
"ReportTurnover"), 1, $user->rights->compta->resultat->lire);
1422 $newmenu->add(
"/compta/stats/casoc.php?leftmenu=report", $langs->trans(
"ByCompanies"), 2, $user->rights->compta->resultat->lire);
1423 $newmenu->add(
"/compta/stats/cabyuser.php?leftmenu=report", $langs->trans(
"ByUsers"), 2, $user->rights->compta->resultat->lire);
1424 $newmenu->add(
"/compta/stats/cabyprodserv.php?leftmenu=report", $langs->trans(
"ByProductsAndServices"), 2, $user->rights->compta->resultat->lire);
1425 $newmenu->add(
"/compta/stats/byratecountry.php?leftmenu=report", $langs->trans(
"ByVatRate"), 2, $user->rights->compta->resultat->lire);
1427 $newmenu->add(
"/compta/stats/supplier_turnover.php?leftmenu=accountancy_report", $langs->trans(
"ReportPurchaseTurnover"), 1, $user->rights->compta->resultat->lire);
1428 $newmenu->add(
"/compta/stats/supplier_turnover_by_thirdparty.php?leftmenu=accountancy_report", $langs->trans(
"ByCompanies"), 2, $user->rights->compta->resultat->lire);
1429 $newmenu->add(
"/compta/stats/supplier_turnover_by_prodserv.php?leftmenu=accountancy_report", $langs->trans(
"ByProductsAndServices"), 2, $user->rights->compta->resultat->lire);
1431 $newmenu->add(
"/compta/journal/sellsjournal.php?leftmenu=report", $langs->trans(
"SellsJournal"), 1, $user->rights->compta->resultat->lire,
'',
'',
'', 50);
1432 $newmenu->add(
"/compta/journal/purchasesjournal.php?leftmenu=report", $langs->trans(
"PurchasesJournal"), 1, $user->rights->compta->resultat->lire,
'',
'',
'', 51);
1438 if (!empty($conf->intracommreport->enabled)) {
1439 $newmenu->add(
"/intracommreport/list.php?leftmenu=intracommreport", $langs->trans(
"MenuIntracommReport"), 0, $user->rights->intracommreport->read,
'', $mainmenu,
'intracommreport', 1);
1440 if ($usemenuhider || empty($leftmenu) || preg_match(
'/intracommreport/', $leftmenu)) {
1442 $newmenu->add(
"/intracommreport/card.php?action=create&leftmenu=intracommreport", $langs->trans(
"MenuIntracommReportNew"), 1, $user->rights->intracommreport->write,
'', $mainmenu,
'intracommreport', 1);
1443 $newmenu->add(
"/intracommreport/list.php?leftmenu=intracommreport", $langs->trans(
"MenuIntracommReportList"), 1, $user->rights->intracommreport->read,
'', $mainmenu,
'intracommreport', 1);
1448 if (!empty($conf->asset->enabled)) {
1449 $newmenu->add(
"/asset/list.php?leftmenu=asset&mainmenu=accountancy", $langs->trans(
"MenuAssets"), 0, $user->rights->asset->read,
'', $mainmenu,
'asset');
1450 $newmenu->add(
"/asset/card.php?leftmenu=asset&action=create", $langs->trans(
"MenuNewAsset"), 1, $user->rights->asset->write);
1451 $newmenu->add(
"/asset/list.php?leftmenu=asset&mainmenu=accountancy", $langs->trans(
"MenuListAssets"), 1, $user->rights->asset->read);
1452 $newmenu->add(
"/asset/type.php?leftmenu=asset_type", $langs->trans(
"MenuTypeAssets"), 1, $user->rights->asset->read,
'', $mainmenu,
'asset_type');
1453 if ($usemenuhider || empty($leftmenu) || preg_match(
'/asset_type/', $leftmenu)) {
1454 $newmenu->add(
"/asset/type.php?leftmenu=asset_type&action=create", $langs->trans(
"MenuNewTypeAssets"), 2, $user->rights->asset->setup_advance);
1455 $newmenu->add(
"/asset/type.php?leftmenu=asset_type", $langs->trans(
"MenuListTypeAssets"), 2, $user->rights->asset->read);
1464 if ($mainmenu ==
'bank') {
1466 $langs->loadLangs(array(
"withdrawals",
"banks",
"bills",
"categories"));
1469 if (!empty($conf->banque->enabled)) {
1470 $newmenu->add(
"/compta/bank/list.php?leftmenu=bank&mainmenu=bank", $langs->trans(
"MenuBankCash"), 0, $user->rights->banque->lire,
'', $mainmenu,
'bank');
1472 $newmenu->add(
"/compta/bank/card.php?action=create", $langs->trans(
"MenuNewFinancialAccount"), 1, $user->rights->banque->configurer);
1473 $newmenu->add(
"/compta/bank/list.php?leftmenu=bank&mainmenu=bank", $langs->trans(
"List"), 1, $user->rights->banque->lire,
'', $mainmenu,
'bank');
1474 $newmenu->add(
"/compta/bank/bankentries_list.php", $langs->trans(
"ListTransactions"), 1, $user->rights->banque->lire);
1475 $newmenu->add(
"/compta/bank/budget.php", $langs->trans(
"ListTransactionsByCategory"), 1, $user->rights->banque->lire);
1477 $newmenu->add(
"/compta/bank/transfer.php", $langs->trans(
"MenuBankInternalTransfer"), 1, $user->rights->banque->transfer);
1480 if (!empty($conf->categorie->enabled)) {
1481 $langs->load(
"categories");
1482 $newmenu->add(
"/categories/index.php?type=5", $langs->trans(
"Rubriques"), 1, $user->rights->categorie->creer,
'', $mainmenu,
'tags');
1483 $newmenu->add(
"/compta/bank/categ.php", $langs->trans(
"RubriquesTransactions"), 1, $user->rights->banque->configurer,
'', $mainmenu,
'tags');
1487 if (!empty($conf->prelevement->enabled)) {
1488 $newmenu->add(
"/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank", $langs->trans(
"PaymentByDirectDebit"), 0, $user->rights->prelevement->bons->lire,
'', $mainmenu,
'withdraw');
1490 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"withdraw") {
1491 $newmenu->add(
"/compta/prelevement/create.php?mainmenu=bank", $langs->trans(
"NewStandingOrder"), 1, $user->rights->prelevement->bons->creer);
1493 $newmenu->add(
"/compta/prelevement/orders_list.php?mainmenu=bank", $langs->trans(
"WithdrawalsReceipts"), 1, $user->rights->prelevement->bons->lire);
1494 $newmenu->add(
"/compta/prelevement/list.php?mainmenu=bank", $langs->trans(
"WithdrawalsLines"), 1, $user->rights->prelevement->bons->lire);
1495 $newmenu->add(
"/compta/prelevement/rejets.php?mainmenu=bank", $langs->trans(
"Rejects"), 1, $user->rights->prelevement->bons->lire);
1496 $newmenu->add(
"/compta/prelevement/stats.php?mainmenu=bank", $langs->trans(
"Statistics"), 1, $user->rights->prelevement->bons->lire);
1501 if (!empty($conf->paymentbybanktransfer->enabled)) {
1502 $newmenu->add(
"/compta/paymentbybanktransfer/index.php?leftmenu=banktransfer&mainmenu=bank", $langs->trans(
"PaymentByBankTransfer"), 0, $user->rights->paymentbybanktransfer->read,
'', $mainmenu,
'banktransfer');
1504 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"banktransfer") {
1505 $newmenu->add(
"/compta/prelevement/create.php?type=bank-transfer&mainmenu=bank", $langs->trans(
"NewPaymentByBankTransfer"), 1, $user->rights->paymentbybanktransfer->create);
1507 $newmenu->add(
"/compta/prelevement/orders_list.php?type=bank-transfer&mainmenu=bank", $langs->trans(
"PaymentByBankTransferReceipts"), 1, $user->rights->paymentbybanktransfer->read);
1508 $newmenu->add(
"/compta/prelevement/list.php?type=bank-transfer&mainmenu=bank", $langs->trans(
"PaymentByBankTransferLines"), 1, $user->rights->paymentbybanktransfer->read);
1509 $newmenu->add(
"/compta/prelevement/rejets.php?type=bank-transfer&mainmenu=bank", $langs->trans(
"Rejects"), 1, $user->rights->paymentbybanktransfer->read);
1510 $newmenu->add(
"/compta/prelevement/stats.php?type=bank-transfer&mainmenu=bank", $langs->trans(
"Statistics"), 1, $user->rights->paymentbybanktransfer->read);
1515 if (empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && !empty($conf->banque->enabled) && (!empty($conf->facture->enabled) || !empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))) {
1516 $newmenu->add(
"/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank", $langs->trans(
"MenuChequeDeposits"), 0, $user->rights->banque->cheque,
'', $mainmenu,
'checks');
1517 if (preg_match(
'/checks/', $leftmenu)) {
1518 $newmenu->add(
"/compta/paiement/cheque/card.php?leftmenu=checks_bis&action=new&mainmenu=bank", $langs->trans(
"NewChequeDeposit"), 1, $user->rights->banque->cheque);
1519 $newmenu->add(
"/compta/paiement/cheque/list.php?leftmenu=checks_bis&mainmenu=bank", $langs->trans(
"List"), 1, $user->rights->banque->cheque);
1524 if (!empty($conf->takepos->enabled) || !empty($conf->cashdesk->enabled)) {
1525 $permtomakecashfence = ($user->rights->cashdesk->run || $user->rights->takepos->run);
1526 $newmenu->add(
"/compta/cashcontrol/cashcontrol_list.php?action=list", $langs->trans(
"POS"), 0, $permtomakecashfence,
'', $mainmenu,
'cashcontrol');
1527 $newmenu->add(
"/compta/cashcontrol/cashcontrol_card.php?action=create", $langs->trans(
"NewCashFence"), 1, $permtomakecashfence);
1528 $newmenu->add(
"/compta/cashcontrol/cashcontrol_list.php?action=list", $langs->trans(
"List"), 1, $permtomakecashfence);
1535 if ($mainmenu ==
'products') {
1537 if (!empty($conf->product->enabled)) {
1538 $newmenu->add(
"/product/index.php?leftmenu=product&type=0", $langs->trans(
"Products"), 0, $user->rights->produit->lire,
'', $mainmenu,
'product');
1539 $newmenu->add(
"/product/card.php?leftmenu=product&action=create&type=0", $langs->trans(
"NewProduct"), 1, $user->rights->produit->creer);
1540 $newmenu->add(
"/product/list.php?leftmenu=product&type=0", $langs->trans(
"List"), 1, $user->rights->produit->lire);
1541 if (!empty($conf->stock->enabled)) {
1542 $newmenu->add(
"/product/reassort.php?type=0", $langs->trans(
"MenuStocks"), 1, $user->rights->produit->lire && $user->rights->stock->lire);
1544 if (!empty($conf->productbatch->enabled)) {
1545 $langs->load(
"stocks");
1546 $newmenu->add(
"/product/reassortlot.php?type=0", $langs->trans(
"StocksByLotSerial"), 1, $user->rights->produit->lire && $user->rights->stock->lire);
1547 $newmenu->add(
"/product/stock/productlot_list.php", $langs->trans(
"LotSerial"), 1, $user->rights->produit->lire && $user->rights->stock->lire);
1549 if (!empty($conf->variants->enabled)) {
1550 $newmenu->add(
"/variants/list.php", $langs->trans(
"VariantAttributes"), 1, $user->rights->produit->lire);
1552 if (!empty($conf->propal->enabled) || !empty($conf->commande->enabled) || !empty($conf->facture->enabled) || !empty($conf->fournisseur->enabled) || !empty($conf->supplier_proposal->enabled)) {
1553 $newmenu->add(
"/product/stats/card.php?id=all&leftmenu=stats&type=0", $langs->trans(
"Statistics"), 1, $user->rights->produit->lire && $user->rights->propale->lire);
1557 if (!empty($conf->categorie->enabled)) {
1558 $langs->load(
"categories");
1559 $newmenu->add(
"/categories/index.php?leftmenu=cat&type=0", $langs->trans(
"Categories"), 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
1565 if (!empty($conf->service->enabled)) {
1566 $newmenu->add(
"/product/index.php?leftmenu=service&type=1", $langs->trans(
"Services"), 0, $user->rights->service->lire,
'', $mainmenu,
'service');
1567 $newmenu->add(
"/product/card.php?leftmenu=service&action=create&type=1", $langs->trans(
"NewService"), 1, $user->rights->service->creer);
1568 $newmenu->add(
"/product/list.php?leftmenu=service&type=1", $langs->trans(
"List"), 1, $user->rights->service->lire);
1569 if (!empty($conf->propal->enabled) || !empty($conf->commande->enabled) || !empty($conf->facture->enabled) || !empty($conf->fournisseur->enabled) || !empty($conf->supplier_proposal->enabled)) {
1570 $newmenu->add(
"/product/stats/card.php?id=all&leftmenu=stats&type=1", $langs->trans(
"Statistics"), 1, $user->rights->service->lire && $user->rights->propale->lire);
1573 if (!empty($conf->categorie->enabled)) {
1574 $langs->load(
"categories");
1575 $newmenu->add(
"/categories/index.php?leftmenu=cat&type=0", $langs->trans(
"Categories"), 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
1581 if (!empty($conf->stock->enabled)) {
1582 $langs->load(
"stocks");
1583 $newmenu->add(
"/product/stock/index.php?leftmenu=stock", $langs->trans(
"Warehouses"), 0, $user->rights->stock->lire,
'', $mainmenu,
'stock');
1584 $newmenu->add(
"/product/stock/card.php?action=create", $langs->trans(
"MenuNewWarehouse"), 1, $user->rights->stock->creer);
1585 $newmenu->add(
"/product/stock/list.php", $langs->trans(
"List"), 1, $user->rights->stock->lire);
1586 $newmenu->add(
"/product/stock/movement_list.php", $langs->trans(
"Movements"), 1, $user->rights->stock->mouvement->lire);
1588 $newmenu->add(
"/product/stock/massstockmove.php", $langs->trans(
"MassStockTransferShort"), 1, $user->rights->stock->mouvement->creer);
1589 if ($conf->supplier_order->enabled) {
1590 $newmenu->add(
"/product/stock/replenish.php", $langs->trans(
"Replenishment"), 1, $user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire);
1592 $newmenu->add(
"/product/stock/stockatdate.php", $langs->trans(
"StockAtDate"), 1, $user->rights->produit->lire && $user->rights->stock->lire);
1595 if (!empty($conf->categorie->enabled)) {
1596 $newmenu->add(
"/categories/index.php?leftmenu=stock&type=9", $langs->trans(
"Categories"), 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
1601 if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
1602 if (!empty($conf->stock->enabled)) {
1603 $langs->load(
"stocks");
1604 if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) {
1605 $newmenu->add(
"/product/inventory/list.php?leftmenu=stock_inventories", $langs->trans(
"Inventories"), 0, $user->rights->stock->lire,
'', $mainmenu,
'stock');
1606 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"stock_inventories") {
1607 $newmenu->add(
"/product/inventory/card.php?action=create&leftmenu=stock_inventories", $langs->trans(
"NewInventory"), 1, $user->rights->stock->creer);
1608 $newmenu->add(
"/product/inventory/list.php?leftmenu=stock_inventories", $langs->trans(
"List"), 1, $user->rights->stock->lire);
1611 $newmenu->add(
"/product/inventory/list.php?leftmenu=stock_inventories", $langs->trans(
"Inventories"), 0, $user->rights->stock->inventory_advance->read,
'', $mainmenu,
'stock');
1612 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"stock_inventories") {
1613 $newmenu->add(
"/product/inventory/card.php?action=create&leftmenu=stock_inventories", $langs->trans(
"NewInventory"), 1, $user->rights->stock->inventory_advance->write);
1614 $newmenu->add(
"/product/inventory/list.php?leftmenu=stock_inventories", $langs->trans(
"List"), 1, $user->rights->stock->inventory_advance->read);
1621 if (!empty($conf->expedition->enabled)) {
1622 $langs->load(
"sendings");
1623 $newmenu->add(
"/expedition/index.php?leftmenu=sendings", $langs->trans(
"Shipments"), 0, $user->rights->expedition->lire,
'', $mainmenu,
'sendings');
1624 $newmenu->add(
"/expedition/card.php?action=create2&leftmenu=sendings", $langs->trans(
"NewSending"), 1, $user->rights->expedition->creer);
1625 $newmenu->add(
"/expedition/list.php?leftmenu=sendings", $langs->trans(
"List"), 1, $user->rights->expedition->lire);
1626 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"sendings") {
1627 $newmenu->add(
"/expedition/list.php?leftmenu=sendings&search_status=0", $langs->trans(
"StatusSendingDraftShort"), 2, $user->rights->expedition->lire);
1628 $newmenu->add(
"/expedition/list.php?leftmenu=sendings&search_status=1", $langs->trans(
"StatusSendingValidatedShort"), 2, $user->rights->expedition->lire);
1629 $newmenu->add(
"/expedition/list.php?leftmenu=sendings&search_status=2", $langs->trans(
"StatusSendingProcessedShort"), 2, $user->rights->expedition->lire);
1631 $newmenu->add(
"/expedition/stats/index.php?leftmenu=sendings", $langs->trans(
"Statistics"), 1, $user->rights->expedition->lire);
1635 if (!empty($conf->reception->enabled)) {
1636 $langs->load(
"receptions");
1637 $newmenu->add(
"/reception/index.php?leftmenu=receptions", $langs->trans(
"Receptions"), 0, $user->rights->reception->lire,
'', $mainmenu,
'receptions');
1638 $newmenu->add(
"/reception/card.php?action=create2&leftmenu=receptions", $langs->trans(
"NewReception"), 1, $user->rights->reception->creer);
1639 $newmenu->add(
"/reception/list.php?leftmenu=receptions", $langs->trans(
"List"), 1, $user->rights->reception->lire);
1640 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"receptions") {
1641 $newmenu->add(
"/reception/list.php?leftmenu=receptions&search_status=0", $langs->trans(
"StatusReceptionDraftShort"), 2, $user->rights->reception->lire);
1643 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"receptions") {
1644 $newmenu->add(
"/reception/list.php?leftmenu=receptions&search_status=1", $langs->trans(
"StatusReceptionValidatedShort"), 2, $user->rights->reception->lire);
1646 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"receptions") {
1647 $newmenu->add(
"/reception/list.php?leftmenu=receptions&search_status=2", $langs->trans(
"StatusReceptionProcessedShort"), 2, $user->rights->reception->lire);
1649 $newmenu->add(
"/reception/stats/index.php?leftmenu=receptions", $langs->trans(
"Statistics"), 1, $user->rights->reception->lire);
1656 if ($mainmenu ==
'mrp') {
1658 if (!empty($conf->bom->enabled) || !empty($conf->mrp->enabled)) {
1659 $langs->load(
"mrp");
1661 $newmenu->add(
"", $langs->trans(
"MenuBOM"), 0, $user->rights->bom->read,
'', $mainmenu,
'bom');
1662 $newmenu->add(
"/bom/bom_card.php?leftmenu=bom&action=create", $langs->trans(
"NewBOM"), 1, $user->rights->bom->write,
'', $mainmenu,
'bom');
1663 $newmenu->add(
"/bom/bom_list.php?leftmenu=bom", $langs->trans(
"List"), 1, $user->rights->bom->read,
'', $mainmenu,
'bom');
1666 if (!empty($conf->mrp->enabled)) {
1667 $langs->load(
"mrp");
1669 $newmenu->add(
"", $langs->trans(
"MenuMRP"), 0, $user->rights->mrp->read,
'', $mainmenu,
'mo');
1670 $newmenu->add(
"/mrp/mo_card.php?leftmenu=mo&action=create", $langs->trans(
"NewMO"), 1, $user->rights->mrp->write,
'', $mainmenu,
'mo');
1671 $newmenu->add(
"/mrp/mo_list.php?leftmenu=mo", $langs->trans(
"List"), 1, $user->rights->mrp->read,
'', $mainmenu,
'mo');
1678 if ($mainmenu ==
'project') {
1679 if (!empty($conf->projet->enabled)) {
1680 $langs->load(
"projects");
1682 $search_project_user =
GETPOST(
'search_project_user',
'int');
1685 'enabled'=>(!empty($conf->projet->enabled)),
1686 'perms'=>(!empty($user->rights->projet->lire)),
1691 $titleboth = $langs->trans(
"LeadsOrProjects");
1692 $titlenew = $langs->trans(
"NewLeadOrProject");
1693 if ($conf->global->PROJECT_USE_OPPORTUNITIES == 0) {
1694 $titleboth = $langs->trans(
"Projects");
1695 $titlenew = $langs->trans(
"NewProject");
1697 if ($conf->global->PROJECT_USE_OPPORTUNITIES == 2) {
1698 $titleboth = $langs->trans(
"Leads");
1699 $titlenew = $langs->trans(
"NewLead");
1703 $newmenu->add(
"/projet/index.php?leftmenu=projects".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $titleboth, 0, $user->rights->projet->lire,
'', $mainmenu,
'projects');
1704 $newmenu->add(
"/projet/card.php?leftmenu=projects&action=create".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $titlenew, 1, $user->rights->projet->creer);
1706 if ($conf->global->PROJECT_USE_OPPORTUNITIES == 0) {
1707 $newmenu->add(
"/projet/list.php?leftmenu=projets".($search_project_user ?
'&search_project_user='.$search_project_user :
'').
'&search_status=99', $langs->trans(
"List"), 1, $showmode,
'',
'project',
'list');
1708 } elseif ($conf->global->PROJECT_USE_OPPORTUNITIES == 1) {
1709 $newmenu->add(
"/projet/list.php?leftmenu=projets".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $langs->trans(
"List"), 1, $showmode,
'',
'project',
'list');
1710 $newmenu->add(
'/projet/list.php?mainmenu=project&leftmenu=list&search_usage_opportunity=1&search_status=99&search_opp_status=openedopp&contextpage=lead', $langs->trans(
"ListOpenLeads"), 2, $showmode);
1711 $newmenu->add(
'/projet/list.php?mainmenu=project&leftmenu=list&search_opp_status=notopenedopp&search_status=99&contextpage=project', $langs->trans(
"ListOpenProjects"), 2, $showmode);
1712 } elseif ($conf->global->PROJECT_USE_OPPORTUNITIES == 2) {
1713 $newmenu->add(
'/projet/list.php?mainmenu=project&leftmenu=list&search_usage_opportunity=1&search_status=99', $langs->trans(
"List"), 2, $showmode);
1716 $newmenu->add(
"/projet/stats/index.php?leftmenu=projects", $langs->trans(
"Statistics"), 1, $user->rights->projet->lire);
1719 if (!empty($conf->categorie->enabled)) {
1720 $langs->load(
"categories");
1721 $newmenu->add(
"/categories/index.php?leftmenu=cat&type=6", $langs->trans(
"Categories"), 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
1724 if (empty($conf->global->PROJECT_HIDE_TASKS)) {
1726 $newmenu->add(
"/projet/activity/index.php?leftmenu=tasks".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $langs->trans(
"Activities"), 0, $user->rights->projet->lire,
'',
'project',
'tasks');
1727 $newmenu->add(
"/projet/tasks.php?leftmenu=tasks&action=create", $langs->trans(
"NewTask"), 1, $user->rights->projet->creer);
1728 $newmenu->add(
"/projet/tasks/list.php?leftmenu=tasks".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $langs->trans(
"List"), 1, $user->rights->projet->lire);
1729 $newmenu->add(
"/projet/tasks/stats/index.php?leftmenu=projects", $langs->trans(
"Statistics"), 1, $user->rights->projet->lire);
1731 $newmenu->add(
"/projet/activity/perweek.php?leftmenu=tasks".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $langs->trans(
"NewTimeSpent"), 0, $user->rights->projet->lire);
1739 if ($mainmenu ==
'hrm') {
1741 if (!empty($conf->hrm->enabled)) {
1742 $langs->load(
"hrm");
1744 $newmenu->add(
"/user/list.php?mainmenu=hrm&leftmenu=hrm&mode=employee", $langs->trans(
"Employees"), 0, $user->rights->hrm->employee->read,
'', $mainmenu,
'hrm');
1745 $newmenu->add(
"/user/card.php?mainmenu=hrm&leftmenu=hrm&action=create&employee=1", $langs->trans(
"NewEmployee"), 1, $user->rights->hrm->employee->write);
1746 $newmenu->add(
"/user/list.php?mainmenu=hrm&leftmenu=hrm&mode=employee&contextpage=employeelist", $langs->trans(
"List"), 1, $user->rights->hrm->employee->read);
1750 if (!empty($conf->holiday->enabled)) {
1752 $langs->loadLangs(array(
"holiday",
"trips"));
1754 $newmenu->add(
"/holiday/list.php?mainmenu=hrm&leftmenu=hrm", $langs->trans(
"CPTitreMenu"), 0, $user->rights->holiday->read,
'', $mainmenu,
'hrm');
1755 $newmenu->add(
"/holiday/card.php?mainmenu=hrm&leftmenu=holiday&action=create", $langs->trans(
"New"), 1, $user->rights->holiday->write);
1756 $newmenu->add(
"/holiday/list.php?mainmenu=hrm&leftmenu=hrm", $langs->trans(
"List"), 1, $user->rights->holiday->read);
1757 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"hrm") {
1758 $newmenu->add(
"/holiday/list.php?search_statut=1&mainmenu=hrm&leftmenu=hrm", $langs->trans(
"DraftCP"), 2, $user->rights->holiday->read);
1759 $newmenu->add(
"/holiday/list.php?search_statut=2&mainmenu=hrm&leftmenu=hrm", $langs->trans(
"ToReviewCP"), 2, $user->rights->holiday->read);
1760 $newmenu->add(
"/holiday/list.php?search_statut=3&mainmenu=hrm&leftmenu=hrm", $langs->trans(
"ApprovedCP"), 2, $user->rights->holiday->read);
1761 $newmenu->add(
"/holiday/list.php?search_statut=4&mainmenu=hrm&leftmenu=hrm", $langs->trans(
"CancelCP"), 2, $user->rights->holiday->read);
1762 $newmenu->add(
"/holiday/list.php?search_statut=5&mainmenu=hrm&leftmenu=hrm", $langs->trans(
"RefuseCP"), 2, $user->rights->holiday->read);
1764 $newmenu->add(
"/holiday/define_holiday.php?mainmenu=hrm&action=request", $langs->trans(
"MenuConfCP"), 1, $user->rights->holiday->read);
1765 $newmenu->add(
"/holiday/month_report.php?mainmenu=hrm&leftmenu=holiday", $langs->trans(
"MenuReportMonth"), 1, $user->rights->holiday->readall);
1766 $newmenu->add(
"/holiday/view_log.php?mainmenu=hrm&leftmenu=holiday&action=request", $langs->trans(
"MenuLogCP"), 1, $user->rights->holiday->define_holiday);
1770 if (!empty($conf->deplacement->enabled)) {
1771 $langs->load(
"trips");
1772 $newmenu->add(
"/compta/deplacement/index.php?leftmenu=tripsandexpenses&mainmenu=hrm", $langs->trans(
"TripsAndExpenses"), 0, $user->rights->deplacement->lire,
'', $mainmenu,
'tripsandexpenses');
1773 $newmenu->add(
"/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses&mainmenu=hrm", $langs->trans(
"New"), 1, $user->rights->deplacement->creer);
1774 $newmenu->add(
"/compta/deplacement/list.php?leftmenu=tripsandexpenses&mainmenu=hrm", $langs->trans(
"List"), 1, $user->rights->deplacement->lire);
1775 $newmenu->add(
"/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&mainmenu=hrm", $langs->trans(
"Statistics"), 1, $user->rights->deplacement->lire);
1779 if (!empty($conf->expensereport->enabled)) {
1780 $langs->load(
"trips");
1781 $newmenu->add(
"/expensereport/index.php?leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"TripsAndExpenses"), 0, $user->rights->expensereport->lire,
'', $mainmenu,
'expensereport');
1782 $newmenu->add(
"/expensereport/card.php?action=create&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"New"), 1, $user->rights->expensereport->creer);
1783 $newmenu->add(
"/expensereport/list.php?leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"List"), 1, $user->rights->expensereport->lire);
1784 if ($usemenuhider || empty($leftmenu) || $leftmenu ==
"expensereport") {
1785 $newmenu->add(
"/expensereport/list.php?search_status=0&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Draft"), 2, $user->rights->expensereport->lire);
1786 $newmenu->add(
"/expensereport/list.php?search_status=2&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Validated"), 2, $user->rights->expensereport->lire);
1787 $newmenu->add(
"/expensereport/list.php?search_status=5&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Approved"), 2, $user->rights->expensereport->lire);
1788 $newmenu->add(
"/expensereport/list.php?search_status=6&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Paid"), 2, $user->rights->expensereport->lire);
1789 $newmenu->add(
"/expensereport/list.php?search_status=4&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Canceled"), 2, $user->rights->expensereport->lire);
1790 $newmenu->add(
"/expensereport/list.php?search_status=99&leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Refused"), 2, $user->rights->expensereport->lire);
1792 $newmenu->add(
"/expensereport/stats/index.php?leftmenu=expensereport&mainmenu=hrm", $langs->trans(
"Statistics"), 1, $user->rights->expensereport->lire);
1795 if (!empty($conf->projet->enabled)) {
1796 if (empty($conf->global->PROJECT_HIDE_TASKS)) {
1797 $langs->load(
"projects");
1799 $search_project_user =
GETPOST(
'search_project_user',
'int');
1801 $newmenu->add(
"/projet/activity/perweek.php?leftmenu=tasks".($search_project_user ?
'&search_project_user='.$search_project_user :
''), $langs->trans(
"NewTimeSpent"), 0, $user->rights->projet->lire);
1810 if ($mainmenu ==
'tools') {
1811 if (empty($user->socid)) {
1812 $langs->load(
"mails");
1813 $newmenu->add(
"/admin/mails_templates.php?leftmenu=email_templates", $langs->trans(
"EMailTemplates"), 0, 1,
'', $mainmenu,
'email_templates');
1816 if (!empty($conf->mailing->enabled)) {
1817 $newmenu->add(
"/comm/mailing/index.php?leftmenu=mailing", $langs->trans(
"EMailings"), 0, $user->rights->mailing->lire,
'', $mainmenu,
'mailing');
1818 $newmenu->add(
"/comm/mailing/card.php?leftmenu=mailing&action=create", $langs->trans(
"NewMailing"), 1, $user->rights->mailing->creer);
1819 $newmenu->add(
"/comm/mailing/list.php?leftmenu=mailing", $langs->trans(
"List"), 1, $user->rights->mailing->lire);
1822 if (!empty($conf->export->enabled)) {
1823 $langs->load(
"exports");
1824 $newmenu->add(
"/exports/index.php?leftmenu=export", $langs->trans(
"FormatedExport"), 0, $user->rights->export->lire,
'', $mainmenu,
'export');
1825 $newmenu->add(
"/exports/export.php?leftmenu=export", $langs->trans(
"NewExport"), 1, $user->rights->export->creer);
1829 if (!empty($conf->import->enabled)) {
1830 $langs->load(
"exports");
1831 $newmenu->add(
"/imports/index.php?leftmenu=import", $langs->trans(
"FormatedImport"), 0, $user->rights->import->run,
'', $mainmenu,
'import');
1832 $newmenu->add(
"/imports/import.php?leftmenu=import", $langs->trans(
"NewImport"), 1, $user->rights->import->run);
1839 if ($mainmenu ==
'members') {
1840 if (!empty($conf->adherent->enabled)) {
1842 $langs->loadLangs(array(
"members",
"compta"));
1844 $newmenu->add(
"/adherents/index.php?leftmenu=members&mainmenu=members", $langs->trans(
"Members"), 0, $user->rights->adherent->lire,
'', $mainmenu,
'members');
1845 $newmenu->add(
"/adherents/card.php?leftmenu=members&action=create", $langs->trans(
"NewMember"), 1, $user->rights->adherent->creer);
1846 $newmenu->add(
"/adherents/list.php?leftmenu=members", $langs->trans(
"List"), 1, $user->rights->adherent->lire);
1847 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=-1", $langs->trans(
"MenuMembersToValidate"), 2, $user->rights->adherent->lire);
1848 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=1", $langs->trans(
"MenuMembersValidated"), 2, $user->rights->adherent->lire);
1849 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=1&filter=withoutsubscription", $langs->trans(
"WithoutSubscription"), 3, $user->rights->adherent->lire);
1850 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=1&filter=uptodate", $langs->trans(
"UpToDate"), 3, $user->rights->adherent->lire);
1851 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=1&filter=outofdate", $langs->trans(
"OutOfDate"), 3, $user->rights->adherent->lire);
1852 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=0", $langs->trans(
"MenuMembersResiliated"), 2, $user->rights->adherent->lire);
1853 $newmenu->add(
"/adherents/stats/index.php?leftmenu=members", $langs->trans(
"MenuMembersStats"), 1, $user->rights->adherent->lire);
1855 $newmenu->add(
"/adherents/cartes/carte.php?leftmenu=export", $langs->trans(
"MembersCards"), 1, $user->rights->adherent->export);
1856 if (!empty($conf->global->MEMBER_LINK_TO_HTPASSWDFILE) && ($usemenuhider || empty($leftmenu) || $leftmenu ==
'none' || $leftmenu ==
"members" || $leftmenu ==
"export")) {
1857 $newmenu->add(
"/adherents/htpasswd.php?leftmenu=export", $langs->trans(
"Filehtpasswd"), 1, $user->rights->adherent->export);
1860 if (!empty($conf->categorie->enabled)) {
1861 $langs->load(
"categories");
1862 $newmenu->add(
"/categories/index.php?leftmenu=cat&type=3", $langs->trans(
"Categories"), 1, $user->rights->categorie->lire,
'', $mainmenu,
'cat');
1865 $newmenu->add(
"/adherents/index.php?leftmenu=members&mainmenu=members", $langs->trans(
"Subscriptions"), 0, $user->rights->adherent->cotisation->lire);
1866 $newmenu->add(
"/adherents/list.php?leftmenu=members&statut=-1,1&mainmenu=members", $langs->trans(
"NewSubscription"), 1, $user->rights->adherent->cotisation->creer);
1867 $newmenu->add(
"/adherents/subscription/list.php?leftmenu=members", $langs->trans(
"List"), 1, $user->rights->adherent->cotisation->lire);
1868 $newmenu->add(
"/adherents/stats/index.php?leftmenu=members", $langs->trans(
"MenuMembersStats"), 1, $user->rights->adherent->lire);
1874 $newmenu->add(
"/adherents/type.php?leftmenu=setup&mainmenu=members", $langs->trans(
"MembersTypes"), 0, $user->rights->adherent->configurer,
'', $mainmenu,
'setup');
1875 $newmenu->add(
"/adherents/type.php?leftmenu=setup&mainmenu=members&action=create", $langs->trans(
"New"), 1, $user->rights->adherent->configurer);
1876 $newmenu->add(
"/adherents/type.php?leftmenu=setup&mainmenu=members", $langs->trans(
"List"), 1, $user->rights->adherent->configurer);
1882 $menuArbo =
new Menubase($db,
'eldy');
1883 $newmenu = $menuArbo->menuLeftCharger($newmenu, $mainmenu, $leftmenu, (empty($user->socid) ? 0 : 1),
'eldy', $tabMenu);
1886 if (!empty($conf->ftp->enabled) && $mainmenu ==
'ftp') {
1889 while ($i <= $MAXFTP) {
1890 $paramkey =
'FTP_NAME_'.$i;
1892 if (!empty($conf->global->$paramkey)) {
1893 $link =
"/ftp/index.php?idmenu=".$_SESSION[
"idmenu"].
"&numero_ftp=".$i;
1895 $newmenu->add($link,
dol_trunc($conf->global->$paramkey, 24));
1908 $menu_array = $newmenu->liste;
1909 if (is_array($menu_array_before)) {
1910 $menu_array = array_merge($menu_array_before, $menu_array);
1912 if (is_array($menu_array_after)) {
1913 $menu_array = array_merge($menu_array, $menu_array_after);
1916 if (!is_array($menu_array)) {
1932 $invert = empty($conf->global->MAIN_MENU_INVERT) ?
"" :
"invert";
1933 if (empty($noout)) {
1934 $altok = 0; $blockvmenuopened =
false; $lastlevel0 =
'';
1935 $num = count($menu_array);
1936 for ($i = 0; $i < $num; $i++) {
1938 if (!empty($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED) && empty($menu_array[$i][
'enabled'])) {
1943 if (empty($menu_array[$i][
'level']) && $showmenu) {
1945 $blockvmenuopened =
true;
1947 for ($j = ($i + 1); $j < $num; $j++) {
1948 if (empty($menu_array[$j][
'level'])) {
1949 $lastopened =
false;
1952 if ($altok % 2 == 0) {
1953 print '<div class="blockvmenu blockvmenuimpair'.$invert.($lastopened ?
' blockvmenulast' :
'').($altok == 1 ?
' blockvmenufirst' :
'').
'">'.
"\n";
1955 print '<div class="blockvmenu blockvmenupair'.$invert.($lastopened ?
' blockvmenulast' :
'').($altok == 1 ?
' blockvmenufirst' :
'').
'">'.
"\n";
1961 $tabul = ($menu_array[$i][
'level'] - 1);
1963 for ($j = 0; $j < $tabul; $j++) {
1964 $tabstring .=
' ';
1972 $url = $shorturl = $shorturlwithoutparam = $menu_array[$i][
'url'];
1973 if (!preg_match(
"/^(http:\/\/|https:\/\/)/i", $menu_array[$i][
'url'])) {
1974 $tmp = explode(
'?', $menu_array[$i][
'url'], 2);
1975 $url = $shorturl = $tmp[0];
1976 $param = (isset($tmp[1]) ? $tmp[1] :
'');
1979 if ((!preg_match(
'/mainmenu/i', $param)) && (!preg_match(
'/leftmenu/i', $param)) && !empty($menu_array[$i][
'mainmenu'])) {
1980 $param .= ($param ?
'&' :
'').
'mainmenu='.$menu_array[$i][
'mainmenu'].
'&leftmenu=';
1982 if ((!preg_match(
'/mainmenu/i', $param)) && (!preg_match(
'/leftmenu/i', $param)) && empty($menu_array[$i][
'mainmenu'])) {
1983 $param .= ($param ?
'&' :
'').
'leftmenu=';
1987 $shorturlwithoutparam = $shorturl;
1988 $shorturl = $shorturl.($param ?
'?'.$param :
'');
1992 print '<!-- Process menu entry with mainmenu='.$menu_array[$i][
'mainmenu'].
', leftmenu='.$menu_array[$i][
'leftmenu'].
', level='.$menu_array[$i][
'level'].
' enabled='.$menu_array[$i][
'enabled'].
', position='.$menu_array[$i][
'position'].
' -->'.
"\n";
1995 if ($menu_array[$i][
'level'] == 0) {
1996 if ($menu_array[$i][
'enabled']) {
1997 print '<div class="menu_titre">'.$tabstring;
1998 if ($shorturlwithoutparam) {
1999 print '<a class="vmenu" title="'.dol_escape_htmltag(
dol_string_nohtmltag($menu_array[$i][
'titre'])).
'" href="'.$url.
'"'.($menu_array[$i][
'target'] ?
' target="'.$menu_array[$i][
'target'].
'"' :
'').
'>';
2001 print '<span class="vmenu">';
2003 print ($menu_array[$i][
'prefix'] ? $menu_array[$i][
'prefix'] :
'').$menu_array[$i][
'titre'];
2004 if ($shorturlwithoutparam) {
2009 print '</div>'.
"\n";
2010 $lastlevel0 =
'enabled';
2011 } elseif ($showmenu) {
2012 print '<div class="menu_titre">'.$tabstring.
'<font class="vmenudisabled">'.$menu_array[$i][
'titre'].
'</font></div>'.
"\n";
2013 $lastlevel0 =
'greyed';
2015 $lastlevel0 =
'hidden';
2018 print '<div class="menu_top"></div>'.
"\n";
2023 if ($menu_array[$i][
'level'] > 0) {
2025 if ($menu_array[$i][
'url']) {
2026 $cssmenu =
' menu_contenu'.dol_string_nospecial(preg_replace(
'/\.php.*$/',
'', $menu_array[$i][
'url']));
2029 if ($menu_array[$i][
'enabled'] && $lastlevel0 ==
'enabled') {
2030 print '<div class="menu_contenu'.$cssmenu.
'">'.$tabstring;
2031 if ($shorturlwithoutparam) {
2032 print '<a class="vsmenu" title="'.dol_escape_htmltag(
dol_string_nohtmltag($menu_array[$i][
'titre'])).
'" href="'.$url.
'"'.($menu_array[$i][
'target'] ?
' target="'.$menu_array[$i][
'target'].
'"' :
'').
'>';
2034 print '<span class="vsmenu" title="'.dol_escape_htmltag($menu_array[$i][
'titre']).
'">';
2036 print $menu_array[$i][
'titre'];
2037 if ($shorturlwithoutparam) {
2043 if (!strstr($menu_array[$i][
'titre'],
'<table')) {
2046 print '</div>'.
"\n";
2047 } elseif ($showmenu && $lastlevel0 ==
'enabled') {
2048 print '<div class="menu_contenu'.$cssmenu.
'">'.$tabstring.
'<font class="vsmenudisabled vsmenudisabledmargin">'.$menu_array[$i][
'titre'].
'</font><br></div>'.
"\n";
2053 if (empty($menu_array[$i + 1][
'level'])) {
2055 print '<div class="menu_end"></div>'.
"\n";
2057 if ($blockvmenuopened) {
2058 print '</div>'.
"\n"; $blockvmenuopened =
false;
2064 print '<div class="blockvmenuend"></div>';
2068 return count($menu_array);
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
print_start_menu_entry($idsel, $classname, $showmode)
Output start menu entry.
dol_string_nohtmltag($stringtoclean, $removelinefeed=1, $pagecodeto= 'UTF-8', $strip_tags=0, $removedoublespaces=1)
Clean a string from all HTML tags and entities.
print_text_menu_entry($text, $showmode, $url, $id, $idsel, $classname, $atarget)
Output menu entry.
print_start_menu_array()
Output start menu array.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
img_warning($titlealt= 'default', $moreatt= '', $morecss= 'pictowarning')
Show warning logo.
getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $object=null)
Return array of possible common substitutions.
print_end_menu_array()
Output menu array.
isVisibleToUserType($type_user, &$menuentry, &$listofmodulesforexternal)
Function to test if an entry is enabled or not.
print_end_menu_entry($showmode)
Output end menu entry.
dol_sort_array(&$array, $index, $order= 'asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by second index function, which produces ascending (default) or descending output...
print
Draft customers invoices.
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.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
dol_trunc($string, $size=40, $trunc= 'right', $stringencoding= 'UTF-8', $nodot=0, $display=0)
Truncate a string to a particular length adding '...' if string larger than length.
make_substitutions($text, $substitutionarray, $outputlangs=null)
Make substitution into a text string, replacing keys with vals from $substitutionarray (oldval=>newva...
print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout=0, $mode= '')
Core function to output top menu eldy.
print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabMenu, &$menu, $noout=0, $forcemainmenu= '', $forceleftmenu= '', $moredata=null, $type_user=0)
Core function to output left menu eldy Fill &$menu (example with $forcemainmenu='home' $forceleftmenu...
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $keepmoretags= '', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields...