2010-10-02 23:31:14 +02:00
< ? php
2022-07-26 16:14:19 +02:00
/* Copyright ( C ) 2010 - 2022 Laurent Destailleur < eldy @ users . sourceforge . net >
2018-10-27 14:43:12 +02:00
* Copyright ( C ) 2010 Regis Houssin < regis . houssin @ inodbox . com >
2015-04-07 20:43:27 +02:00
* Copyright ( C ) 2012 - 2015 Juanjo Menent < jmenent @ 2 byte . es >
2013-06-04 18:27:28 +02:00
* Copyright ( C ) 2013 Cédric Salvador < csalvador @ gpcsolutions . fr >
2015-03-23 13:40:55 +01:00
* Copyright ( C ) 2015 Marcos García < marcosgdf @ gmail . com >
2018-11-20 21:40:37 +01:00
* Copyright ( C ) 2018 Ferran Marcet < fmarcet @ 2 byte . es >
2022-07-26 16:14:19 +02:00
* Copyright ( C ) 2018 - 2022 Frédéric France < frederic . france @ netlogic . fr >
* Copyright ( C ) 2021 Gauthier VERDOL < gauthier . verdol @ atm - consulting . fr >
2010-10-02 23:31:14 +02:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
2013-01-16 15:36:08 +01:00
* the Free Software Foundation ; either version 3 of the License , or
2010-10-02 23:31:14 +02:00
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// www . gnu . org / licenses />.
* or see https :// www . gnu . org /
2010-10-02 23:31:14 +02:00
*/
/**
2011-10-24 14:11:49 +02:00
* \file htdocs / core / menus / standard / eldy . lib . php
2010-10-02 23:31:14 +02:00
* \brief Library for file eldy menus
*/
2013-03-30 14:27:13 +01:00
require_once DOL_DOCUMENT_ROOT . '/core/class/menubase.class.php' ;
2010-10-02 23:31:14 +02:00
/**
* Core function to output top menu eldy
*
2012-02-17 10:04:10 +01:00
* @ param DoliDB $db Database handler
2014-04-23 12:22:01 +02:00
* @ param string $atarget Target ( Example : '' or '_top' )
2012-12-27 17:06:55 +01:00
* @ param int $type_user 0 = Menu for backoffice , 1 = Menu for front office
2020-06-07 19:25:25 +02:00
* @ param array $tabMenu If array with menu entries already loaded , we put this array here ( in most cases , it ' s empty ) . For eldy menu , it contains menu entries loaded from database .
2016-05-17 19:49:37 +02:00
* @ param Menu $menu Object Menu to return back list of menu entries
2016-05-09 14:59:59 +02:00
* @ param int $noout 1 = Disable output ( Initialise & $menu only ) .
2016-06-12 20:23:25 +02:00
* @ param string $mode 'top' , 'topnb' , 'left' , 'jmobile'
2014-04-25 20:11:38 +02:00
* @ return int 0
2010-10-02 23:31:14 +02:00
*/
2019-01-27 15:20:16 +01:00
function print_eldy_menu ( $db , $atarget , $type_user , & $tabMenu , & $menu , $noout = 0 , $mode = '' )
2010-10-02 23:31:14 +02:00
{
2019-11-13 19:35:02 +01:00
global $user , $conf , $langs , $mysoc ;
2019-09-23 19:21:06 +02:00
global $dolibarr_main_db_name ;
2010-10-02 23:31:14 +02:00
2019-11-13 19:35:02 +01:00
$mainmenu = ( empty ( $_SESSION [ " mainmenu " ]) ? '' : $_SESSION [ " mainmenu " ]);
$leftmenu = ( empty ( $_SESSION [ " leftmenu " ]) ? '' : $_SESSION [ " leftmenu " ]);
2013-02-24 21:16:36 +01:00
2019-11-13 19:35:02 +01:00
$id = 'mainmenu' ;
$listofmodulesforexternal = explode ( ',' , $conf -> global -> MAIN_MODULES_FOR_EXTERNAL );
2010-10-02 23:31:14 +02:00
2019-12-19 13:41:43 +01:00
$substitarray = getCommonSubstitutionArray ( $langs , 0 , null , null );
2010-10-02 23:31:14 +02:00
2020-12-04 18:00:31 +01:00
if ( empty ( $noout )) {
print_start_menu_array ();
}
2010-10-02 23:31:14 +02:00
2022-07-26 16:14:19 +02:00
global $usemenuhider ;
2020-09-07 10:18:17 +02:00
$usemenuhider = 1 ;
2017-06-02 19:28:22 +02:00
2019-09-15 15:15:46 +02:00
// Show/Hide vertical menu. The hamburger icon for .menuhider action.
2020-12-04 18:00:31 +01:00
if ( $mode != 'jmobile' && $mode != 'topnb' && $usemenuhider && empty ( $conf -> global -> MAIN_OPTIMIZEFORTEXTBROWSER )) {
2020-09-07 10:18:17 +02:00
$showmode = 1 ;
2022-05-02 20:10:42 +02:00
$classname = 'class="tmenu menuhider nohover"' ;
2020-09-07 10:18:17 +02:00
$idsel = 'menu' ;
2016-08-29 10:32:00 +02:00
2022-05-02 20:10:42 +02:00
$menu -> add ( '#' , ( getDolGlobalInt ( 'THEME_TOPMENU_DISABLE_IMAGE' ) == 1 ? '<span class="fa fa-bars"></span>' : '' ), 0 , $showmode , $atarget , " xxx " , '' , 0 , $id , $idsel , $classname );
2016-05-09 14:59:59 +02:00
}
2016-08-29 10:32:00 +02:00
2020-09-07 10:18:17 +02:00
$menu_arr = array ();
2019-09-15 15:15:46 +02:00
2010-10-02 23:31:14 +02:00
// Home
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Home' ,
'link' => '/index.php?mainmenu=home&leftmenu=home' ,
2021-03-13 18:56:02 +01:00
'title' => " Home " ,
2019-01-29 19:44:59 +01:00
'level' => 0 ,
'enabled' => $showmode = 1 ,
'target' => $atarget ,
'mainmenu' => " home " ,
'leftmenu' => '' ,
'position' => 10 ,
'id' => $id ,
'idsel' => 'home' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " home " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2021-03-13 18:56:02 +01:00
'prefix' => '<span class="fa fa-home fa-fw paddingright"></span>' ,
2021-08-28 18:50:00 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " home " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array (),
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
2018-09-16 12:15:33 +02:00
// Members
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'adherent' )),
2020-09-07 10:18:17 +02:00
'perms' => ( ! empty ( $user -> rights -> adherent -> lire )),
'module' => 'adherent'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Members' ,
'link' => '/adherents/index.php?mainmenu=members&leftmenu=' ,
'title' => " MenuMembers " ,
'level' => 0 ,
2019-04-23 10:38:20 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " members " ,
'leftmenu' => '' ,
'position' => 18 ,
'id' => $id ,
'idsel' => 'members' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " members " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'member' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " members " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array (),
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
// Third parties
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => (( isModEnabled ( 'societe' ) &&
2020-09-07 10:18:17 +02:00
( empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS ) || empty ( $conf -> global -> SOCIETE_DISABLE_CUSTOMERS ))
)
2022-06-09 21:33:39 +02:00
|| (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_order' ) || isModEnabled ( 'supplier_invoice' ))
2020-09-07 10:18:17 +02:00
),
2021-04-11 04:24:21 +02:00
'perms' => ( ! empty ( $user -> rights -> societe -> lire ) || ! empty ( $user -> rights -> fournisseur -> lire ) || ! empty ( $user -> rights -> supplier_order -> lire ) || ! empty ( $user -> rights -> supplier_invoice -> lire ) || ! empty ( $user -> rights -> supplier_proposal -> lire )),
2020-09-07 10:18:17 +02:00
'module' => 'societe|fournisseur'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Companies' ,
'link' => '/societe/index.php?mainmenu=companies&leftmenu=' ,
'title' => " ThirdParties " ,
'level' => 0 ,
2019-04-23 10:38:20 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " companies " ,
'leftmenu' => '' ,
'position' => 20 ,
'id' => $id ,
'idsel' => 'companies' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " companies " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'company' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " companies " ) ? 0 : 1 ),
2019-11-13 19:35:02 +01:00
'loadLangs' => array ( " companies " , " suppliers " ),
2019-01-29 19:44:59 +01:00
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
// Products-Services
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'product' ) || isModEnabled ( 'service' ) || isModEnabled ( 'expedition' )),
2019-11-13 19:35:02 +01:00
'perms' => ( ! empty ( $user -> rights -> produit -> lire ) || ! empty ( $user -> rights -> service -> lire ) || ! empty ( $user -> rights -> expedition -> lire )),
2020-09-07 10:18:17 +02:00
'module' => 'product|service'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Products' ,
'link' => '/product/index.php?mainmenu=products&leftmenu=' ,
2022-06-09 21:33:39 +02:00
'title' => ( isModEnabled ( 'product' ) && isModEnabled ( 'service' ))
2022-03-19 15:03:32 +01:00
? ( array ( " TMenuProducts " , " | " , " TMenuServices " ))
2022-06-09 21:33:39 +02:00
: ( isModEnabled ( 'product' ) ? " TMenuProducts " : " TMenuServices " ),
2019-01-29 19:44:59 +01:00
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " products " ,
'leftmenu' => '' ,
'position' => 30 ,
'id' => $id ,
'idsel' => 'products' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " products " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'product' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " products " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array ( " products " ),
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
2020-09-15 02:41:08 +02:00
// MRP - GPAO
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'bom' ) || isModEnabled ( 'mrp' )),
2020-09-07 10:18:17 +02:00
'perms' => ( ! empty ( $user -> rights -> bom -> read ) || ! empty ( $user -> rights -> mrp -> read )),
'module' => 'bom|mrp'
2019-04-23 10:38:20 +02:00
);
2019-03-06 14:18:58 +01:00
$menu_arr [] = array (
2020-09-07 10:18:17 +02:00
'name' => 'TMenuMRP' ,
'link' => '/mrp/index.php?mainmenu=mrp&leftmenu=' ,
'title' => " TMenuMRP " ,
'level' => 0 ,
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
'target' => $atarget ,
'mainmenu' => " mrp " ,
'leftmenu' => '' ,
2020-09-15 02:41:08 +02:00
'position' => 31 ,
2020-09-07 10:18:17 +02:00
'id' => $id ,
'idsel' => 'mrp' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " mrp " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'mrp' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " mrp " ) ? 0 : 1 ),
2020-09-07 10:18:17 +02:00
'loadLangs' => array ( " mrp " ),
'submenus' => array (),
2019-02-26 19:27:04 +01:00
);
2018-12-15 15:35:59 +01:00
// Projects
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'projet' ) ? 1 : 0 ),
2020-09-07 10:18:17 +02:00
'perms' => ( ! empty ( $user -> rights -> projet -> lire ) ? 1 : 0 ),
'module' => 'projet'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Projet' ,
'link' => '/projet/index.php?mainmenu=project&leftmenu=' ,
2020-12-29 15:59:39 +01:00
'title' => ( ! empty ( $conf -> global -> PROJECT_USE_OPPORTUNITIES ) && $conf -> global -> PROJECT_USE_OPPORTUNITIES == 2 ? " Leads " : " Projects " ),
2019-01-29 19:44:59 +01:00
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " project " ,
'leftmenu' => '' ,
'position' => 35 ,
'id' => $id ,
'idsel' => 'project' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " project " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'project' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " project " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array ( " projects " ),
'submenus' => array (),
);
2018-12-15 15:35:59 +01:00
2020-09-18 08:00:43 +02:00
// Commercial (propal, commande, supplier_proposal, supplier_order, contrat, ficheinter)
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'propal' )
|| isModEnabled ( 'commande' )
|| isModEnabled ( 'fournisseur' )
|| isModEnabled ( 'supplier_proposal' )
|| isModEnabled ( 'supplier_order' )
|| isModEnabled ( 'contrat' )
|| isModEnabled ( 'ficheinter' )
2022-03-19 15:03:32 +01:00
) ? 1 : 0 ,
2020-09-18 08:30:28 +02:00
'perms' => ( ! empty ( $user -> rights -> propal -> lire )
|| ! empty ( $user -> rights -> commande -> lire )
|| ! empty ( $user -> rights -> supplier_proposal -> lire )
2021-05-17 13:47:48 +02:00
|| ! empty ( $user -> rights -> fournisseur -> lire )
|| ! empty ( $user -> rights -> fournisseur -> commande -> lire )
2020-09-18 08:30:28 +02:00
|| ! empty ( $user -> rights -> supplier_order -> lire )
|| ! empty ( $user -> rights -> contrat -> lire )
|| ! empty ( $user -> rights -> ficheinter -> lire )
2022-03-19 15:03:32 +01:00
),
2020-09-07 10:18:17 +02:00
'module' => 'propal|commande|supplier_proposal|supplier_order|contrat|ficheinter'
2019-04-23 10:38:20 +02:00
);
2020-02-02 19:50:53 +01:00
2020-04-10 10:59:32 +02:00
$onlysupplierorder = ! empty ( $user -> rights -> fournisseur -> commande -> lire ) &&
2022-03-19 15:03:32 +01:00
empty ( $user -> rights -> propal -> lire ) &&
empty ( $user -> rights -> commande -> lire ) &&
empty ( $user -> rights -> supplier_order -> lire ) &&
empty ( $user -> rights -> supplier_proposal -> lire ) &&
empty ( $user -> rights -> contrat -> lire ) &&
empty ( $user -> rights -> ficheinter -> lire );
2020-02-02 19:50:53 +01:00
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Commercial' ,
2020-02-02 19:50:53 +01:00
'link' => ( $onlysupplierorder ? '/fourn/commande/index.php?mainmenu=commercial&leftmenu=' : '/comm/index.php?mainmenu=commercial&leftmenu=' ),
2019-01-29 19:44:59 +01:00
'title' => " Commercial " ,
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " commercial " ,
'leftmenu' => '' ,
'position' => 40 ,
'id' => $id ,
'idsel' => 'commercial' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " commercial " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'contract' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " commercial " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array ( " commercial " ),
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
2017-08-29 12:43:47 +02:00
// Billing - Financial
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'facture' ) ||
isModEnabled ( 'don' ) ||
isModEnabled ( 'tax' ) ||
isModEnabled ( 'salaries' ) ||
isModEnabled ( 'supplier_invoice' ) ||
isModEnabled ( 'loan' ) ||
isModEnabled ( 'margins' )
2020-09-07 10:18:17 +02:00
) ? 1 : 0 ,
'perms' => ( ! empty ( $user -> rights -> facture -> lire ) || ! empty ( $user -> rights -> don -> contact -> lire )
|| ! empty ( $user -> rights -> tax -> charges -> lire ) || ! empty ( $user -> rights -> salaries -> read )
|| ! empty ( $user -> rights -> fournisseur -> facture -> lire ) || ! empty ( $user -> rights -> loan -> read ) || ! empty ( $user -> rights -> margins -> liretous )),
'module' => 'facture|supplier_invoice|don|tax|salaries|loan'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Compta' ,
'link' => '/compta/index.php?mainmenu=billing&leftmenu=' ,
'title' => " MenuFinancial " ,
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " billing " ,
'leftmenu' => '' ,
'position' => 50 ,
'id' => $id ,
'idsel' => 'billing' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " billing " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'bill' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " billing " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array ( " compta " ),
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
2013-02-24 21:16:36 +01:00
// Bank
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'banque' ) || isModEnabled ( 'prelevement' )),
2020-05-17 15:06:09 +02:00
'perms' => ( ! empty ( $user -> rights -> banque -> lire ) || ! empty ( $user -> rights -> prelevement -> lire ) || ! empty ( $user -> rights -> paymentbybanktransfer -> read )),
2020-09-07 10:18:17 +02:00
'module' => 'banque|prelevement|paymentbybanktransfer'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Bank' ,
'link' => '/compta/bank/list.php?mainmenu=bank&leftmenu=' ,
'title' => " MenuBankCash " ,
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " bank " ,
'leftmenu' => '' ,
'position' => 52 ,
'id' => $id ,
'idsel' => 'bank' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " bank " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'bank_account' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " bank " ) ? 0 : 1 ),
2019-11-13 19:35:02 +01:00
'loadLangs' => array ( " compta " , " banks " ),
2019-01-29 19:44:59 +01:00
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
2018-01-22 04:13:29 +01:00
// Accounting
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'comptabilite' ) || isModEnabled ( 'accounting' ) || isModEnabled ( 'asset' ) || isModEnabled ( 'intracommreport' )),
2021-08-08 12:14:40 +02:00
'perms' => ( ! empty ( $user -> rights -> compta -> resultat -> lire ) || ! empty ( $user -> rights -> accounting -> comptarapport -> lire ) || ! empty ( $user -> rights -> accounting -> mouvements -> lire ) || ! empty ( $user -> rights -> asset -> read ) || ! empty ( $user -> rights -> intracommreport -> read )),
2020-10-09 06:39:42 +02:00
'module' => 'comptabilite|accounting|asset|intracommreport'
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Accounting' ,
'link' => '/accountancy/index.php?mainmenu=accountancy&leftmenu=' ,
'title' => " MenuAccountancy " ,
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " accountancy " ,
'leftmenu' => '' ,
'position' => 54 ,
'id' => $id ,
'idsel' => 'accountancy' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " accountancy " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'accountancy' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " accountancy " ) ? 0 : 1 ),
2020-10-31 14:32:18 +01:00
'loadLangs' => array ( " compta " , " accountancy " , " assets " , " intracommreport " ),
2019-01-29 19:44:59 +01:00
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
2013-05-04 01:22:09 +02:00
// HRM
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'hrm' ) || ( isModEnabled ( 'holiday' )) || isModEnabled ( 'deplacement' ) || isModEnabled ( 'expensereport' ) || isModEnabled ( 'recruitment' )),
2021-04-09 21:15:43 +02:00
'perms' => ( ! empty ( $user -> rights -> user -> user -> lire ) || ! empty ( $user -> rights -> holiday -> read ) || ! empty ( $user -> rights -> deplacement -> lire ) || ! empty ( $user -> rights -> expensereport -> lire ) || ! empty ( $user -> rights -> recruitment -> recruitmentjobposition -> read )),
2020-09-07 10:18:17 +02:00
'module' => 'hrm|holiday|deplacement|expensereport|recruitment'
2019-04-23 10:38:20 +02:00
);
2020-12-07 14:25:49 +01:00
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'HRM' ,
'link' => '/hrm/index.php?mainmenu=hrm&leftmenu=' ,
'title' => " HRM " ,
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " hrm " ,
'leftmenu' => '' ,
'position' => 80 ,
'id' => $id ,
'idsel' => 'hrm' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " hrm " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'hrm' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " hrm " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array ( " holiday " ),
'submenus' => array (),
);
2013-07-07 03:26:51 +02:00
2021-09-09 03:23:04 +02:00
// Tickets and knowledge base
2021-06-26 15:39:52 +02:00
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'ticket' ) || isModEnabled ( 'knowledgemanagement' )),
2021-09-08 18:23:44 +02:00
'perms' => ( ! empty ( $user -> rights -> ticket -> read ) || ! empty ( $user -> rights -> knowledgemanagement -> knowledgerecord -> read )),
'module' => 'ticket|knowledgemanagement'
2021-06-26 15:39:52 +02:00
);
2021-09-08 18:23:44 +02:00
$link = '' ;
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'ticket' )) {
2021-09-08 18:23:44 +02:00
$link = '/ticket/index.php?mainmenu=ticket&leftmenu=' ;
2021-09-08 19:51:34 +02:00
} else {
2021-09-08 18:23:44 +02:00
$link = '/knowledgemanagement/knowledgerecord_list.php?mainmenu=ticket&leftmenu=' ;
}
2021-06-26 15:39:52 +02:00
$menu_arr [] = array (
'name' => 'Ticket' ,
'link' => '/ticket/index.php?mainmenu=ticket&leftmenu=' ,
'title' => " Tickets " ,
'level' => 0 ,
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
'target' => $atarget ,
'mainmenu' => " ticket " ,
'leftmenu' => '' ,
'position' => 88 ,
'id' => $id ,
'idsel' => 'ticket' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " ticket " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'ticket' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-29 12:15:09 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " ticket " ) ? 0 : 1 ),
2021-06-26 15:39:52 +02:00
'loadLangs' => array ( " other " ),
'submenus' => array (),
);
2010-10-02 23:31:14 +02:00
// Tools
2019-04-23 10:38:20 +02:00
$tmpentry = array (
2020-09-07 10:18:17 +02:00
'enabled' => 1 ,
'perms' => 1 ,
'module' => ''
2019-04-23 10:38:20 +02:00
);
2019-01-29 19:44:59 +01:00
$menu_arr [] = array (
'name' => 'Tools' ,
'link' => '/core/tools.php?mainmenu=tools&leftmenu=' ,
'title' => " Tools " ,
'level' => 0 ,
2020-09-07 10:18:17 +02:00
'enabled' => $showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal ),
2019-01-29 19:44:59 +01:00
'target' => $atarget ,
'mainmenu' => " tools " ,
'leftmenu' => '' ,
'position' => 90 ,
'id' => $id ,
'idsel' => 'tools' ,
2021-08-29 12:15:09 +02:00
'classname' => $classname = ( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " tools " ) ? 'class="tmenusel"' : 'class="tmenu"' ,
2022-07-28 15:35:57 +02:00
'prefix' => img_picto ( '' , 'tools' , 'class="fa-fw paddingright pictofixedwidth"' ),
2021-08-25 12:45:40 +02:00
'session' => (( ! empty ( $_SESSION [ " mainmenu " ]) && $_SESSION [ " mainmenu " ] == " tools " ) ? 0 : 1 ),
2019-01-29 19:44:59 +01:00
'loadLangs' => array ( " other " ),
'submenus' => array (),
);
2019-03-06 14:18:58 +01:00
2019-01-29 19:44:59 +01:00
// Add menus
2020-12-04 18:00:31 +01:00
foreach ( $menu_arr as $key => $smenu ) {
2019-01-29 19:44:59 +01:00
$smenu = ( object ) $smenu ;
2019-03-06 14:18:58 +01:00
2020-12-04 18:00:31 +01:00
if ( $smenu -> enabled ) {
if ( $smenu -> session ) {
2019-11-13 19:35:02 +01:00
$_SESSION [ 'idmenu' ] = '' ;
2019-01-29 19:44:59 +01:00
}
2019-03-06 14:18:58 +01:00
2019-01-29 19:44:59 +01:00
// Load Langue
2020-12-04 18:00:31 +01:00
if ( ! empty ( $smenu -> loadLangs )) {
2019-01-29 19:44:59 +01:00
$langs -> loadLangs ( $smenu -> loadLangs );
}
2019-03-06 14:18:58 +01:00
2019-01-29 19:44:59 +01:00
// Trans title
$mtitle = '' ;
2020-12-04 18:00:31 +01:00
if ( is_array ( $smenu -> title )) {
foreach ( $smenu -> title as $item ) {
2019-11-13 19:35:02 +01:00
$mtitle .= $langs -> trans ( $item );
2019-01-29 19:44:59 +01:00
}
2020-05-21 15:05:19 +02:00
} else {
2019-11-13 19:35:02 +01:00
$mtitle = $langs -> trans ( $smenu -> title );
2019-01-29 19:44:59 +01:00
}
// Add item
2019-01-29 22:08:18 +01:00
$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 );
2019-01-29 19:44:59 +01:00
}
2010-10-02 23:31:14 +02:00
}
// Show personalized menus
2019-01-27 11:55:16 +01:00
$menuArbo = new Menubase ( $db , 'eldy' );
2020-09-25 14:09:51 +02:00
2019-11-13 19:35:02 +01:00
$newTabMenu = $menuArbo -> menuTopCharger ( '' , '' , $type_user , 'eldy' , $tabMenu ); // Return tabMenu with only top entries
2011-10-30 17:26:55 +01:00
2011-09-20 18:12:52 +02:00
$num = count ( $newTabMenu );
2020-12-04 18:00:31 +01:00
for ( $i = 0 ; $i < $num ; $i ++ ) {
2020-06-27 15:27:09 +02:00
//var_dump($type_user.' '.$newTabMenu[$i]['url'].' '.$showmode.' '.$newTabMenu[$i]['perms']);
2019-11-13 19:35:02 +01:00
$idsel = ( empty ( $newTabMenu [ $i ][ 'mainmenu' ]) ? 'none' : $newTabMenu [ $i ][ 'mainmenu' ]);
2013-01-02 21:35:28 +01:00
2020-09-25 14:09:51 +02:00
$newTabMenu [ $i ][ 'url' ] = make_substitutions ( $newTabMenu [ $i ][ 'url' ], $substitarray );
// url = url from host, shorturl = relative path into dolibarr sources
$url = $shorturl = $newTabMenu [ $i ][ 'url' ];
2020-12-04 18:00:31 +01:00
if ( ! preg_match ( " /^(http: \ / \ /|https: \ / \ /)/i " , $newTabMenu [ $i ][ 'url' ])) { // Do not change url content for external links
2020-09-25 14:09:51 +02:00
$tmp = explode ( '?' , $newTabMenu [ $i ][ 'url' ], 2 );
$url = $shorturl = $tmp [ 0 ];
$param = ( isset ( $tmp [ 1 ]) ? $tmp [ 1 ] : '' );
2022-07-26 16:14:19 +02:00
if (( ! preg_match ( '/mainmenu/i' , $param )) || ! preg_match ( '/leftmenu/i' , $param )) {
$param .= ( $param ? '&' : '' ) . 'mainmenu=' . $newTabMenu [ $i ][ 'mainmenu' ] . '&leftmenu=' ;
2020-12-04 18:00:31 +01:00
}
2020-09-25 14:09:51 +02:00
//$url.="idmenu=".$newTabMenu[$i]['rowid']; // Already done by menuLoad
$url = dol_buildpath ( $url , 1 ) . ( $param ? '?' . $param : '' );
//$shorturl = $shorturl.($param?'?'.$param:'');
$shorturl = $url ;
2020-12-04 18:00:31 +01:00
if ( DOL_URL_ROOT ) {
$shorturl = preg_replace ( '/^' . preg_quote ( DOL_URL_ROOT , '/' ) . '/' , '' , $shorturl );
}
2020-09-25 14:09:51 +02:00
}
2019-11-13 19:35:02 +01:00
$showmode = isVisibleToUserType ( $type_user , $newTabMenu [ $i ], $listofmodulesforexternal );
2020-12-04 18:00:31 +01:00
if ( $showmode == 1 ) {
2013-01-02 21:35:28 +01:00
// Define the class (top menu selected or not)
2020-12-04 18:00:31 +01:00
if ( ! empty ( $_SESSION [ 'idmenu' ]) && $newTabMenu [ $i ][ 'rowid' ] == $_SESSION [ 'idmenu' ]) {
$classname = 'class="tmenusel"' ;
} elseif ( ! empty ( $_SESSION [ " mainmenu " ]) && $newTabMenu [ $i ][ 'mainmenu' ] == $_SESSION [ " mainmenu " ]) {
$classname = 'class="tmenusel"' ;
} else {
$classname = 'class="tmenu"' ;
}
2020-09-25 14:09:51 +02:00
} elseif ( $showmode == 2 ) {
$classname = 'class="tmenu"' ;
}
2013-02-27 21:40:43 +01:00
2020-12-04 18:00:31 +01:00
$menu -> add (
$shorturl ,
$newTabMenu [ $i ][ 'titre' ],
0 ,
$showmode ,
( $newTabMenu [ $i ][ 'target' ] ? $newTabMenu [ $i ][ 'target' ] : $atarget ),
2020-09-25 14:09:51 +02:00
( $newTabMenu [ $i ][ 'mainmenu' ] ? $newTabMenu [ $i ][ 'mainmenu' ] : $newTabMenu [ $i ][ 'rowid' ]),
( $newTabMenu [ $i ][ 'leftmenu' ] ? $newTabMenu [ $i ][ 'leftmenu' ] : '' ),
2020-12-04 18:00:31 +01:00
$newTabMenu [ $i ][ 'position' ],
$id ,
$idsel ,
2021-03-13 18:56:02 +01:00
$classname ,
$newTabMenu [ $i ][ 'prefix' ]
2022-03-19 15:03:32 +01:00
);
2017-06-27 04:25:41 +02:00
}
// Sort on position
$menu -> liste = dol_sort_array ( $menu -> liste , 'position' );
2020-09-07 10:18:17 +02:00
// Output menu entries
2019-09-15 15:15:46 +02:00
// Show logo company
2020-12-04 18:00:31 +01:00
if ( empty ( $conf -> global -> MAIN_MENU_INVERT ) && empty ( $noout ) && ! empty ( $conf -> global -> MAIN_SHOW_LOGO ) && empty ( $conf -> global -> MAIN_OPTIMIZEFORTEXTBROWSER )) {
2019-10-11 12:28:13 +02:00
//$mysoc->logo_mini=(empty($conf->global->MAIN_INFO_SOCIETE_LOGO_MINI)?'':$conf->global->MAIN_INFO_SOCIETE_LOGO_MINI);
2019-11-13 19:35:02 +01:00
$mysoc -> logo_squarred_mini = ( empty ( $conf -> global -> MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI ) ? '' : $conf -> global -> MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI );
2019-10-11 10:02:59 +02:00
$logoContainerAdditionalClass = 'backgroundforcompanylogo' ;
2019-11-13 19:35:02 +01:00
if ( ! empty ( $conf -> global -> MAIN_INFO_SOCIETE_LOGO_NO_BACKGROUND )) {
2019-10-11 10:02:59 +02:00
$logoContainerAdditionalClass = '' ;
}
2020-12-04 18:00:31 +01:00
if ( ! empty ( $mysoc -> logo_squarred_mini ) && is_readable ( $conf -> mycompany -> dir_output . '/logos/thumbs/' . $mysoc -> logo_squarred_mini )) {
2019-11-13 19:35:02 +01:00
$urllogo = DOL_URL_ROOT . '/viewimage.php?cache=1&modulepart=mycompany&file=' . urlencode ( 'logos/thumbs/' . $mysoc -> logo_squarred_mini );
2021-03-01 20:37:16 +01:00
/* } elseif ( ! empty ( $mysoc -> logo_mini ) && is_readable ( $conf -> mycompany -> dir_output . '/logos/thumbs/' . $mysoc -> logo_mini ))
2022-03-19 15:03:32 +01:00
{
$urllogo = DOL_URL_ROOT . '/viewimage.php?cache=1&modulepart=mycompany&file=' . urlencode ( 'logos/thumbs/' . $mysoc -> logo_mini );
} */
2021-03-01 20:37:16 +01:00
} else {
2020-05-25 13:36:56 +02:00
$urllogo = DOL_URL_ROOT . '/theme/dolibarr_512x512_white.png' ;
2019-10-15 11:41:22 +02:00
$logoContainerAdditionalClass = '' ;
2019-09-15 15:15:46 +02:00
}
2019-11-13 19:35:02 +01:00
$title = $langs -> trans ( " GoIntoSetupToChangeLogo " );
2019-09-15 15:15:46 +02:00
print " \n " . '<!-- Show logo on menu -->' . " \n " ;
2019-11-17 20:25:39 +01:00
print_start_menu_entry ( 'companylogo' , 'class="tmenu tmenucompanylogo nohover"' , 1 );
2019-09-15 15:15:46 +02:00
2019-10-11 10:10:12 +02:00
print '<div class="center ' . $logoContainerAdditionalClass . ' menulogocontainer"><img class="mycompany" title="' . dol_escape_htmltag ( $title ) . '" alt="" src="' . $urllogo . '" style="max-width: 100px"></div>' . " \n " ;
2019-09-15 15:15:46 +02:00
print_end_menu_entry ( 4 );
}
2020-09-07 10:18:17 +02:00
if ( empty ( $noout )) {
foreach ( $menu -> liste as $menuval ) {
print_start_menu_entry ( $menuval [ 'idsel' ], $menuval [ 'classname' ], $menuval [ 'enabled' ]);
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 ));
print_end_menu_entry ( $menuval [ 'enabled' ]);
}
}
2010-10-02 23:31:14 +02:00
2019-11-13 19:35:02 +01:00
$showmode = 1 ;
2020-09-07 10:18:17 +02:00
if ( empty ( $noout )) {
print_start_menu_entry ( '' , 'class="tmenuend"' , $showmode );
print_end_menu_entry ( $showmode );
print_end_menu_array ();
}
2014-04-25 20:11:38 +02:00
return 0 ;
2010-10-02 23:31:14 +02:00
}
2012-05-01 23:40:23 +02:00
/**
* Output start menu array
*
* @ return void
*/
2010-10-02 23:31:14 +02:00
function print_start_menu_array ()
{
2020-09-07 10:18:17 +02:00
global $conf ;
2016-08-29 10:32:00 +02:00
2012-05-01 23:40:23 +02:00
print '<div class="tmenudiv">' ;
2019-11-13 19:35:02 +01:00
print '<ul role="navigation" class="tmenu"' . ( empty ( $conf -> global -> MAIN_OPTIMIZEFORTEXTBROWSER ) ? '' : ' title="Top menu"' ) . '>' ;
2010-10-02 23:31:14 +02:00
}
2012-03-19 17:18:11 +01:00
/**
* Output start menu entry
*
* @ param string $idsel Text
2012-05-09 00:28:02 +02:00
* @ param string $classname String to add a css class
2013-03-24 03:51:49 +01:00
* @ param int $showmode 0 = hide , 1 = allowed or 2 = not allowed
2012-03-19 17:18:11 +01:00
* @ return void
*/
2019-01-27 15:20:16 +01:00
function print_start_menu_entry ( $idsel , $classname , $showmode )
2010-10-02 23:31:14 +02:00
{
2020-12-04 18:00:31 +01:00
if ( $showmode ) {
2013-03-24 03:51:49 +01:00
print '<li ' . $classname . ' id="mainmenutd_' . $idsel . '">' ;
2018-02-05 23:06:48 +01:00
//print '<div class="tmenuleft tmenusep"></div>';
print '<div class="tmenucenter">' ;
2013-03-24 03:51:49 +01:00
}
2010-10-02 23:31:14 +02:00
}
2012-03-19 17:18:11 +01:00
/**
* Output menu entry
*
* @ param string $text Text
2013-03-24 03:51:49 +01:00
* @ param int $showmode 0 = hide , 1 = allowed or 2 = not allowed
2013-02-27 21:40:43 +01:00
* @ param string $url Url
* @ param string $id Id
* @ param string $idsel Id sel
* @ param string $classname Class name
* @ param string $atarget Target
2012-03-19 17:18:11 +01:00
* @ return void
*/
2013-03-15 18:00:29 +01:00
function print_text_menu_entry ( $text , $showmode , $url , $id , $idsel , $classname , $atarget )
2010-10-02 23:31:14 +02:00
{
2021-04-12 12:07:11 +02:00
global $conf , $langs ;
2013-02-27 21:40:43 +01:00
2022-05-02 16:47:28 +02:00
$classnameimg = str_replace ( 'class="' , 'class="tmenuimage ' , $classname );
$classnametxt = str_replace ( 'class="' , 'class="tmenulabel ' , $classname );
2021-04-12 12:07:11 +02:00
//$conf->global->THEME_TOPMENU_DISABLE_TEXT=1;
2018-11-20 21:40:37 +01:00
if ( $showmode == 1 ) {
2022-05-02 16:47:28 +02:00
print '<a ' . $classnameimg . ' tabindex="-1" href="' . $url . '"' . ( $atarget ? ' target="' . $atarget . '"' : '' ) . ' title="' . dol_escape_htmltag ( $text ) . '">' ;
2022-05-02 20:10:42 +02:00
print '<div class="' . $id . ' ' . $idsel . ' topmenuimage"><span class="' . $id . ' tmenuimageforpng" id="mainmenuspan_' . $idsel . '"></span></div>' ;
2013-03-30 14:27:13 +01:00
print '</a>' ;
2021-04-12 12:07:11 +02:00
if ( empty ( $conf -> global -> THEME_TOPMENU_DISABLE_TEXT )) {
2022-05-02 16:47:28 +02:00
print '<a ' . $classnametxt . ' id="mainmenua_' . $idsel . '" href="' . $url . '"' . ( $atarget ? ' target="' . $atarget . '"' : '' ) . ' title="' . dol_escape_htmltag ( $text ) . '">' ;
2021-04-12 12:07:11 +02:00
print '<span class="mainmenuaspan">' ;
print $text ;
print '</span>' ;
print '</a>' ;
}
2018-11-20 21:40:37 +01:00
} elseif ( $showmode == 2 ) {
2022-05-02 20:10:42 +02:00
print '<div ' . $classnameimg . ' title="' . dol_escape_htmltag ( $text . ' - ' . $langs -> trans ( " NotAllowed " )) . '">' ;
print '<div class="' . $id . ' ' . $idsel . ' topmenuimage tmenudisabled"><span class="' . $id . ' tmenuimageforpng tmenudisabled" id="mainmenuspan_' . $idsel . '"></span></div>' ;
print '</div>' ;
2021-04-12 12:07:11 +02:00
if ( empty ( $conf -> global -> THEME_TOPMENU_DISABLE_TEXT )) {
2022-05-02 16:47:28 +02:00
print '<span ' . $classnametxt . ' id="mainmenua_' . $idsel . '" href="#" title="' . dol_escape_htmltag ( $text . ' - ' . $langs -> trans ( " NotAllowed " )) . '">' ;
print '<span class="mainmenuaspan tmenudisabled">' ;
2021-04-12 12:07:11 +02:00
print $text ;
print '</span>' ;
2022-05-02 16:47:28 +02:00
print '</span>' ;
2021-04-12 12:07:11 +02:00
}
2013-02-27 21:40:43 +01:00
}
2010-10-02 23:31:14 +02:00
}
2012-03-19 17:18:11 +01:00
/**
* Output end menu entry
*
2013-03-24 03:51:49 +01:00
* @ param int $showmode 0 = hide , 1 = allowed or 2 = not allowed
2012-03-19 17:18:11 +01:00
* @ return void
*/
2013-03-24 03:51:49 +01:00
function print_end_menu_entry ( $showmode )
2010-10-02 23:31:14 +02:00
{
2020-12-04 18:00:31 +01:00
if ( $showmode ) {
2013-03-24 03:51:49 +01:00
print '</div></li>' ;
}
2010-10-02 23:31:14 +02:00
print " \n " ;
}
2012-03-19 17:18:11 +01:00
/**
* Output menu array
*
* @ return void
*/
2010-10-02 23:31:14 +02:00
function print_end_menu_array ()
{
2013-02-24 21:16:36 +01:00
print '</ul>' ;
print '</div>' ;
2010-10-02 23:31:14 +02:00
print " \n " ;
}
/**
2022-03-03 11:29:47 +01:00
* Core function to output left menu eldy
* Fill & $menu ( example with $forcemainmenu = 'home' $forceleftmenu = 'all' , return left menu tree of Home )
2017-06-02 19:28:22 +02:00
*
2022-03-03 11:29:47 +01:00
* @ param DoliDB $db Database handler
* @ param array $menu_array_before Table of menu entries to show before entries of menu handler ( menu -> liste filled with menu -> add )
* @ param array $menu_array_after Table of menu entries to show after entries of menu handler ( menu -> liste filled with menu -> add )
* @ param array $tabMenu If array with menu entries already loaded , we put this array here ( in most cases , it ' s empty )
* @ param Menu $menu Object Menu to return back list of menu entries
* @ param int $noout Disable output ( Initialise & $menu only ) .
* @ param string $forcemainmenu 'x' = Force mainmenu to mainmenu = 'x'
* @ param string $forceleftmenu 'all' = Force leftmenu to '' ( = all ) . If value come being '' , we change it to value in session and 'none' if not defined in session .
* @ param array $moredata An array with more data to output
* @ param int $type_user 0 = Menu for backoffice , 1 = Menu for front office
* @ return int Nb of menu entries
2010-10-02 23:31:14 +02:00
*/
2022-03-03 11:29:47 +01:00
function print_left_eldy_menu ( $db , $menu_array_before , $menu_array_after , & $tabMenu , & $menu , $noout = 0 , $forcemainmenu = '' , $forceleftmenu = '' , $moredata = null , $type_user = 0 )
2021-07-30 13:19:18 +02:00
{
2021-07-30 13:15:01 +02:00
2022-03-03 11:29:47 +01:00
global $user , $conf , $langs , $hookmanager ;
2018-12-10 17:50:58 +01:00
2022-03-03 11:29:47 +01:00
//var_dump($tabMenu);
2013-02-24 21:16:36 +01:00
2022-03-03 11:29:47 +01:00
$newmenu = $menu ;
2013-03-30 20:34:13 +01:00
2022-03-03 11:29:47 +01:00
$mainmenu = ( $forcemainmenu ? $forcemainmenu : $_SESSION [ " mainmenu " ]);
$leftmenu = ( $forceleftmenu ? '' : ( empty ( $_SESSION [ " leftmenu " ]) ? 'none' : $_SESSION [ " leftmenu " ]));
2017-06-02 19:28:22 +02:00
2022-07-26 16:14:19 +02:00
global $usemenuhider ;
2022-03-03 11:29:47 +01:00
$usemenuhider = 0 ;
2016-08-29 10:32:00 +02:00
2022-03-03 11:29:47 +01:00
if ( is_array ( $moredata ) && ! empty ( $moredata [ 'searchform' ])) { // searchform can contains select2 code or link to show old search form or link to switch on search page
print " \n " ;
print " <!-- Begin SearchForm --> \n " ;
print '<div id="blockvmenusearch" class="blockvmenusearch">' . " \n " ;
print $moredata [ 'searchform' ];
print '</div>' . " \n " ;
print " <!-- End SearchForm --> \n " ;
}
2022-03-02 22:41:00 +01:00
2022-03-03 11:29:47 +01:00
if ( is_array ( $moredata ) && ! empty ( $moredata [ 'bookmarks' ])) {
print " \n " ;
print " <!-- Begin Bookmarks --> \n " ;
print '<div id="blockvmenubookmarks" class="blockvmenubookmarks">' . " \n " ;
print $moredata [ 'bookmarks' ];
print '</div>' . " \n " ;
print " <!-- End Bookmarks --> \n " ;
}
2022-03-02 22:41:00 +01:00
2022-03-03 11:29:47 +01:00
$substitarray = getCommonSubstitutionArray ( $langs , 0 , null , null );
2017-06-02 19:28:22 +02:00
2022-03-03 11:29:47 +01:00
$listofmodulesforexternal = explode ( ',' , $conf -> global -> MAIN_MODULES_FOR_EXTERNAL );
2019-12-19 13:41:43 +01:00
2022-03-03 11:29:47 +01:00
/**
* We update newmenu with entries found into database
* --------------------------------------------------
*/
if ( $mainmenu ) { // If this is empty, loading hard coded menu and loading personalised menu will fail
/*
* Menu HOME
*/
if ( $mainmenu == 'home' ) {
get_left_menu_home ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
}
2021-02-17 17:56:08 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu THIRDPARTIES
*/
if ( $mainmenu == 'companies' ) {
get_left_menu_thridparties ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
}
2022-03-02 22:41:00 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu COMMERCIAL ( propal , commande , supplier_proposal , supplier_order , contrat , ficheinter )
*/
if ( $mainmenu == 'commercial' ) {
get_left_menu_commercial ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-02 22:41:00 +01:00
}
2013-02-24 21:16:36 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu COMPTA - FINANCIAL
*/
if ( $mainmenu == 'billing' ) {
get_left_menu_billing ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-02 22:41:00 +01:00
}
2016-08-29 10:32:00 +02:00
2022-03-03 11:29:47 +01:00
/*
* Menu COMPTA - FINANCIAL
*/
if ( $mainmenu == 'accountancy' ) {
2022-05-17 20:08:59 +02:00
get_left_menu_accountancy ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-03 11:29:47 +01:00
}
2018-06-19 13:10:13 +02:00
2022-03-03 11:29:47 +01:00
/*
* Menu BANK
*/
if ( $mainmenu == 'bank' ) {
get_left_menu_bank ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
}
2013-02-24 21:16:36 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu PRODUCTS - SERVICES
*/
if ( $mainmenu == 'products' ) {
get_left_menu_products ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-02 22:41:00 +01:00
}
2020-11-30 19:14:18 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu PRODUCTS - SERVICES MRP - GPAO
*/
if ( $mainmenu == 'mrp' ) {
get_left_menu_mrp ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
}
2022-03-02 22:41:00 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu PROJECTS
*/
if ( $mainmenu == 'project' ) {
get_left_menu_projects ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-02 22:41:00 +01:00
}
2020-11-30 19:14:18 +01:00
2022-03-03 11:29:47 +01:00
/*
* Menu HRM
2022-03-19 15:03:32 +01:00
*/
2022-03-03 11:29:47 +01:00
if ( $mainmenu == 'hrm' ) {
get_left_menu_hrm ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
}
/*
* Menu TOOLS
*/
if ( $mainmenu == 'tools' ) {
get_left_menu_tools ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-02 22:41:00 +01:00
}
2022-03-03 11:29:47 +01:00
/*
* Menu MEMBERS
*/
if ( $mainmenu == 'members' ) {
get_left_menu_members ( $mainmenu , $newmenu , $usemenuhider , $leftmenu , $type_user );
2022-03-02 22:41:00 +01:00
}
2016-01-24 11:35:33 +01:00
2022-03-03 11:29:47 +01:00
// Add personalized menus and modules menus
//var_dump($newmenu->liste); //
$menuArbo = new Menubase ( $db , 'eldy' );
$newmenu = $menuArbo -> menuLeftCharger ( $newmenu , $mainmenu , $leftmenu , ( empty ( $user -> socid ) ? 0 : 1 ), 'eldy' , $tabMenu );
//var_dump($newmenu->liste); //
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'ftp' ) && $mainmenu == 'ftp' ) { // Entry for FTP
2022-03-03 11:29:47 +01:00
$MAXFTP = 20 ;
$i = 1 ;
while ( $i <= $MAXFTP ) {
$paramkey = 'FTP_NAME_' . $i ;
//print $paramkey;
if ( ! empty ( $conf -> global -> $paramkey )) {
$link = " /ftp/index.php?idmenu= " . $_SESSION [ " idmenu " ] . " &numero_ftp= " . $i ;
$newmenu -> add ( $link , dol_trunc ( $conf -> global -> $paramkey , 24 ));
2016-02-16 12:46:39 +01:00
}
2022-03-03 11:29:47 +01:00
$i ++ ;
2013-02-24 21:16:36 +01:00
}
}
2022-03-03 11:29:47 +01:00
}
2013-02-24 21:16:36 +01:00
2022-07-26 16:14:19 +02:00
//var_dump($tabMenu);
2022-03-03 11:29:47 +01:00
//var_dump($newmenu->liste);
2013-02-24 21:16:36 +01:00
2022-03-03 11:29:47 +01:00
// Build final $menu_array = $menu_array_before +$newmenu->liste + $menu_array_after
//var_dump($menu_array_before);exit;
//var_dump($menu_array_after);exit;
$menu_array = $newmenu -> liste ;
if ( is_array ( $menu_array_before )) {
$menu_array = array_merge ( $menu_array_before , $menu_array );
}
if ( is_array ( $menu_array_after )) {
$menu_array = array_merge ( $menu_array , $menu_array_after );
}
//var_dump($menu_array);exit;
if ( ! is_array ( $menu_array )) {
return 0 ;
}
// Allow the $menu_array of the menu to be manipulated by modules
$parameters = array (
'mainmenu' => $mainmenu ,
);
$hook_items = $menu_array ;
$reshook = $hookmanager -> executeHooks ( 'menuLeftMenuItems' , $parameters , $hook_items ); // Note that $action and $object may have been modified by some hooks
if ( is_numeric ( $reshook )) {
if ( $reshook == 0 && ! empty ( $hookmanager -> results )) {
$menu_array [] = $hookmanager -> results ; // add
} elseif ( $reshook == 1 ) {
$menu_array = $hookmanager -> results ; // replace
2022-03-02 22:41:00 +01:00
}
2022-03-03 11:29:47 +01:00
// @todo Sort menu items by 'position' value
// $position = array();
// foreach ($menu_array as $key => $row) {
// $position[$key] = $row['position'];
// }
2022-06-03 14:14:53 +02:00
// $array1_sort_order = SORT_ASC;
// array_multisort($position, $array1_sort_order, $menu_array);
2022-03-03 11:29:47 +01:00
}
// TODO Use the position property in menu_array to reorder the $menu_array
//var_dump($menu_array);
/* $new_menu_array = array ();
2022-03-19 15:03:32 +01:00
$level = 0 ; $cusor = 0 ; $position = 0 ;
$nbentry = count ( $menu_array );
while ( findNextEntryForLevel ( $menu_array , $cursor , $position , $level ))
{
2022-03-03 11:29:47 +01:00
2022-03-19 15:03:32 +01:00
$cursor ++ ;
} */
2022-03-03 11:29:47 +01:00
// Show menu
$invert = empty ( $conf -> global -> MAIN_MENU_INVERT ) ? " " : " invert " ;
if ( empty ( $noout )) {
$altok = 0 ;
$blockvmenuopened = false ;
$lastlevel0 = '' ;
$num = count ( $menu_array );
for ( $i = 0 ; $i < $num ; $i ++ ) { // Loop on each menu entry
$showmenu = true ;
if ( ! empty ( $conf -> global -> MAIN_MENU_HIDE_UNAUTHORIZED ) && empty ( $menu_array [ $i ][ 'enabled' ])) {
$showmenu = false ;
}
// Begin of new left menu block
if ( empty ( $menu_array [ $i ][ 'level' ]) && $showmenu ) {
$altok ++ ;
$blockvmenuopened = true ;
$lastopened = true ;
for ( $j = ( $i + 1 ); $j < $num ; $j ++ ) {
if ( empty ( $menu_array [ $j ][ 'level' ])) {
$lastopened = false ;
}
}
if ( $altok % 2 == 0 ) {
print '<div class="blockvmenu blockvmenuimpair' . $invert . ( $lastopened ? ' blockvmenulast' : '' ) . ( $altok == 1 ? ' blockvmenufirst' : '' ) . '">' . " \n " ;
} else {
print '<div class="blockvmenu blockvmenupair' . $invert . ( $lastopened ? ' blockvmenulast' : '' ) . ( $altok == 1 ? ' blockvmenufirst' : '' ) . '">' . " \n " ;
}
}
// Add tabulation
$tabstring = '' ;
$tabul = ( $menu_array [ $i ][ 'level' ] - 1 );
if ( $tabul > 0 ) {
for ( $j = 0 ; $j < $tabul ; $j ++ ) {
$tabstring .= ' ' ;
}
}
// $menu_array[$i]['url'] can be a relative url, a full external url. We try substitution
$menu_array [ $i ][ 'url' ] = make_substitutions ( $menu_array [ $i ][ 'url' ], $substitarray );
$url = $shorturl = $shorturlwithoutparam = $menu_array [ $i ][ 'url' ];
if ( ! preg_match ( " /^(http: \ / \ /|https: \ / \ /)/i " , $menu_array [ $i ][ 'url' ])) {
$tmp = explode ( '?' , $menu_array [ $i ][ 'url' ], 2 );
$url = $shorturl = $tmp [ 0 ];
$param = ( isset ( $tmp [ 1 ]) ? $tmp [ 1 ] : '' ); // params in url of the menu link
// Complete param to force leftmenu to '' to close open menu when we click on a link with no leftmenu defined.
if (( ! preg_match ( '/mainmenu/i' , $param )) && ( ! preg_match ( '/leftmenu/i' , $param )) && ! empty ( $menu_array [ $i ][ 'mainmenu' ])) {
$param .= ( $param ? '&' : '' ) . 'mainmenu=' . $menu_array [ $i ][ 'mainmenu' ] . '&leftmenu=' ;
}
if (( ! preg_match ( '/mainmenu/i' , $param )) && ( ! preg_match ( '/leftmenu/i' , $param )) && empty ( $menu_array [ $i ][ 'mainmenu' ])) {
$param .= ( $param ? '&' : '' ) . 'leftmenu=' ;
}
//$url.="idmenu=".$menu_array[$i]['rowid']; // Already done by menuLoad
$url = dol_buildpath ( $url , 1 ) . ( $param ? '?' . $param : '' );
$shorturlwithoutparam = $shorturl ;
$shorturl = $shorturl . ( $param ? '?' . $param : '' );
}
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 " ;
// Menu level 0
if ( $menu_array [ $i ][ 'level' ] == 0 ) {
if ( $menu_array [ $i ][ 'enabled' ]) { // Enabled so visible
print '<div class="menu_titre">' . $tabstring ;
if ( $shorturlwithoutparam ) {
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' ] . '"' : '' ) . '>' ;
} else {
print '<span class="vmenu">' ;
}
print ( $menu_array [ $i ][ 'prefix' ] ? $menu_array [ $i ][ 'prefix' ] : '' ) . $menu_array [ $i ][ 'titre' ];
if ( $shorturlwithoutparam ) {
print '</a>' ;
} else {
print '</span>' ;
}
print '</div>' . " \n " ;
$lastlevel0 = 'enabled' ;
} elseif ( $showmenu ) { // Not enabled but visible (so greyed)
print '<div class="menu_titre">' . $tabstring ;
print '<span class="vmenudisabled">' ;
print ( $menu_array [ $i ][ 'prefix' ] ? $menu_array [ $i ][ 'prefix' ] : '' ) . $menu_array [ $i ][ 'titre' ];
print '</span>' ;
print '</div>' . " \n " ;
$lastlevel0 = 'greyed' ;
} else {
$lastlevel0 = 'hidden' ;
}
if ( $showmenu ) {
print '<div class="menu_top"></div>' . " \n " ;
}
}
// Menu level > 0
if ( $menu_array [ $i ][ 'level' ] > 0 ) {
$cssmenu = '' ;
if ( $menu_array [ $i ][ 'url' ]) {
$cssmenu = ' menu_contenu' . dol_string_nospecial ( preg_replace ( '/\.php.*$/' , '' , $menu_array [ $i ][ 'url' ]));
}
if ( $menu_array [ $i ][ 'enabled' ] && $lastlevel0 == 'enabled' ) {
// Enabled so visible, except if parent was not enabled.
print '<div class="menu_contenu' . $cssmenu . '">' ;
print $tabstring ;
if ( $shorturlwithoutparam ) {
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' ] . '"' : '' ) . '>' ;
} else {
print '<span class="vsmenu" title="' . dol_escape_htmltag ( $menu_array [ $i ][ 'titre' ]) . '">' ;
}
print $menu_array [ $i ][ 'titre' ];
if ( $shorturlwithoutparam ) {
print '</a>' ;
} else {
print '</span>' ;
}
// If title is not pure text and contains a table, no carriage return added
if ( ! strstr ( $menu_array [ $i ][ 'titre' ], '<table' )) {
print '<br>' ;
}
print '</div>' . " \n " ;
} elseif ( $showmenu && $lastlevel0 == 'enabled' ) {
// Not enabled but visible (so greyed), except if parent was not enabled.
print '<div class="menu_contenu' . $cssmenu . '">' ;
print $tabstring ;
print '<span class="vsmenudisabled vsmenudisabledmargin">' . $menu_array [ $i ][ 'titre' ] . '</span><br>' ;
print '</div>' . " \n " ;
}
}
// If next is a new block or if there is nothing after
if ( empty ( $menu_array [ $i + 1 ][ 'level' ])) { // End menu block
if ( $showmenu ) {
print '<div class="menu_end"></div>' . " \n " ;
}
if ( $blockvmenuopened ) {
print '</div>' . " \n " ;
$blockvmenuopened = false ;
}
}
2022-03-02 22:41:00 +01:00
}
2022-03-03 11:29:47 +01:00
if ( $altok ) {
print '<div class="blockvmenuend"></div>' ; // End menu block
2022-03-02 22:41:00 +01:00
}
}
2022-03-03 11:29:47 +01:00
return count ( $menu_array );
2022-03-02 22:41:00 +01:00
}
2022-03-03 11:29:47 +01:00
2022-03-02 22:41:00 +01:00
/**
2022-03-03 11:29:47 +01:00
* Get left Menu HOME
2022-03-02 22:41:00 +01:00
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of user
2022-03-02 22:41:00 +01:00
* @ return void
*/
2022-03-03 11:29:47 +01:00
function get_left_menu_home ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
2022-03-02 22:41:00 +01:00
{
global $user , $conf , $langs ;
2022-03-03 11:29:47 +01:00
if ( $mainmenu == 'home' ) {
$langs -> load ( " users " );
2022-03-02 22:41:00 +01:00
2022-03-03 11:29:47 +01:00
// Home - dashboard
$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 pictofixedwidth"></i>' );
// Setup
$newmenu -> add ( " /admin/index.php?mainmenu=home&leftmenu=setup " , $langs -> trans ( " Setup " ), 0 , $user -> admin , '' , $mainmenu , 'setup' , 0 , '' , '' , '' , '<i class="fa fa-tools fa-fw paddingright pictofixedwidth"></i>' );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " setup " ) {
// Load translation files required by the page
$langs -> loadLangs ( array ( " admin " , " help " ));
$warnpicto = '' ;
if ( empty ( $conf -> global -> MAIN_INFO_SOCIETE_NOM ) || empty ( $conf -> global -> MAIN_INFO_SOCIETE_COUNTRY )) {
$langs -> load ( " errors " );
$warnpicto = img_warning ( $langs -> trans ( " WarningMandatorySetupNotComplete " ));
}
$newmenu -> add ( " /admin/company.php?mainmenu=home " , $langs -> trans ( " MenuCompanySetup " ) . $warnpicto , 1 );
$warnpicto = '' ;
if ( count ( $conf -> modules ) <= ( empty ( $conf -> global -> MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING ) ? 1 : $conf -> global -> MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING )) { // If only user module enabled
$langs -> load ( " errors " );
$warnpicto = img_warning ( $langs -> trans ( " WarningMandatorySetupNotComplete " ));
}
$newmenu -> add ( " /admin/modules.php?mainmenu=home " , $langs -> trans ( " Modules " ) . $warnpicto , 1 );
$newmenu -> add ( " /admin/ihm.php?mainmenu=home " , $langs -> trans ( " GUISetup " ), 1 );
$newmenu -> add ( " /admin/menus.php?mainmenu=home " , $langs -> trans ( " Menus " ), 1 );
$newmenu -> add ( " /admin/translation.php?mainmenu=home " , $langs -> trans ( " Translation " ), 1 );
$newmenu -> add ( " /admin/defaultvalues.php?mainmenu=home " , $langs -> trans ( " DefaultValues " ), 1 );
$newmenu -> add ( " /admin/boxes.php?mainmenu=home " , $langs -> trans ( " Boxes " ), 1 );
$newmenu -> add ( " /admin/delais.php?mainmenu=home " , $langs -> trans ( " MenuWarnings " ), 1 );
$newmenu -> add ( " /admin/security_other.php?mainmenu=home " , $langs -> trans ( " Security " ), 1 );
$newmenu -> add ( " /admin/limits.php?mainmenu=home " , $langs -> trans ( " MenuLimits " ), 1 );
$newmenu -> add ( " /admin/pdf.php?mainmenu=home " , $langs -> trans ( " PDF " ), 1 );
$warnpicto = '' ;
if ( ! empty ( $conf -> global -> MAIN_MAIL_SENDMODE ) && $conf -> global -> MAIN_MAIL_SENDMODE == 'mail' && empty ( $conf -> global -> MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP )) {
$langs -> load ( " errors " );
$warnpicto = img_warning ( $langs -> trans ( " WarningPHPMailD " ));
}
if ( ! empty ( $conf -> global -> MAIN_MAIL_SENDMODE ) && in_array ( $conf -> global -> MAIN_MAIL_SENDMODE , array ( 'smtps' , 'swiftmail' )) && empty ( $conf -> global -> MAIN_MAIL_SMTP_SERVER )) {
$langs -> load ( " errors " );
$warnpicto = img_warning ( $langs -> trans ( " ErrorSetupOfEmailsNotComplete " ));
}
$newmenu -> add ( " /admin/mails.php?mainmenu=home " , $langs -> trans ( " Emails " ) . $warnpicto , 1 );
$newmenu -> add ( " /admin/sms.php?mainmenu=home " , $langs -> trans ( " SMS " ), 1 );
$newmenu -> add ( " /admin/dict.php?mainmenu=home " , $langs -> trans ( " Dictionary " ), 1 );
$newmenu -> add ( " /admin/const.php?mainmenu=home " , $langs -> trans ( " OtherSetup " ), 1 );
}
// System tools
$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 pictofixedwidth"></i>' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^admintools/' , $leftmenu )) {
// Load translation files required by the page
$langs -> loadLangs ( array ( 'admin' , 'help' ));
$newmenu -> add ( '/admin/system/dolibarr.php?mainmenu=home&leftmenu=admintools_info' , $langs -> trans ( 'InfoDolibarr' ), 1 );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == 'admintools_info' ) {
$newmenu -> add ( '/admin/system/modules.php?mainmenu=home&leftmenu=admintools_info' , $langs -> trans ( 'Modules' ), 2 );
$newmenu -> add ( '/admin/triggers.php?mainmenu=home&leftmenu=admintools_info' , $langs -> trans ( 'Triggers' ), 2 );
$newmenu -> add ( '/admin/system/filecheck.php?mainmenu=home&leftmenu=admintools_info' , $langs -> trans ( 'FileCheck' ), 2 );
}
$newmenu -> add ( '/admin/system/browser.php?mainmenu=home&leftmenu=admintools' , $langs -> trans ( 'InfoBrowser' ), 1 );
$newmenu -> add ( '/admin/system/os.php?mainmenu=home&leftmenu=admintools' , $langs -> trans ( 'InfoOS' ), 1 );
$newmenu -> add ( '/admin/system/web.php?mainmenu=home&leftmenu=admintools' , $langs -> trans ( 'InfoWebServer' ), 1 );
$newmenu -> add ( '/admin/system/phpinfo.php?mainmenu=home&leftmenu=admintools' , $langs -> trans ( 'InfoPHP' ), 1 );
$newmenu -> add ( '/admin/system/database.php?mainmenu=home&leftmenu=admintools' , $langs -> trans ( 'InfoDatabase' ), 1 );
$newmenu -> add ( " /admin/system/perf.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " InfoPerf " ), 1 );
$newmenu -> add ( " /admin/system/security.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " InfoSecurity " ), 1 );
$newmenu -> add ( " /admin/tools/dolibarr_export.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " Backup " ), 1 );
$newmenu -> add ( " /admin/tools/dolibarr_import.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " Restore " ), 1 );
$newmenu -> add ( " /admin/tools/update.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " MenuUpgrade " ), 1 );
$newmenu -> add ( " /admin/tools/purge.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " Purge " ), 1 );
$newmenu -> add ( " /admin/tools/listevents.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " Audit " ), 1 );
$newmenu -> add ( " /admin/tools/listsessions.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " Sessions " ), 1 );
$newmenu -> add ( '/admin/system/about.php?mainmenu=home&leftmenu=admintools' , $langs -> trans ( 'ExternalResources' ), 1 );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'product' ) || isModEnabled ( 'service' )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " products " );
$newmenu -> add ( " /product/admin/product_tools.php?mainmenu=home&leftmenu=admintools " , $langs -> trans ( " ProductVatMassChange " ), 1 , $user -> admin );
}
}
$newmenu -> add ( " /user/home.php?leftmenu=users " , $langs -> trans ( " MenuUsersAndGroups " ), 0 , $user -> rights -> user -> user -> lire , '' , $mainmenu , 'users' , 0 , '' , '' , '' , img_picto ( '' , 'user' , 'class="paddingright pictofixedwidth"' ));
if ( $user -> rights -> user -> user -> lire ) {
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " users " ) {
$newmenu -> add ( " " , $langs -> trans ( " Users " ), 1 , $user -> rights -> user -> user -> lire || $user -> admin );
2022-06-09 21:33:39 +02:00
$newmenu -> add ( " /user/card.php?leftmenu=users&action=create " , $langs -> trans ( " NewUser " ), 2 , ( $user -> rights -> user -> user -> creer || $user -> admin ) && ! ( isModEnabled ( 'multicompany' ) && $conf -> entity > 1 && $conf -> global -> MULTICOMPANY_TRANSVERSE_MODE ), '' , 'home' );
2022-03-03 11:29:47 +01:00
$newmenu -> add ( " /user/list.php?leftmenu=users " , $langs -> trans ( " ListOfUsers " ), 2 , $user -> rights -> user -> user -> lire || $user -> admin );
$newmenu -> add ( " /user/hierarchy.php?leftmenu=users " , $langs -> trans ( " HierarchicView " ), 2 , $user -> rights -> user -> user -> lire || $user -> admin );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " categories " );
$newmenu -> add ( " /categories/index.php?leftmenu=users&type=7 " , $langs -> trans ( " UsersCategoriesShort " ), 2 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
}
2022-06-09 21:33:39 +02:00
$newmenu -> add ( " " , $langs -> trans ( " Groups " ), 1 , ( $user -> rights -> user -> user -> lire || $user -> admin ) && ! ( isModEnabled ( 'multicompany' ) && $conf -> entity > 1 && $conf -> global -> MULTICOMPANY_TRANSVERSE_MODE ));
$newmenu -> add ( " /user/group/card.php?leftmenu=users&action=create " , $langs -> trans ( " NewGroup " ), 2 , (( ! empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) ? $user -> rights -> user -> group_advance -> write : $user -> rights -> user -> user -> creer ) || $user -> admin ) && ! ( isModEnabled ( 'multicompany' ) && $conf -> entity > 1 && $conf -> global -> MULTICOMPANY_TRANSVERSE_MODE ));
$newmenu -> add ( " /user/group/list.php?leftmenu=users " , $langs -> trans ( " ListOfGroups " ), 2 , (( ! empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) ? $user -> rights -> user -> group_advance -> read : $user -> rights -> user -> user -> lire ) || $user -> admin ) && ! ( isModEnabled ( 'multicompany' ) && $conf -> entity > 1 && $conf -> global -> MULTICOMPANY_TRANSVERSE_MODE ));
2022-03-03 11:29:47 +01:00
}
}
}
}
/**
* Get left Menu THIRDPARTIES
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-03 11:29:47 +01:00
* @ return void
*/
function get_left_menu_thridparties ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
if ( $mainmenu == 'companies' ) {
// Societes
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'societe' )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " companies " );
$newmenu -> add ( " /societe/index.php?leftmenu=thirdparties " , $langs -> trans ( " ThirdParty " ), 0 , $user -> rights -> societe -> lire , '' , $mainmenu , 'thirdparties' , 0 , '' , '' , '' , img_picto ( '' , 'company' , 'class="paddingright pictofixedwidth"' ));
if ( $user -> rights -> societe -> creer ) {
$newmenu -> add ( " /societe/card.php?action=create " , $langs -> trans ( " MenuNewThirdParty " ), 1 );
if ( ! $conf -> use_javascript_ajax ) {
$newmenu -> add ( " /societe/card.php?action=create&private=1 " , $langs -> trans ( " MenuNewPrivateIndividual " ), 1 );
}
}
}
$newmenu -> add ( " /societe/list.php?leftmenu=thirdparties " , $langs -> trans ( " List " ), 1 );
// Prospects
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'societe' ) && empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " commercial " );
$newmenu -> add ( " /societe/list.php?type=p&leftmenu=prospects " , $langs -> trans ( " ListProspectsShort " ), 2 , $user -> rights -> societe -> lire , '' , $mainmenu , 'prospects' );
/* no more required , there is a filter that can do more
2022-03-19 15:03:32 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " prospects " ) $newmenu -> add ( " /societe/list.php?type=p&sortfield=s.datec&sortorder=desc&begin=&search_stcomm=-1 " , $langs -> trans ( " LastProspectDoNotContact " ), 2 , $user -> rights -> societe -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " prospects " ) $newmenu -> add ( " /societe/list.php?type=p&sortfield=s.datec&sortorder=desc&begin=&search_stcomm=0 " , $langs -> trans ( " LastProspectNeverContacted " ), 2 , $user -> rights -> societe -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " prospects " ) $newmenu -> add ( " /societe/list.php?type=p&sortfield=s.datec&sortorder=desc&begin=&search_stcomm=1 " , $langs -> trans ( " LastProspectToContact " ), 2 , $user -> rights -> societe -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " prospects " ) $newmenu -> add ( " /societe/list.php?type=p&sortfield=s.datec&sortorder=desc&begin=&search_stcomm=2 " , $langs -> trans ( " LastProspectContactInProcess " ), 2 , $user -> rights -> societe -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " prospects " ) $newmenu -> add ( " /societe/list.php?type=p&sortfield=s.datec&sortorder=desc&begin=&search_stcomm=3 " , $langs -> trans ( " LastProspectContactDone " ), 2 , $user -> rights -> societe -> lire );
*/
2022-03-03 11:29:47 +01:00
$newmenu -> add ( " /societe/card.php?leftmenu=prospects&action=create&type=p " , $langs -> trans ( " MenuNewProspect " ), 3 , $user -> rights -> societe -> creer );
}
// Customers/Prospects
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'societe' ) && empty ( $conf -> global -> SOCIETE_DISABLE_CUSTOMERS )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " commercial " );
$newmenu -> add ( " /societe/list.php?type=c&leftmenu=customers " , $langs -> trans ( " ListCustomersShort " ), 2 , $user -> rights -> societe -> lire , '' , $mainmenu , 'customers' );
$newmenu -> add ( " /societe/card.php?leftmenu=customers&action=create&type=c " , $langs -> trans ( " MenuNewCustomer " ), 3 , $user -> rights -> societe -> creer );
}
// Suppliers
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'societe' ) && ((( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_order' ) || isModEnabled ( 'supplier_invoice' )) || isModEnabled ( 'supplier_proposal' ))) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " suppliers " );
$newmenu -> add ( " /societe/list.php?type=f&leftmenu=suppliers " , $langs -> trans ( " ListSuppliersShort " ), 2 , ( $user -> rights -> fournisseur -> lire || $user -> rights -> supplier_order -> lire || $user -> rights -> supplier_invoice -> lire || $user -> rights -> supplier_proposal -> lire ), '' , $mainmenu , 'suppliers' );
$newmenu -> add ( " /societe/card.php?leftmenu=suppliers&action=create&type=f " , $langs -> trans ( " MenuNewSupplier " ), 3 , $user -> rights -> societe -> creer && ( $user -> rights -> fournisseur -> lire || $user -> rights -> supplier_order -> lire || $user -> rights -> supplier_invoice -> lire || $user -> rights -> supplier_proposal -> lire ));
}
// Categories
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " categories " );
if ( empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS ) || empty ( $conf -> global -> SOCIETE_DISABLE_CUSTOMERS )) {
// Categories prospects/customers
$menutoshow = $langs -> trans ( " CustomersProspectsCategoriesShort " );
if ( ! empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS )) {
$menutoshow = $langs -> trans ( " CustomersCategoriesShort " );
}
if ( ! empty ( $conf -> global -> SOCIETE_DISABLE_CUSTOMERS )) {
$menutoshow = $langs -> trans ( " ProspectsCategoriesShort " );
}
$newmenu -> add ( " /categories/index.php?leftmenu=cat&type=2 " , $menutoshow , 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
}
// Categories suppliers
2022-06-09 21:33:39 +02:00
if (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_order' ) || isModEnabled ( 'supplier_invoice' )) {
2022-03-03 11:29:47 +01:00
$newmenu -> add ( " /categories/index.php?leftmenu=catfournish&type=1 " , $langs -> trans ( " SuppliersCategoriesShort " ), 1 , $user -> rights -> categorie -> lire );
}
}
// Contacts
$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' , 0 , '' , '' , '' , img_picto ( '' , 'contact' , 'class="paddingright pictofixedwidth"' ));
$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 );
$newmenu -> add ( " /contact/list.php?leftmenu=contacts " , $langs -> trans ( " List " ), 1 , $user -> rights -> societe -> contact -> lire );
if ( empty ( $conf -> global -> SOCIETE_DISABLE_PROSPECTS )) {
$newmenu -> add ( " /contact/list.php?leftmenu=contacts&type=p " , $langs -> trans ( " Prospects " ), 2 , $user -> rights -> societe -> contact -> lire );
}
if ( empty ( $conf -> global -> SOCIETE_DISABLE_CUSTOMERS )) {
$newmenu -> add ( " /contact/list.php?leftmenu=contacts&type=c " , $langs -> trans ( " Customers " ), 2 , $user -> rights -> societe -> contact -> lire );
}
2022-06-09 21:33:39 +02:00
if (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_order' ) || isModEnabled ( 'supplier_invoice' )) {
2022-03-03 11:29:47 +01:00
$newmenu -> add ( " /contact/list.php?leftmenu=contacts&type=f " , $langs -> trans ( " Suppliers " ), 2 , $user -> rights -> societe -> contact -> lire );
}
$newmenu -> add ( " /contact/list.php?leftmenu=contacts&type=o " , $langs -> trans ( " ContactOthers " ), 2 , $user -> rights -> societe -> contact -> lire );
//$newmenu->add("/contact/list.php?userid=$user->id", $langs->trans("MyContacts"), 1, $user->rights->societe->contact->lire);
// Categories
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-03 11:29:47 +01:00
$langs -> load ( " categories " );
// Categories Contact
$newmenu -> add ( " /categories/index.php?leftmenu=catcontact&type=4 " , $langs -> trans ( " ContactCategoriesShort " ), 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
}
}
}
/**
* Get left Menu COMMERCIAL ( propal , commande , supplier_proposal , supplier_order , contrat , ficheinter )
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-03 11:29:47 +01:00
* @ return void
*/
function get_left_menu_commercial ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
if ( $mainmenu == 'commercial' ) {
$langs -> load ( " companies " );
// Customer proposal
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'propal' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " propal " );
$newmenu -> add ( " /comm/propal/index.php?leftmenu=propals " , $langs -> trans ( " Proposals " ), 0 , $user -> rights -> propale -> lire , '' , $mainmenu , 'propals' , 100 , '' , '' , '' , img_picto ( '' , 'propal' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /comm/propal/card.php?action=create&leftmenu=propals " , $langs -> trans ( " NewPropal " ), 1 , $user -> rights -> propale -> creer );
$newmenu -> add ( " /comm/propal/list.php?leftmenu=propals " , $langs -> trans ( " List " ), 1 , $user -> rights -> propale -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " propals " ) {
$newmenu -> add ( " /comm/propal/list.php?leftmenu=propals&search_status=0 " , $langs -> trans ( " PropalsDraft " ), 2 , $user -> rights -> propale -> lire );
$newmenu -> add ( " /comm/propal/list.php?leftmenu=propals&search_status=1 " , $langs -> trans ( " PropalsOpened " ), 2 , $user -> rights -> propale -> lire );
$newmenu -> add ( " /comm/propal/list.php?leftmenu=propals&search_status=2 " , $langs -> trans ( " PropalStatusSigned " ), 2 , $user -> rights -> propale -> lire );
$newmenu -> add ( " /comm/propal/list.php?leftmenu=propals&search_status=3 " , $langs -> trans ( " PropalStatusNotSigned " ), 2 , $user -> rights -> propale -> lire );
$newmenu -> add ( " /comm/propal/list.php?leftmenu=propals&search_status=4 " , $langs -> trans ( " PropalStatusBilled " ), 2 , $user -> rights -> propale -> lire );
//$newmenu->add("/comm/propal/list.php?leftmenu=propals&search_status=2,3,4", $langs->trans("PropalStatusClosedShort"), 2, $user->rights->propale->lire);
}
$newmenu -> add ( " /comm/propal/stats/index.php?leftmenu=propals " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> propale -> lire );
}
// Customers orders
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'commande' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " orders " );
$newmenu -> add ( " /commande/index.php?leftmenu=orders " , $langs -> trans ( " CustomersOrders " ), 0 , $user -> rights -> commande -> lire , '' , $mainmenu , 'orders' , 200 , '' , '' , '' , img_picto ( '' , 'order' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /commande/card.php?action=create&leftmenu=orders " , $langs -> trans ( " NewOrder " ), 1 , $user -> rights -> commande -> creer );
$newmenu -> add ( " /commande/list.php?leftmenu=orders " , $langs -> trans ( " List " ), 1 , $user -> rights -> commande -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " orders " ) {
$newmenu -> add ( " /commande/list.php?leftmenu=orders&search_status=0 " , $langs -> trans ( " StatusOrderDraftShort " ), 2 , $user -> rights -> commande -> lire );
$newmenu -> add ( " /commande/list.php?leftmenu=orders&search_status=1 " , $langs -> trans ( " StatusOrderValidated " ), 2 , $user -> rights -> commande -> lire );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'expedition' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /commande/list.php?leftmenu=orders&search_status=2 " , $langs -> trans ( " StatusOrderSentShort " ), 2 , $user -> rights -> commande -> lire );
}
$newmenu -> add ( " /commande/list.php?leftmenu=orders&search_status=3 " , $langs -> trans ( " StatusOrderDelivered " ), 2 , $user -> rights -> commande -> lire );
//$newmenu->add("/commande/list.php?leftmenu=orders&search_status=4", $langs->trans("StatusOrderProcessed"), 2, $user->rights->commande->lire);
$newmenu -> add ( " /commande/list.php?leftmenu=orders&search_status=-1 " , $langs -> trans ( " StatusOrderCanceledShort " ), 2 , $user -> rights -> commande -> lire );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /commande/stats/index.php?leftmenu=orders " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> commande -> lire );
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Supplier proposal
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'supplier_proposal' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " supplier_proposal " );
$newmenu -> add ( " /supplier_proposal/index.php?leftmenu=propals_supplier " , $langs -> trans ( " SupplierProposalsShort " ), 0 , $user -> rights -> supplier_proposal -> lire , '' , $mainmenu , 'propals_supplier' , 300 , '' , '' , '' , img_picto ( '' , 'supplier_proposal' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /supplier_proposal/card.php?action=create&leftmenu=supplier_proposals " , $langs -> trans ( " SupplierProposalNew " ), 1 , $user -> rights -> supplier_proposal -> creer );
$newmenu -> add ( " /supplier_proposal/list.php?leftmenu=supplier_proposals " , $langs -> trans ( " List " ), 1 , $user -> rights -> supplier_proposal -> lire );
$newmenu -> add ( " /comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> supplier_proposal -> lire );
}
2015-07-15 12:42:50 +02:00
2022-03-02 22:41:00 +01:00
// Suppliers orders
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'supplier_order' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " orders " );
$newmenu -> add ( " /fourn/commande/index.php?leftmenu=orders_suppliers " , $langs -> trans ( " SuppliersOrders " ), 0 , $user -> rights -> fournisseur -> commande -> lire , '' , $mainmenu , 'orders_suppliers' , 400 , '' , '' , '' , img_picto ( '' , 'supplier_order' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /fourn/commande/card.php?action=create&leftmenu=orders_suppliers " , $langs -> trans ( " NewSupplierOrderShort " ), 1 , $user -> rights -> fournisseur -> commande -> creer );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers " , $langs -> trans ( " List " ), 1 , $user -> rights -> fournisseur -> commande -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " orders_suppliers " ) {
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=0 " , $langs -> trans ( " StatusSupplierOrderDraftShort " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
if ( empty ( $conf -> global -> SUPPLIER_ORDER_HIDE_VALIDATED )) {
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=1 " , $langs -> trans ( " StatusSupplierOrderValidated " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
}
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=2 " , $langs -> trans ( " StatusSupplierOrderApprovedShort " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=3 " , $langs -> trans ( " StatusSupplierOrderOnProcessShort " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=4 " , $langs -> trans ( " StatusSupplierOrderReceivedPartiallyShort " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=5 " , $langs -> trans ( " StatusSupplierOrderReceivedAll " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=6,7 " , $langs -> trans ( " StatusSupplierOrderCanceled " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders_suppliers&statut=9 " , $langs -> trans ( " StatusSupplierOrderRefused " ), 2 , $user -> rights -> fournisseur -> commande -> lire );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
// Billed is another field. We should add instead a dedicated filter on list. if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders_suppliers") $newmenu->add("/fourn/commande/list.php?leftmenu=orders_suppliers&billed=1", $langs->trans("Billed"), 2, $user->rights->fournisseur->commande->lire);
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> fournisseur -> commande -> lire );
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Contrat
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'contrat' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " contracts " );
$newmenu -> add ( " /contrat/index.php?leftmenu=contracts " , $langs -> trans ( " ContractsSubscriptions " ), 0 , $user -> rights -> contrat -> lire , '' , $mainmenu , 'contracts' , 2000 , '' , '' , '' , img_picto ( '' , 'contract' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /contrat/card.php?action=create&leftmenu=contracts " , $langs -> trans ( " NewContractSubscription " ), 1 , $user -> rights -> contrat -> creer );
$newmenu -> add ( " /contrat/list.php?leftmenu=contracts " , $langs -> trans ( " List " ), 1 , $user -> rights -> contrat -> lire );
$newmenu -> add ( " /contrat/services_list.php?leftmenu=contracts " , $langs -> trans ( " MenuServices " ), 1 , $user -> rights -> contrat -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " contracts " ) {
$newmenu -> add ( " /contrat/services_list.php?leftmenu=contracts&mode=0 " , $langs -> trans ( " MenuInactiveServices " ), 2 , $user -> rights -> contrat -> lire );
$newmenu -> add ( " /contrat/services_list.php?leftmenu=contracts&mode=4 " , $langs -> trans ( " MenuRunningServices " ), 2 , $user -> rights -> contrat -> lire );
$newmenu -> add ( " /contrat/services_list.php?leftmenu=contracts&mode=4&filter=expired " , $langs -> trans ( " MenuExpiredServices " ), 2 , $user -> rights -> contrat -> lire );
$newmenu -> add ( " /contrat/services_list.php?leftmenu=contracts&mode=5 " , $langs -> trans ( " MenuClosedServices " ), 2 , $user -> rights -> contrat -> lire );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Interventions
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'ficheinter' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " interventions " );
$newmenu -> add ( " /fichinter/index.php?leftmenu=ficheinter " , $langs -> trans ( " Interventions " ), 0 , $user -> rights -> ficheinter -> lire , '' , $mainmenu , 'ficheinter' , 2200 , '' , '' , '' , img_picto ( '' , 'intervention' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /fichinter/card.php?action=create&leftmenu=ficheinter " , $langs -> trans ( " NewIntervention " ), 1 , $user -> rights -> ficheinter -> creer , '' , '' , '' , 201 );
$newmenu -> add ( " /fichinter/list.php?leftmenu=ficheinter " , $langs -> trans ( " List " ), 1 , $user -> rights -> ficheinter -> lire , '' , '' , '' , 202 );
if ( $conf -> global -> MAIN_FEATURES_LEVEL >= 2 ) {
$newmenu -> add ( " /fichinter/card-rec.php?leftmenu=ficheinter " , $langs -> trans ( " ListOfTemplates " ), 1 , $user -> rights -> ficheinter -> lire , '' , '' , '' , 203 );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /fichinter/stats/index.php?leftmenu=ficheinter " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> ficheinter -> lire );
}
}
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
/**
* Get left COMPTA - FINANCIAL
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_billing ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
if ( $mainmenu == 'billing' ) {
$langs -> load ( " companies " );
// Customers invoices
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'facture' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " bills " );
$newmenu -> add ( " /compta/facture/index.php?leftmenu=customers_bills " , $langs -> trans ( " BillsCustomers " ), 0 , $user -> rights -> facture -> lire , '' , $mainmenu , 'customers_bills' , 0 , '' , '' , '' , img_picto ( '' , 'bill' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /compta/facture/card.php?action=create " , $langs -> trans ( " NewBill " ), 1 , $user -> rights -> facture -> creer );
$newmenu -> add ( " /compta/facture/list.php?leftmenu=customers_bills " , $langs -> trans ( " List " ), 1 , $user -> rights -> facture -> lire , '' , $mainmenu , 'customers_bills_list' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/customers_bills(|_draft|_notpaid|_paid|_canceled)$/' , $leftmenu )) {
$newmenu -> add ( " /compta/facture/list.php?leftmenu=customers_bills_draft&search_status=0 " , $langs -> trans ( " BillShortStatusDraft " ), 2 , $user -> rights -> facture -> lire );
$newmenu -> add ( " /compta/facture/list.php?leftmenu=customers_bills_notpaid&search_status=1 " , $langs -> trans ( " BillShortStatusNotPaid " ), 2 , $user -> rights -> facture -> lire );
$newmenu -> add ( " /compta/facture/list.php?leftmenu=customers_bills_paid&search_status=2 " , $langs -> trans ( " BillShortStatusPaid " ), 2 , $user -> rights -> facture -> lire );
$newmenu -> add ( " /compta/facture/list.php?leftmenu=customers_bills_canceled&search_status=3 " , $langs -> trans ( " BillShortStatusCanceled " ), 2 , $user -> rights -> facture -> lire );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/facture/invoicetemplate_list.php?leftmenu=customers_bills_templates " , $langs -> trans ( " ListOfTemplates " ), 1 , $user -> rights -> facture -> creer , '' , $mainmenu , 'customers_bills_templates' ); // No need to see recurring invoices, if user has no permission to create invoice.
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/paiement/list.php?leftmenu=customers_bills_payment " , $langs -> trans ( " Payments " ), 1 , $user -> rights -> facture -> lire , '' , $mainmenu , 'customers_bills_payment' );
2021-02-04 19:28:49 +01:00
2022-03-02 22:41:00 +01:00
if ( ! empty ( $conf -> global -> BILL_ADD_PAYMENT_VALIDATION )) {
$newmenu -> add ( " /compta/paiement/tovalidate.php?leftmenu=customers_bills_tovalid " , $langs -> trans ( " MenuToValid " ), 2 , $user -> rights -> facture -> lire , '' , $mainmenu , 'customer_bills_tovalid' );
2020-12-04 18:00:31 +01:00
}
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/customers_bills/' , $leftmenu )) {
$newmenu -> add ( " /compta/paiement/rapport.php?leftmenu=customers_bills_payment_report " , $langs -> trans ( " Reportings " ), 2 , $user -> rights -> facture -> lire , '' , $mainmenu , 'customers_bills_payment_report' );
2020-12-04 18:00:31 +01:00
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/facture/stats/index.php?leftmenu=customers_bills_stats " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> facture -> lire , '' , $mainmenu , 'customers_bills_stats' );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
// Suppliers invoices
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'societe' ) && isModEnabled ( 'supplier_invoice' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " bills " );
$newmenu -> add ( " /fourn/facture/index.php?leftmenu=suppliers_bills " , $langs -> trans ( " BillsSuppliers " ), 0 , $user -> rights -> fournisseur -> facture -> lire , '' , $mainmenu , 'suppliers_bills' , 0 , '' , '' , '' , img_picto ( '' , 'supplier_invoice' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /fourn/facture/card.php?leftmenu=suppliers_bills&action=create " , $langs -> trans ( " NewBill " ), 1 , ( $user -> rights -> fournisseur -> facture -> creer || $user -> rights -> supplier_invoice -> creer ), '' , $mainmenu , 'suppliers_bills_create' );
$newmenu -> add ( " /fourn/facture/list.php?leftmenu=suppliers_bills " , $langs -> trans ( " List " ), 1 , $user -> rights -> fournisseur -> facture -> lire , '' , $mainmenu , 'suppliers_bills_list' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/suppliers_bills/' , $leftmenu )) {
$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' );
$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' );
$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' );
2020-03-23 08:51:38 +01:00
}
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /fourn/facture/list-rec.php?leftmenu=supplierinvoicestemplate_list " , $langs -> trans ( " ListOfTemplates " ), 1 , $user -> rights -> fournisseur -> facture -> lire , '' , $mainmenu , 'supplierinvoicestemplate_list' );
2016-08-29 10:32:00 +02:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /fourn/paiement/list.php?leftmenu=suppliers_bills_payment " , $langs -> trans ( " Payments " ), 1 , $user -> rights -> fournisseur -> facture -> lire , '' , $mainmenu , 'suppliers_bills_payment' );
2014-06-20 12:01:14 +02:00
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/suppliers_bills/' , $leftmenu )) {
$newmenu -> add ( " /fourn/facture/rapport.php?leftmenu=suppliers_bills_payment_report " , $langs -> trans ( " Reportings " ), 2 , $user -> rights -> fournisseur -> facture -> lire , '' , $mainmenu , 'suppliers_bills_payment_report' );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
$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' );
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Orders
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'commande' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " orders " );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'facture' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /commande/list.php?leftmenu=orders&search_status=-3&billed=0&contextpage=billableorders " , $langs -> trans ( " MenuOrdersToBill2 " ), 0 , $user -> rights -> commande -> lire , '' , $mainmenu , 'orders' , 0 , '' , '' , '' , img_picto ( '' , 'order' , 'class="paddingright pictofixedwidth"' ));
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders") $newmenu->add("/commande/", $langs->trans("StatusOrderToBill"), 1, $user->rights->commande->lire);
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
// Supplier Orders to bill
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'supplier_invoice' )) {
2022-03-02 22:41:00 +01:00
if ( ! empty ( $conf -> global -> SUPPLIER_MENU_ORDER_RECEIVED_INTO_INVOICE )) {
$langs -> load ( " supplier " );
$newmenu -> add ( " /fourn/commande/list.php?leftmenu=orders&search_status=5&billed=0 " , $langs -> trans ( " MenuOrdersSupplierToBill " ), 0 , $user -> rights -> commande -> lire , '' , $mainmenu , 'orders' , 0 , '' , '' , '' , img_picto ( '' , 'supplier_order' , 'class="paddingright pictofixedwidth"' ));
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders") $newmenu->add("/commande/", $langs->trans("StatusOrderToBill"), 1, $user->rights->commande->lire);
}
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Donations
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'don' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " donations " );
$newmenu -> add ( " /don/index.php?leftmenu=donations&mainmenu=billing " , $langs -> trans ( " Donations " ), 0 , $user -> rights -> don -> lire , '' , $mainmenu , 'donations' , 0 , '' , '' , '' , img_picto ( '' , 'donation' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " donations " ) {
$newmenu -> add ( " /don/card.php?leftmenu=donations&action=create " , $langs -> trans ( " NewDonation " ), 1 , $user -> rights -> don -> creer );
$newmenu -> add ( " /don/list.php?leftmenu=donations " , $langs -> trans ( " List " ), 1 , $user -> rights -> don -> lire );
}
// if ($leftmenu=="donations") $newmenu->add("/don/stats/index.php",$langs->trans("Statistics"), 1, $user->rights->don->lire);
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Taxes and social contributions
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'tax' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/charges/index.php?leftmenu=tax&mainmenu=billing " , $langs -> trans ( " MenuTaxesAndSpecialExpenses " ), 0 , $user -> rights -> tax -> charges -> lire , '' , $mainmenu , 'tax' , 0 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/sociales/list.php?leftmenu=tax_social " , $langs -> trans ( " MenuSocialContributions " ), 1 , $user -> rights -> tax -> charges -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_social/i' , $leftmenu )) {
$newmenu -> add ( " /compta/sociales/card.php?leftmenu=tax_social&action=create " , $langs -> trans ( " MenuNewSocialContribution " ), 2 , $user -> rights -> tax -> charges -> creer );
$newmenu -> add ( " /compta/sociales/list.php?leftmenu=tax_social " , $langs -> trans ( " List " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/sociales/payments.php?leftmenu=tax_social&mainmenu=billing " , $langs -> trans ( " Payments " ), 2 , $user -> rights -> tax -> charges -> lire );
}
// VAT
if ( empty ( $conf -> global -> TAX_DISABLE_VAT_MENUS )) {
global $mysoc ;
$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' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_vat/i' , $leftmenu )) {
$newmenu -> add ( " /compta/tva/card.php?leftmenu=tax_vat&action=create " , $langs -> trans ( " New " ), 2 , $user -> rights -> tax -> charges -> creer );
$newmenu -> add ( " /compta/tva/list.php?leftmenu=tax_vat " , $langs -> trans ( " List " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/tva/payments.php?mode=tvaonly&leftmenu=tax_vat " , $langs -> trans ( " Payments " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/tva/index.php?leftmenu=tax_vat " , $langs -> trans ( " ReportByMonth " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/tva/clients.php?leftmenu=tax_vat " , $langs -> trans ( " ReportByThirdparties " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/tva/quadri_detail.php?leftmenu=tax_vat " , $langs -> trans ( " ReportByQuarter " ), 2 , $user -> rights -> tax -> charges -> lire );
}
//Local Taxes 1
if ( $mysoc -> useLocalTax ( 1 ) && ( isset ( $mysoc -> localtax1_assuj ) && $mysoc -> localtax1_assuj == " 1 " )) {
$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 );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_1_vat/i' , $leftmenu )) {
$newmenu -> add ( " /compta/localtax/card.php?leftmenu=tax_1_vat&action=create&localTaxType=1 " , $langs -> trans ( " New " ), 2 , $user -> rights -> tax -> charges -> creer );
$newmenu -> add ( " /compta/localtax/list.php?leftmenu=tax_1_vat&localTaxType=1 " , $langs -> trans ( " List " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/localtax/index.php?leftmenu=tax_1_vat&localTaxType=1 " , $langs -> trans ( " ReportByMonth " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/localtax/clients.php?leftmenu=tax_1_vat&localTaxType=1 " , $langs -> trans ( " ReportByThirdparties " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/localtax/quadri_detail.php?leftmenu=tax_1_vat&localTaxType=1 " , $langs -> trans ( " ReportByQuarter " ), 2 , $user -> rights -> tax -> charges -> lire );
}
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
//Local Taxes 2
if ( $mysoc -> useLocalTax ( 2 ) && ( isset ( $mysoc -> localtax2_assuj ) && $mysoc -> localtax2_assuj == " 1 " )) {
$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 );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_2_vat/i' , $leftmenu )) {
$newmenu -> add ( " /compta/localtax/card.php?leftmenu=tax_2_vat&action=create&localTaxType=2 " , $langs -> trans ( " New " ), 2 , $user -> rights -> tax -> charges -> creer );
$newmenu -> add ( " /compta/localtax/list.php?leftmenu=tax_2_vat&localTaxType=2 " , $langs -> trans ( " List " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/localtax/index.php?leftmenu=tax_2_vat&localTaxType=2 " , $langs -> trans ( " ReportByMonth " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/localtax/clients.php?leftmenu=tax_2_vat&localTaxType=2 " , $langs -> trans ( " ReportByThirdparties " ), 2 , $user -> rights -> tax -> charges -> lire );
$newmenu -> add ( " /compta/localtax/quadri_detail.php?leftmenu=tax_2_vat&localTaxType=2 " , $langs -> trans ( " ReportByQuarter " ), 2 , $user -> rights -> tax -> charges -> lire );
}
2022-02-07 15:16:11 +01:00
}
2022-03-02 22:41:00 +01:00
}
}
2015-04-06 19:11:31 +02:00
2022-03-02 22:41:00 +01:00
// Salaries
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'salaries' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " salaries " );
$newmenu -> add ( " /salaries/list.php?leftmenu=tax_salary&mainmenu=billing " , $langs -> trans ( " Salaries " ), 0 , $user -> rights -> salaries -> read , '' , $mainmenu , 'tax_salary' , 0 , '' , '' , '' , img_picto ( '' , 'salary' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_salary/i' , $leftmenu )) {
$newmenu -> add ( " /salaries/card.php?leftmenu=tax_salary&action=create " , $langs -> trans ( " New " ), 1 , $user -> rights -> salaries -> write );
$newmenu -> add ( " /salaries/list.php?leftmenu=tax_salary " , $langs -> trans ( " List " ), 1 , $user -> rights -> salaries -> read );
$newmenu -> add ( " /salaries/payments.php?leftmenu=tax_salary " , $langs -> trans ( " Payments " ), 1 , $user -> rights -> salaries -> read );
$newmenu -> add ( " /salaries/stats/index.php?leftmenu=tax_salary " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> salaries -> read );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Loan
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'loan' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " loan " );
$newmenu -> add ( " /loan/list.php?leftmenu=tax_loan&mainmenu=billing " , $langs -> trans ( " Loans " ), 0 , $user -> rights -> loan -> read , '' , $mainmenu , 'tax_loan' , 0 , '' , '' , '' , img_picto ( '' , 'loan' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_loan/i' , $leftmenu )) {
$newmenu -> add ( " /loan/card.php?leftmenu=tax_loan&action=create " , $langs -> trans ( " NewLoan " ), 1 , $user -> rights -> loan -> write );
//$newmenu->add("/loan/payment/list.php?leftmenu=tax_loan",$langs->trans("Payments"),2,$user->rights->loan->read);
}
}
2015-03-23 13:40:55 +01:00
2022-03-02 22:41:00 +01:00
// Various payment
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'banque' ) && empty ( $conf -> global -> BANK_USE_OLD_VARIOUS_PAYMENT )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " banks " );
$newmenu -> add ( " /compta/bank/various_payment/list.php?leftmenu=tax_various&mainmenu=billing " , $langs -> trans ( " MenuVariousPayment " ), 0 , $user -> rights -> banque -> lire , '' , $mainmenu , 'tax_various' , 0 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/^tax_various/i' , $leftmenu )) {
$newmenu -> add ( " /compta/bank/various_payment/card.php?leftmenu=tax_various&action=create " , $langs -> trans ( " New " ), 1 , $user -> rights -> banque -> modifier );
$newmenu -> add ( " /compta/bank/various_payment/list.php?leftmenu=tax_various " , $langs -> trans ( " List " ), 1 , $user -> rights -> banque -> lire );
}
}
}
}
2015-03-23 13:40:55 +01:00
2022-03-02 22:41:00 +01:00
/**
* Get left COMPTA - FINANCIAL ( accountancy )
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
2022-03-19 15:03:32 +01:00
function get_left_menu_accountancy ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
2022-03-02 22:41:00 +01:00
{
global $user , $conf , $langs ;
2022-03-19 15:03:32 +01:00
global $db ;
2022-02-07 14:34:27 +01:00
2022-03-02 22:41:00 +01:00
if ( $mainmenu == 'accountancy' ) {
$langs -> load ( " companies " );
2017-06-02 19:28:22 +02:00
2022-03-02 22:41:00 +01:00
// Accounting (Double entries)
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'accounting' )) {
//$permtoshowmenu = (isModEnabled('accounting') || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire);
2022-03-02 22:41:00 +01:00
//$newmenu->add("/accountancy/index.php?leftmenu=accountancy", $langs->trans("MenuAccountancy"), 0, $permtoshowmenu, '', $mainmenu, 'accountancy');
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Configuration
$newmenu -> add ( " /accountancy/index.php?leftmenu=accountancy_admin " , $langs -> trans ( " Setup " ), 0 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin' , 1 , '' , '' , '' , img_picto ( '' , 'technic' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_admin/' , $leftmenu )) {
global $mysoc ;
$newmenu -> add ( " /accountancy/admin/index.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " General " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_general' , 10 );
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Fiscal year - Not really yet used. In a future will lock some periods.
if ( $conf -> global -> MAIN_FEATURES_LEVEL > 1 ) {
$newmenu -> add ( " /accountancy/admin/fiscalyear.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " FiscalPeriod " ), 1 , $user -> rights -> accounting -> fiscalyear -> write , '' , $mainmenu , 'fiscalyear' , 20 );
2020-12-04 18:00:31 +01:00
}
2014-11-07 23:15:02 +01:00
2022-03-02 22:41:00 +01:00
$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 );
$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 );
$newmenu -> add ( " /accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " Chartofaccounts " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_chart' , 41 );
$newmenu -> add ( " /accountancy/admin/subaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " ChartOfSubaccounts " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_chart' , 41 );
$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 );
$newmenu -> add ( " /accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " MenuDefaultAccounts " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_default' , 60 );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'banque' )) {
2022-03-02 22:41:00 +01:00
$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 );
2014-11-07 23:15:02 +01:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'facture' ) || (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_invoice' ))) {
2022-03-02 22:41:00 +01:00
$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 );
2020-09-07 10:18:17 +02:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'tax' )) {
2022-03-02 22:41:00 +01:00
$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 );
2020-09-08 14:09:56 +02:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'expensereport' )) {
2022-03-02 22:41:00 +01:00
$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 );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /accountancy/admin/productaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " MenuProductsAccounts " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_product' , 110 );
if ( $conf -> global -> MAIN_FEATURES_LEVEL > 1 ) {
$newmenu -> add ( " /accountancy/admin/closure.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " MenuClosureAccounts " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_closure' , 120 );
}
$newmenu -> add ( " /accountancy/admin/export.php?mainmenu=accountancy&leftmenu=accountancy_admin " , $langs -> trans ( " ExportOptions " ), 1 , $user -> rights -> accounting -> chartofaccount , '' , $mainmenu , 'accountancy_admin_export' , 130 );
2020-09-08 14:09:56 +02:00
}
2016-08-29 10:32:00 +02:00
2022-03-02 22:41:00 +01:00
// Transfer in accounting
$newmenu -> add ( " /accountancy/index.php?leftmenu=accountancy_transfer " , $langs -> trans ( " TransferInAccounting " ), 0 , $user -> rights -> accounting -> bind -> write , '' , $mainmenu , 'transfer' , 1 , '' , '' , '' , img_picto ( '' , 'long-arrow-alt-right' , 'class="paddingright pictofixedwidth"' ));
// Binding
// $newmenu->add("", $langs->trans("Binding"), 0, $user->rights->accounting->bind->write, '', $mainmenu, 'dispatch');
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'facture' ) && empty ( $conf -> global -> ACCOUNTING_DISABLE_BINDING_ON_SALES )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /accountancy/customer/index.php?leftmenu=accountancy_dispatch_customer&mainmenu=accountancy " , $langs -> trans ( " CustomersVentilation " ), 1 , $user -> rights -> accounting -> bind -> write , '' , $mainmenu , 'dispatch_customer' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_dispatch_customer/' , $leftmenu )) {
$newmenu -> add ( " /accountancy/customer/list.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_customer " , $langs -> trans ( " ToBind " ), 2 , $user -> rights -> accounting -> bind -> write );
$newmenu -> add ( " /accountancy/customer/lines.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_customer " , $langs -> trans ( " Binded " ), 2 , $user -> rights -> accounting -> bind -> write );
2016-06-20 11:43:53 +02:00
}
2020-09-08 14:09:56 +02:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'supplier_invoice' ) && empty ( $conf -> global -> ACCOUNTING_DISABLE_BINDING_ON_PURCHASES )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /accountancy/supplier/index.php?leftmenu=accountancy_dispatch_supplier&mainmenu=accountancy " , $langs -> trans ( " SuppliersVentilation " ), 1 , $user -> rights -> accounting -> bind -> write , '' , $mainmenu , 'dispatch_supplier' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_dispatch_supplier/' , $leftmenu )) {
$newmenu -> add ( " /accountancy/supplier/list.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_supplier " , $langs -> trans ( " ToBind " ), 2 , $user -> rights -> accounting -> bind -> write );
$newmenu -> add ( " /accountancy/supplier/lines.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_supplier " , $langs -> trans ( " Binded " ), 2 , $user -> rights -> accounting -> bind -> write );
2016-06-20 11:43:53 +02:00
}
2020-09-08 14:09:56 +02:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'expensereport' ) && empty ( $conf -> global -> ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /accountancy/expensereport/index.php?leftmenu=accountancy_dispatch_expensereport&mainmenu=accountancy " , $langs -> trans ( " ExpenseReportsVentilation " ), 1 , $user -> rights -> accounting -> bind -> write , '' , $mainmenu , 'dispatch_expensereport' );
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_dispatch_expensereport/' , $leftmenu )) {
$newmenu -> add ( " /accountancy/expensereport/list.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_expensereport " , $langs -> trans ( " ToBind " ), 2 , $user -> rights -> accounting -> bind -> write );
$newmenu -> add ( " /accountancy/expensereport/lines.php?mainmenu=accountancy&leftmenu=accountancy_dispatch_expensereport " , $langs -> trans ( " Binded " ), 2 , $user -> rights -> accounting -> bind -> write );
2016-06-20 11:43:53 +02:00
}
2013-02-24 21:16:36 +01:00
}
2016-01-24 08:21:18 +01:00
2022-03-02 22:41:00 +01:00
// Journals
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'accounting' ) && ! empty ( $user -> rights -> accounting -> comptarapport -> lire ) && $mainmenu == 'accountancy' ) {
2023-06-16 00:56:43 +02:00
$newmenu -> add ( '' , $langs -> trans ( " RegistrationInAccounting " ), 1 , $user -> rights -> accounting -> comptarapport -> lire , '' , $mainmenu , 'accountancy_journal' );
2019-06-04 01:22:26 +02:00
2022-03-02 22:41:00 +01:00
// Multi journal
$sql = " SELECT rowid, code, label, nature " ;
$sql .= " FROM " . MAIN_DB_PREFIX . " accounting_journal " ;
$sql .= " WHERE entity = " . $conf -> entity ;
$sql .= " AND active = 1 " ;
$sql .= " ORDER BY nature ASC, label DESC " ;
2019-06-04 01:22:26 +02:00
2022-03-02 22:41:00 +01:00
$resql = $db -> query ( $sql );
if ( $resql ) {
$numr = $db -> num_rows ( $resql );
$i = 0 ;
2019-06-04 01:22:26 +02:00
2022-03-02 22:41:00 +01:00
if ( $numr > 0 ) {
while ( $i < $numr ) {
$objp = $db -> fetch_object ( $resql );
2019-03-08 09:11:56 +01:00
2022-03-02 22:41:00 +01:00
$nature = '' ;
2016-10-24 06:41:32 +02:00
2022-03-02 22:41:00 +01:00
// Must match array $sourceList defined into journals_list.php
2022-06-09 21:33:39 +02:00
if ( $objp -> nature == 2 && isModEnabled ( 'facture' ) && empty ( $conf -> global -> ACCOUNTING_DISABLE_BINDING_ON_SALES )) {
2022-03-02 22:41:00 +01:00
$nature = " sells " ;
}
if ( $objp -> nature == 3
2022-06-09 21:33:39 +02:00
&& (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_invoice' ))
2022-03-02 22:41:00 +01:00
&& empty ( $conf -> global -> ACCOUNTING_DISABLE_BINDING_ON_PURCHASES )) {
2022-03-19 15:03:32 +01:00
$nature = " purchases " ;
2022-03-02 22:41:00 +01:00
}
2022-06-09 21:33:39 +02:00
if ( $objp -> nature == 4 && isModEnabled ( 'banque' )) {
2022-03-02 22:41:00 +01:00
$nature = " bank " ;
}
2022-06-09 21:33:39 +02:00
if ( $objp -> nature == 5 && isModEnabled ( 'expensereport' ) && empty ( $conf -> global -> ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS )) {
2022-03-02 22:41:00 +01:00
$nature = " expensereports " ;
}
2022-06-09 21:33:39 +02:00
if ( $objp -> nature == 1 && isModEnabled ( 'asset' )) {
2022-04-01 11:24:58 +02:00
$nature = " various " ; // Warning: The page /accountancy/journal/variousjournal.php is bugged. It read tables that does not exists.
2022-03-02 22:41:00 +01:00
}
if ( $objp -> nature == 8 ) {
$nature = " inventory " ;
}
if ( $objp -> nature == 9 ) {
$nature = " hasnew " ;
}
2017-06-03 07:23:14 +02:00
2022-03-19 15:03:32 +01:00
// To enable when page exists
2022-03-02 22:41:00 +01:00
if ( empty ( $conf -> global -> ACCOUNTANCY_SHOW_DEVELOP_JOURNAL )) {
if ( $nature == 'hasnew' || $nature == 'inventory' ) {
$nature = '' ;
2017-06-03 07:23:14 +02:00
}
2022-03-02 22:41:00 +01:00
}
2017-06-03 07:23:14 +02:00
2022-03-02 22:41:00 +01:00
if ( $nature ) {
$langs -> load ( 'accountancy' );
$journallabel = $langs -> transnoentities ( $objp -> label ); // Labels in this table are set by loading llx_accounting_abc.sql. Label can be 'ACCOUNTING_SELL_JOURNAL', 'InventoryJournal', ...
$newmenu -> add ( '/accountancy/journal/' . $nature . 'journal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=' . $objp -> rowid , $journallabel , 2 , $user -> rights -> accounting -> comptarapport -> lire );
2017-06-03 07:23:14 +02:00
}
2022-03-19 15:03:32 +01:00
$i ++ ;
2017-02-21 07:09:58 +01:00
}
2020-12-04 18:00:31 +01:00
} else {
2022-03-02 22:41:00 +01:00
// Should not happend. Entries are added
$newmenu -> add ( '' , $langs -> trans ( " NoJournalDefined " ), 2 , $user -> rights -> accounting -> comptarapport -> lire );
2020-12-04 18:00:31 +01:00
}
2022-03-02 22:41:00 +01:00
} else {
dol_print_error ( $db );
2014-09-06 09:50:42 +02:00
}
2022-03-02 22:41:00 +01:00
$db -> free ( $resql );
}
2016-01-24 08:21:18 +01:00
2022-03-02 22:41:00 +01:00
// Files
if ( empty ( $conf -> global -> ACCOUNTANCY_HIDE_EXPORT_FILES_MENU )) {
$newmenu -> add ( " /compta/accounting-files.php?mainmenu=accountancy&leftmenu=accountancy_files " , $langs -> trans ( " AccountantFiles " ), 1 , $user -> rights -> accounting -> mouvements -> lire );
}
2021-12-26 15:41:09 +01:00
2022-03-02 22:41:00 +01:00
// Accounting
$newmenu -> add ( " /accountancy/index.php?leftmenu=accountancy_accountancy " , $langs -> trans ( " MenuAccountancy " ), 0 , $user -> rights -> accounting -> mouvements -> lire || $user -> rights -> accounting -> comptarapport -> lire , '' , $mainmenu , 'accountancy' , 1 , '' , '' , '' , img_picto ( '' , 'accountancy' , 'class="paddingright pictofixedwidth"' ));
2016-02-11 06:39:02 +01:00
2022-03-02 22:41:00 +01:00
// General Ledger
$newmenu -> add ( " /accountancy/bookkeeping/listbyaccount.php?mainmenu=accountancy&leftmenu=accountancy_accountancy " , $langs -> trans ( " Bookkeeping " ), 1 , $user -> rights -> accounting -> mouvements -> lire );
2019-10-17 18:16:57 +02:00
2022-03-02 22:41:00 +01:00
// Journals
$newmenu -> add ( " /accountancy/bookkeeping/list.php?mainmenu=accountancy&leftmenu=accountancy_accountancy " , $langs -> trans ( " Journals " ), 1 , $user -> rights -> accounting -> mouvements -> lire );
// Account Balance
$newmenu -> add ( " /accountancy/bookkeeping/balance.php?mainmenu=accountancy&leftmenu=accountancy_accountancy " , $langs -> trans ( " AccountBalance " ), 1 , $user -> rights -> accounting -> mouvements -> lire );
2019-10-17 18:43:07 +02:00
2022-03-02 22:41:00 +01:00
// Closure
$newmenu -> add ( " /accountancy/closure/index.php?mainmenu=accountancy&leftmenu=accountancy_closure " , $langs -> trans ( " MenuAccountancyClosure " ), 1 , $user -> rights -> accounting -> fiscalyear -> write , '' , $mainmenu , 'closure' );
2021-08-03 15:02:09 +02:00
2022-03-02 22:41:00 +01:00
// Reports
$newmenu -> add ( " /accountancy/index.php?leftmenu=accountancy_report " , $langs -> trans ( " Reportings " ), 1 , $user -> rights -> accounting -> comptarapport -> lire , '' , $mainmenu , 'ca' );
2019-10-17 18:43:07 +02:00
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_report/' , $leftmenu )) {
$newmenu -> add ( " /compta/resultat/index.php?leftmenu=accountancy_report " , $langs -> trans ( " MenuReportInOut " ), 2 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/resultat/clientfourn.php?leftmenu=accountancy_report " , $langs -> trans ( " ByPredefinedAccountGroups " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/resultat/result.php?leftmenu=accountancy_report " , $langs -> trans ( " ByPersonalizedAccountGroups " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
}
2016-01-24 08:21:18 +01:00
2022-03-02 22:41:00 +01:00
$modecompta = 'CREANCES-DETTES' ;
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'accounting' ) && ! empty ( $user -> rights -> accounting -> comptarapport -> lire ) && $mainmenu == 'accountancy' ) {
2022-03-02 22:41:00 +01:00
$modecompta = 'BOOKKEEPING' ; // Not yet implemented. Should be BOOKKEEPINGCOLLECTED
}
if ( $modecompta ) {
2020-09-07 10:18:17 +02:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_report/' , $leftmenu )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/stats/index.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportTurnover " ), 2 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/casoc.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/cabyuser.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByUsers " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/cabyprodserv.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByProductsAndServices " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/byratecountry.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByVatRate " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
2020-09-07 10:18:17 +02:00
}
2022-03-02 22:41:00 +01:00
}
2016-01-24 08:21:18 +01:00
2022-03-02 22:41:00 +01:00
$modecompta = 'RECETTES-DEPENSES' ;
2022-06-09 21:33:39 +02:00
//if (isModEnabled('accounting') && ! empty($user->rights->accounting->comptarapport->lire) && $mainmenu == 'accountancy') $modecompta=''; // Not yet implemented. Should be BOOKKEEPINGCOLLECTED
2022-03-02 22:41:00 +01:00
if ( $modecompta ) {
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_report/' , $leftmenu )) {
$newmenu -> add ( " /compta/stats/index.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportTurnoverCollected " ), 2 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/casoc.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/cabyuser.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByUsers " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
//$newmenu->add("/compta/stats/cabyprodserv.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans("ByProductsAndServices"),3,$user->rights->accounting->comptarapport->lire);
//$newmenu->add("/compta/stats/byratecountry.php?leftmenu=accountancy_report&modecompta=".$modecompta, $langs->trans("ByVatRate"),3,$user->rights->accounting->comptarapport->lire);
2018-06-26 11:18:31 +02:00
}
2022-03-02 22:41:00 +01:00
}
2018-06-26 11:18:31 +02:00
2022-03-02 22:41:00 +01:00
$modecompta = 'CREANCES-DETTES' ;
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'accounting' ) && ! empty ( $user -> rights -> accounting -> comptarapport -> lire ) && $mainmenu == 'accountancy' ) {
2022-03-02 22:41:00 +01:00
$modecompta = 'BOOKKEEPING' ; // Not yet implemented.
}
2022-06-09 21:33:39 +02:00
if ( $modecompta && (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_invoice' ))) {
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_report/' , $leftmenu )) {
$newmenu -> add ( " /compta/stats/supplier_turnover.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportPurchaseTurnover " ), 2 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/supplier_turnover_by_thirdparty.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/supplier_turnover_by_prodserv.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByProductsAndServices " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
2018-06-26 11:18:31 +02:00
}
2022-03-02 22:41:00 +01:00
}
2020-04-04 18:45:33 +02:00
2022-03-02 22:41:00 +01:00
$modecompta = 'RECETTES-DEPENSES' ;
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'accounting' ) && ! empty ( $user -> rights -> accounting -> comptarapport -> lire ) && $mainmenu == 'accountancy' ) {
2022-03-02 22:41:00 +01:00
$modecompta = 'BOOKKEEPINGCOLLECTED' ; // Not yet implemented.
}
2022-06-09 21:33:39 +02:00
if ( $modecompta && (( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_invoice' ))) {
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/accountancy_report/' , $leftmenu )) {
$newmenu -> add ( " /compta/stats/supplier_turnover.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportPurchaseTurnoverCollected " ), 2 , $user -> rights -> accounting -> comptarapport -> lire );
$newmenu -> add ( " /compta/stats/supplier_turnover_by_thirdparty.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 3 , $user -> rights -> accounting -> comptarapport -> lire );
2020-04-04 18:45:33 +02:00
}
2022-03-02 22:41:00 +01:00
}
}
2020-04-04 18:45:33 +02:00
2022-03-02 22:41:00 +01:00
// Accountancy (simple)
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'comptabilite' )) {
2022-03-02 22:41:00 +01:00
// Files
if ( empty ( $conf -> global -> ACCOUNTANCY_HIDE_EXPORT_FILES_MENU )) {
2022-08-31 22:56:45 +02:00
$newmenu -> add ( " /compta/accounting-files.php?mainmenu=accountancy&leftmenu=accountancy_files " , $langs -> trans ( " AccountantFiles " ), 0 , $user -> rights -> compta -> resultat -> lire , '' , $mainmenu , 'files' , 0 , '' , '' , '' , img_picto ( '' , 'accountancy' , 'class="paddingright pictofixedwidth"' ));
2020-09-07 10:18:17 +02:00
}
2018-04-01 21:26:52 +02:00
2022-03-02 22:41:00 +01:00
// Bilan, resultats
2022-08-31 22:56:45 +02:00
$newmenu -> add ( " /compta/resultat/index.php?leftmenu=report&mainmenu=accountancy " , $langs -> trans ( " Reportings " ), 0 , $user -> rights -> compta -> resultat -> lire , '' , $mainmenu , 'ca' , 0 , '' , '' , '' , img_picto ( '' , 'accountancy' , 'class="paddingright pictofixedwidth"' ));
2020-09-07 10:18:17 +02:00
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/report/' , $leftmenu )) {
$newmenu -> add ( " /compta/resultat/index.php?leftmenu=report " , $langs -> trans ( " MenuReportInOut " ), 1 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/resultat/clientfourn.php?leftmenu=report " , $langs -> trans ( " ByCompanies " ), 2 , $user -> rights -> compta -> resultat -> lire );
/* On verra ca avec module compabilite expert
2022-03-19 15:03:32 +01:00
$newmenu -> add ( " /compta/resultat/compteres.php?leftmenu=report " , " Compte de resultat " , 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/resultat/bilan.php?leftmenu=report " , " Bilan " , 2 , $user -> rights -> compta -> resultat -> lire );
*/
2022-03-02 22:41:00 +01:00
/*
2022-03-19 15:03:32 +01:00
$newmenu -> add ( " /compta/stats/cumul.php?leftmenu=report " , " Cumule " , 2 , $user -> rights -> compta -> resultat -> lire );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'propal' )) {
2022-03-19 15:03:32 +01:00
$newmenu -> add ( " /compta/stats/prev.php?leftmenu=report " , " Previsionnel " , 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/comp.php?leftmenu=report " , " Transforme " , 2 , $user -> rights -> compta -> resultat -> lire );
}
*/
2022-03-02 22:41:00 +01:00
$modecompta = 'CREANCES-DETTES' ;
$newmenu -> add ( " /compta/stats/index.php?leftmenu=report&modecompta= " . $modecompta , $langs -> trans ( " ReportTurnover " ), 1 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/casoc.php?leftmenu=report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/cabyuser.php?leftmenu=report&modecompta= " . $modecompta , $langs -> trans ( " ByUsers " ), 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/cabyprodserv.php?leftmenu=report&modecompta= " . $modecompta , $langs -> trans ( " ByProductsAndServices " ), 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/byratecountry.php?leftmenu=report&modecompta= " . $modecompta , $langs -> trans ( " ByVatRate " ), 2 , $user -> rights -> compta -> resultat -> lire );
$modecompta = 'RECETTES-DEPENSES' ;
$newmenu -> add ( " /compta/stats/index.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportTurnoverCollected " ), 1 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/casoc.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/cabyuser.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByUsers " ), 2 , $user -> rights -> compta -> resultat -> lire );
//Achats
$modecompta = 'CREANCES-DETTES' ;
$newmenu -> add ( " /compta/stats/supplier_turnover.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportPurchaseTurnover " ), 1 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/supplier_turnover_by_thirdparty.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/supplier_turnover_by_prodserv.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByProductsAndServices " ), 2 , $user -> rights -> compta -> resultat -> lire );
/*
2022-03-19 15:03:32 +01:00
$modecompta = 'RECETTES-DEPENSES' ;
$newmenu -> add ( " /compta/stats/index.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ReportPurchaseTurnoverCollected " ), 1 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/casoc.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByCompanies " ), 2 , $user -> rights -> compta -> resultat -> lire );
$newmenu -> add ( " /compta/stats/cabyuser.php?leftmenu=accountancy_report&modecompta= " . $modecompta , $langs -> trans ( " ByUsers " ), 2 , $user -> rights -> compta -> resultat -> lire );
*/
2022-03-02 22:41:00 +01:00
// Journals
$newmenu -> add ( " /compta/journal/sellsjournal.php?leftmenu=report " , $langs -> trans ( " SellsJournal " ), 1 , $user -> rights -> compta -> resultat -> lire , '' , '' , '' , 50 );
$newmenu -> add ( " /compta/journal/purchasesjournal.php?leftmenu=report " , $langs -> trans ( " PurchasesJournal " ), 1 , $user -> rights -> compta -> resultat -> lire , '' , '' , '' , 51 );
2020-09-07 10:18:17 +02:00
}
2022-03-02 22:41:00 +01:00
//if ($leftmenu=="ca") $newmenu->add("/compta/journaux/index.php?leftmenu=ca",$langs->trans("Journals"),1,$user->rights->compta->resultat->lire||$user->rights->accounting->comptarapport->lire);
}
2019-05-07 09:18:27 +02:00
2022-03-02 22:41:00 +01:00
// Intracomm report
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'intracommreport' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /intracommreport/list.php?leftmenu=intracommreport " , $langs -> trans ( " MenuIntracommReport " ), 0 , $user -> rights -> intracommreport -> read , '' , $mainmenu , 'intracommreport' , 60 , '' , '' , '' , img_picto ( '' , 'intracommreport' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/intracommreport/' , $leftmenu )) {
// DEB / DES
$newmenu -> add ( " /intracommreport/card.php?action=create&leftmenu=intracommreport " , $langs -> trans ( " MenuIntracommReportNew " ), 1 , $user -> rights -> intracommreport -> write , '' , $mainmenu , 'intracommreport' , 1 );
$newmenu -> add ( " /intracommreport/list.php?leftmenu=intracommreport " , $langs -> trans ( " MenuIntracommReportList " ), 1 , $user -> rights -> intracommreport -> read , '' , $mainmenu , 'intracommreport' , 1 );
2020-10-31 14:32:18 +01:00
}
2022-03-02 22:41:00 +01:00
}
2019-05-21 09:55:41 +02:00
2022-03-02 22:41:00 +01:00
// Assets
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'asset' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /asset/list.php?leftmenu=asset&mainmenu=accountancy " , $langs -> trans ( " MenuAssets " ), 0 , $user -> rights -> asset -> read , '' , $mainmenu , 'asset' , 100 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /asset/card.php?leftmenu=asset&action=create " , $langs -> trans ( " MenuNewAsset " ), 1 , $user -> rights -> asset -> write );
$newmenu -> add ( " /asset/list.php?leftmenu=asset&mainmenu=accountancy " , $langs -> trans ( " MenuListAssets " ), 1 , $user -> rights -> asset -> read );
2022-05-22 06:47:28 +02:00
$newmenu -> add ( " /asset/model/list.php?leftmenu=asset_model " , $langs -> trans ( " MenuAssetModels " ), 1 , ( empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) && $user -> rights -> asset -> read ) || ( ! empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) && ! empty ( $user -> rights -> asset -> model_advance -> read )), '' , $mainmenu , 'asset_model' );
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || preg_match ( '/asset_model/' , $leftmenu )) {
2022-05-22 06:47:28 +02:00
$newmenu -> add ( " /asset/model/card.php?leftmenu=asset_model&action=create " , $langs -> trans ( " MenuNewAssetModel " ), 2 , ( empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) && $user -> rights -> asset -> write ) || ( ! empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) && ! empty ( $user -> rights -> asset -> model_advance -> write )));
$newmenu -> add ( " /asset/model/list.php?leftmenu=asset_model " , $langs -> trans ( " MenuListAssetModels " ), 2 , ( empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) && $user -> rights -> asset -> read ) || ( ! empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS ) && ! empty ( $user -> rights -> asset -> model_advance -> read )));
2018-04-01 21:26:52 +02:00
}
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
/**
* Get left Menu BANK
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_bank ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
if ( $mainmenu == 'bank' ) {
// Load translation files required by the page
$langs -> loadLangs ( array ( " withdrawals " , " banks " , " bills " , " categories " ));
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Bank-Cash account
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'banque' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/bank/list.php?leftmenu=bank&mainmenu=bank " , $langs -> trans ( " MenuBankCash " ), 0 , $user -> rights -> banque -> lire , '' , $mainmenu , 'bank' , 0 , '' , '' , '' , img_picto ( '' , 'bank_account' , 'class="paddingright pictofixedwidth"' ));
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/bank/card.php?action=create " , $langs -> trans ( " MenuNewFinancialAccount " ), 1 , $user -> rights -> banque -> configurer );
$newmenu -> add ( " /compta/bank/list.php?leftmenu=bank&mainmenu=bank " , $langs -> trans ( " List " ), 1 , $user -> rights -> banque -> lire , '' , $mainmenu , 'bank' );
$newmenu -> add ( " /compta/bank/bankentries_list.php " , $langs -> trans ( " ListTransactions " ), 1 , $user -> rights -> banque -> lire );
$newmenu -> add ( " /compta/bank/budget.php " , $langs -> trans ( " ListTransactionsByCategory " ), 1 , $user -> rights -> banque -> lire );
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/bank/transfer.php " , $langs -> trans ( " MenuBankInternalTransfer " ), 1 , $user -> rights -> banque -> transfer );
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " categories " );
$newmenu -> add ( " /categories/index.php?type=5 " , $langs -> trans ( " Rubriques " ), 1 , $user -> rights -> categorie -> creer , '' , $mainmenu , 'tags' );
$newmenu -> add ( " /compta/bank/categ.php " , $langs -> trans ( " RubriquesTransactions " ), 1 , $user -> rights -> banque -> configurer , '' , $mainmenu , 'tags' );
}
// Direct debit order
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'prelevement' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank " , $langs -> trans ( " PaymentByDirectDebit " ), 0 , $user -> rights -> prelevement -> bons -> lire , '' , $mainmenu , 'withdraw' , 0 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " withdraw " ) {
$newmenu -> add ( " /compta/prelevement/create.php?mainmenu=bank " , $langs -> trans ( " NewStandingOrder " ), 1 , $user -> rights -> prelevement -> bons -> creer );
$newmenu -> add ( " /compta/prelevement/orders_list.php?mainmenu=bank " , $langs -> trans ( " WithdrawalsReceipts " ), 1 , $user -> rights -> prelevement -> bons -> lire );
$newmenu -> add ( " /compta/prelevement/list.php?mainmenu=bank " , $langs -> trans ( " WithdrawalsLines " ), 1 , $user -> rights -> prelevement -> bons -> lire );
$newmenu -> add ( " /compta/prelevement/rejets.php?mainmenu=bank " , $langs -> trans ( " Rejects " ), 1 , $user -> rights -> prelevement -> bons -> lire );
$newmenu -> add ( " /compta/prelevement/stats.php?mainmenu=bank " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> prelevement -> bons -> lire );
2018-12-15 15:35:59 +01:00
}
2022-03-02 22:41:00 +01:00
}
2016-04-30 14:45:24 +02:00
2022-03-02 22:41:00 +01:00
// Bank transfer order
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'paymentbybanktransfer' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/paymentbybanktransfer/index.php?leftmenu=banktransfer&mainmenu=bank " , $langs -> trans ( " PaymentByBankTransfer " ), 0 , $user -> rights -> paymentbybanktransfer -> read , '' , $mainmenu , 'banktransfer' , 0 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " banktransfer " ) {
$newmenu -> add ( " /compta/prelevement/create.php?type=bank-transfer&mainmenu=bank " , $langs -> trans ( " NewPaymentByBankTransfer " ), 1 , $user -> rights -> paymentbybanktransfer -> create );
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/prelevement/orders_list.php?type=bank-transfer&mainmenu=bank " , $langs -> trans ( " PaymentByBankTransferReceipts " ), 1 , $user -> rights -> paymentbybanktransfer -> read );
$newmenu -> add ( " /compta/prelevement/list.php?type=bank-transfer&mainmenu=bank " , $langs -> trans ( " PaymentByBankTransferLines " ), 1 , $user -> rights -> paymentbybanktransfer -> read );
$newmenu -> add ( " /compta/prelevement/rejets.php?type=bank-transfer&mainmenu=bank " , $langs -> trans ( " Rejects " ), 1 , $user -> rights -> paymentbybanktransfer -> read );
$newmenu -> add ( " /compta/prelevement/stats.php?type=bank-transfer&mainmenu=bank " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> paymentbybanktransfer -> read );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Management of checks
2022-06-09 21:33:39 +02:00
if ( empty ( $conf -> global -> BANK_DISABLE_CHECK_DEPOSIT ) && isModEnabled ( 'banque' ) && ( isModEnabled ( 'facture' ) || ! empty ( $conf -> global -> MAIN_MENU_CHEQUE_DEPOSIT_ON ))) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank " , $langs -> trans ( " MenuChequeDeposits " ), 0 , $user -> rights -> banque -> cheque , '' , $mainmenu , 'checks' , 0 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
if ( preg_match ( '/checks/' , $leftmenu )) {
$newmenu -> add ( " /compta/paiement/cheque/card.php?leftmenu=checks_bis&action=new&mainmenu=bank " , $langs -> trans ( " NewChequeDeposit " ), 1 , $user -> rights -> banque -> cheque );
$newmenu -> add ( " /compta/paiement/cheque/list.php?leftmenu=checks_bis&mainmenu=bank " , $langs -> trans ( " List " ), 1 , $user -> rights -> banque -> cheque );
}
}
2020-05-17 15:06:09 +02:00
2022-03-02 22:41:00 +01:00
// Cash Control
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'takepos' ) || isModEnabled ( 'cashdesk' )) {
2022-03-02 22:41:00 +01:00
$permtomakecashfence = ( $user -> hasRight ( 'cashdesk' , 'run' ) || $user -> hasRight ( 'takepos' , 'run' ));
$newmenu -> add ( " /compta/cashcontrol/cashcontrol_list.php?action=list " , $langs -> trans ( " POS " ), 0 , $permtomakecashfence , '' , $mainmenu , 'cashcontrol' , 0 , '' , '' , '' , img_picto ( '' , 'pos' , 'class="pictofixedwidth"' ));
$newmenu -> add ( " /compta/cashcontrol/cashcontrol_card.php?action=create " , $langs -> trans ( " NewCashFence " ), 1 , $permtomakecashfence );
$newmenu -> add ( " /compta/cashcontrol/cashcontrol_list.php?action=list " , $langs -> trans ( " List " ), 1 , $permtomakecashfence );
}
}
}
2020-05-17 15:06:09 +02:00
2022-03-02 22:41:00 +01:00
/**
* Get left Menu PRODUCTS - SERVICES
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_products ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
if ( $mainmenu == 'products' ) {
// Products
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'product' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /product/index.php?leftmenu=product&type=0 " , $langs -> trans ( " Products " ), 0 , $user -> rights -> produit -> lire , '' , $mainmenu , 'product' , 0 , '' , '' , '' , img_picto ( '' , 'product' , 'class="pictofixedwidth"' ));
$newmenu -> add ( " /product/card.php?leftmenu=product&action=create&type=0 " , $langs -> trans ( " NewProduct " ), 1 , $user -> rights -> produit -> creer );
$newmenu -> add ( " /product/list.php?leftmenu=product&type=0 " , $langs -> trans ( " List " ), 1 , $user -> rights -> produit -> lire );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'stock' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /product/reassort.php?type=0 " , $langs -> trans ( " MenuStocks " ), 1 , $user -> rights -> produit -> lire && $user -> rights -> stock -> lire );
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'productbatch' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " stocks " );
$newmenu -> add ( " /product/reassortlot.php?type=0 " , $langs -> trans ( " StocksByLotSerial " ), 1 , $user -> rights -> produit -> lire && $user -> rights -> stock -> lire );
$newmenu -> add ( " /product/stock/productlot_list.php " , $langs -> trans ( " LotSerial " ), 1 , $user -> rights -> produit -> lire && $user -> rights -> stock -> lire );
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'variants' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /variants/list.php " , $langs -> trans ( " VariantAttributes " ), 1 , $user -> rights -> produit -> lire );
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'propal' ) || ( isModEnabled ( 'commande' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'facture' ) || isModEnabled ( 'fournisseur' ) || isModEnabled ( 'supplier_proposal' ) || isModEnabled ( 'supplier_order' ) || isModEnabled ( 'supplier_invoice' )) {
2022-06-10 09:43:19 +02:00
$newmenu -> add ( " /product/stats/card.php?id=all&leftmenu=stats&type=0 " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> produit -> lire );
2020-05-17 15:06:09 +02:00
}
2022-03-02 22:41:00 +01:00
// Categories
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " categories " );
$newmenu -> add ( " /categories/index.php?leftmenu=cat&type=0 " , $langs -> trans ( " Categories " ), 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="cat") $newmenu->add("/categories/list.php", $langs->trans("List"), 1, $user->rights->categorie->lire);
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
2018-12-15 18:21:37 +01:00
2022-03-02 22:41:00 +01:00
// Services
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'service' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /product/index.php?leftmenu=service&type=1 " , $langs -> trans ( " Services " ), 0 , $user -> rights -> service -> lire , '' , $mainmenu , 'service' , 0 , '' , '' , '' , img_picto ( '' , 'service' , 'class="pictofixedwidth"' ));
$newmenu -> add ( " /product/card.php?leftmenu=service&action=create&type=1 " , $langs -> trans ( " NewService " ), 1 , $user -> rights -> service -> creer );
$newmenu -> add ( " /product/list.php?leftmenu=service&type=1 " , $langs -> trans ( " List " ), 1 , $user -> rights -> service -> lire );
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'propal' ) || isModEnabled ( 'commande' ) || isModEnabled ( 'facture' ) || ( isModEnabled ( 'fournisseur' ) && empty ( $conf -> global -> MAIN_USE_NEW_SUPPLIERMOD )) || isModEnabled ( 'supplier_proposal' ) || isModEnabled ( 'supplier_order' ) || isModEnabled ( 'supplier_invoice' )) {
2022-06-10 09:43:19 +02:00
$newmenu -> add ( " /product/stats/card.php?id=all&leftmenu=stats&type=1 " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> service -> lire );
2022-03-02 22:41:00 +01:00
}
// Categories
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " categories " );
$newmenu -> add ( " /categories/index.php?leftmenu=cat&type=0 " , $langs -> trans ( " Categories " ), 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="cat") $newmenu->add("/categories/list.php", $langs->trans("List"), 1, $user->rights->categorie->lire);
2018-12-08 21:33:54 +01:00
}
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
// Warehouse
2022-06-02 10:29:34 +02:00
if ( isModEnabled ( 'stock' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " stocks " );
$newmenu -> add ( " /product/stock/index.php?leftmenu=stock " , $langs -> trans ( " Warehouses " ), 0 , $user -> rights -> stock -> lire , '' , $mainmenu , 'stock' , 0 , '' , '' , '' , img_picto ( '' , 'stock' , 'class="pictofixedwidth"' ));
$newmenu -> add ( " /product/stock/card.php?action=create " , $langs -> trans ( " MenuNewWarehouse " ), 1 , $user -> rights -> stock -> creer );
$newmenu -> add ( " /product/stock/list.php " , $langs -> trans ( " List " ), 1 , $user -> rights -> stock -> lire );
$newmenu -> add ( " /product/stock/movement_list.php " , $langs -> trans ( " Movements " ), 1 , $user -> rights -> stock -> mouvement -> lire );
$newmenu -> add ( " /product/stock/massstockmove.php " , $langs -> trans ( " MassStockTransferShort " ), 1 , $user -> rights -> stock -> mouvement -> creer );
2022-06-02 10:29:34 +02:00
if ( isModEnabled ( 'supplier_order' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /product/stock/replenish.php " , $langs -> trans ( " Replenishment " ), 1 , $user -> rights -> stock -> mouvement -> creer && $user -> rights -> fournisseur -> lire );
}
$newmenu -> add ( " /product/stock/stockatdate.php " , $langs -> trans ( " StockAtDate " ), 1 , $user -> rights -> produit -> lire && $user -> rights -> stock -> lire );
2018-10-09 15:26:15 +02:00
2022-03-02 22:41:00 +01:00
// Categories for warehouses
2022-06-02 10:29:34 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /categories/index.php?leftmenu=stock&type=9 " , $langs -> trans ( " Categories " ), 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
2013-02-24 21:16:36 +01:00
2022-06-02 10:29:34 +02:00
if ( isModEnabled ( 'stocktransfer' )) {
2022-04-12 09:08:57 +02:00
$newmenu -> add ( '/product/stock/stocktransfer/stocktransfer_list.php' , $langs -> trans ( " ModuleStockTransferName " ), 0 , $user -> rights -> stocktransfer -> stocktransfer -> read , '' , $mainmenu , 'stocktransfer' , 0 , '' , '' , '' , img_picto ( '' , 'stock' , 'class="pictofixedwidth"' ));
$newmenu -> add ( '/product/stock/stocktransfer/stocktransfer_card.php?action=create' , $langs -> trans ( 'StockTransferNew' ), 1 , $user -> rights -> stocktransfer -> stocktransfer -> write );
$newmenu -> add ( '/product/stock/stocktransfer/stocktransfer_list.php' , $langs -> trans ( 'List' ), 1 , $user -> rights -> stocktransfer -> stocktransfer -> read );
}
2022-03-02 22:41:00 +01:00
// Inventory
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'stock' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " stocks " );
if ( empty ( $conf -> global -> MAIN_USE_ADVANCED_PERMS )) {
$newmenu -> add ( " /product/inventory/list.php?leftmenu=stock_inventories " , $langs -> trans ( " Inventories " ), 0 , $user -> rights -> stock -> lire , '' , $mainmenu , 'stock' , 0 , '' , '' , '' , img_picto ( '' , 'inventory' , 'class="pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " stock_inventories " ) {
$newmenu -> add ( " /product/inventory/card.php?action=create&leftmenu=stock_inventories " , $langs -> trans ( " NewInventory " ), 1 , $user -> rights -> stock -> creer );
$newmenu -> add ( " /product/inventory/list.php?leftmenu=stock_inventories " , $langs -> trans ( " List " ), 1 , $user -> rights -> stock -> lire );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
} else {
$newmenu -> add ( " /product/inventory/list.php?leftmenu=stock_inventories " , $langs -> trans ( " Inventories " ), 0 , $user -> rights -> stock -> inventory_advance -> read , '' , $mainmenu , 'stock' , 0 , '' , '' , '' , img_picto ( '' , 'inventory' , 'class="pictofixedwidth"' ));
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " stock_inventories " ) {
$newmenu -> add ( " /product/inventory/card.php?action=create&leftmenu=stock_inventories " , $langs -> trans ( " NewInventory " ), 1 , $user -> rights -> stock -> inventory_advance -> write );
$newmenu -> add ( " /product/inventory/list.php?leftmenu=stock_inventories " , $langs -> trans ( " List " ), 1 , $user -> rights -> stock -> inventory_advance -> read );
2018-10-09 15:26:15 +02:00
}
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
// Shipments
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'expedition' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " sendings " );
$newmenu -> add ( " /expedition/index.php?leftmenu=sendings " , $langs -> trans ( " Shipments " ), 0 , $user -> rights -> expedition -> lire , '' , $mainmenu , 'sendings' , 0 , '' , '' , '' , img_picto ( '' , 'shipment' , 'class="pictofixedwidth"' ));
$newmenu -> add ( " /expedition/card.php?action=create2&leftmenu=sendings " , $langs -> trans ( " NewSending " ), 1 , $user -> rights -> expedition -> creer );
$newmenu -> add ( " /expedition/list.php?leftmenu=sendings " , $langs -> trans ( " List " ), 1 , $user -> rights -> expedition -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " sendings " ) {
$newmenu -> add ( " /expedition/list.php?leftmenu=sendings&search_status=0 " , $langs -> trans ( " StatusSendingDraftShort " ), 2 , $user -> rights -> expedition -> lire );
$newmenu -> add ( " /expedition/list.php?leftmenu=sendings&search_status=1 " , $langs -> trans ( " StatusSendingValidatedShort " ), 2 , $user -> rights -> expedition -> lire );
$newmenu -> add ( " /expedition/list.php?leftmenu=sendings&search_status=2 " , $langs -> trans ( " StatusSendingProcessedShort " ), 2 , $user -> rights -> expedition -> lire );
}
$newmenu -> add ( " /expedition/stats/index.php?leftmenu=sendings " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> expedition -> lire );
}
2019-09-27 13:28:28 +02:00
2022-03-02 22:41:00 +01:00
// Receptions
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'reception' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " receptions " );
$newmenu -> add ( " /reception/index.php?leftmenu=receptions " , $langs -> trans ( " Receptions " ), 0 , $user -> rights -> reception -> lire , '' , $mainmenu , 'receptions' , 0 , '' , '' , '' , img_picto ( '' , 'dollyrevert' , 'class="pictofixedwidth"' ));
$newmenu -> add ( " /reception/card.php?action=create2&leftmenu=receptions " , $langs -> trans ( " NewReception " ), 1 , $user -> rights -> reception -> creer );
$newmenu -> add ( " /reception/list.php?leftmenu=receptions " , $langs -> trans ( " List " ), 1 , $user -> rights -> reception -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " receptions " ) {
$newmenu -> add ( " /reception/list.php?leftmenu=receptions&search_status=0 " , $langs -> trans ( " StatusReceptionDraftShort " ), 2 , $user -> rights -> reception -> lire );
}
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " receptions " ) {
$newmenu -> add ( " /reception/list.php?leftmenu=receptions&search_status=1 " , $langs -> trans ( " StatusReceptionValidatedShort " ), 2 , $user -> rights -> reception -> lire );
}
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " receptions " ) {
$newmenu -> add ( " /reception/list.php?leftmenu=receptions&search_status=2 " , $langs -> trans ( " StatusReceptionProcessedShort " ), 2 , $user -> rights -> reception -> lire );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /reception/stats/index.php?leftmenu=receptions " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> reception -> lire );
}
}
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
/**
* Get left Menu PRODUCTS - SERVICES MRP - GPAO
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_mrp ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
2022-03-19 15:03:32 +01:00
2022-03-02 22:41:00 +01:00
if ( $mainmenu == 'mrp' ) {
// BOM
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'bom' ) || isModEnabled ( 'mrp' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " mrp " );
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " " , $langs -> trans ( " MenuBOM " ), 0 , $user -> rights -> bom -> read , '' , $mainmenu , 'bom' , 0 , '' , '' , '' , img_picto ( '' , 'bom' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /bom/bom_card.php?leftmenu=bom&action=create " , $langs -> trans ( " NewBOM " ), 1 , $user -> rights -> bom -> write , '' , $mainmenu , 'bom' );
$newmenu -> add ( " /bom/bom_list.php?leftmenu=bom " , $langs -> trans ( " List " ), 1 , $user -> rights -> bom -> read , '' , $mainmenu , 'bom' );
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'mrp' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " mrp " );
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " " , $langs -> trans ( " MenuMRP " ), 0 , $user -> rights -> mrp -> read , '' , $mainmenu , 'mo' , 0 , '' , '' , '' , img_picto ( '' , 'mrp' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /mrp/mo_card.php?leftmenu=mo&action=create " , $langs -> trans ( " NewMO " ), 1 , $user -> rights -> mrp -> write , '' , $mainmenu , 'mo' );
$newmenu -> add ( " /mrp/mo_list.php?leftmenu=mo " , $langs -> trans ( " List " ), 1 , $user -> rights -> mrp -> read , '' , $mainmenu , 'mo' );
}
}
}
/**
* Get left Menu PROJECTS
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_projects ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
2022-03-19 15:03:32 +01:00
2022-03-02 22:41:00 +01:00
if ( $mainmenu == 'project' ) {
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'projet' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " projects " );
$search_project_user = GETPOST ( 'search_project_user' , 'int' );
$tmpentry = array (
2022-06-09 21:33:39 +02:00
'enabled' => ( isModEnabled ( 'projet' )),
2022-03-02 22:41:00 +01:00
'perms' => ( ! empty ( $user -> rights -> projet -> lire )),
'module' => 'projet'
);
$listofmodulesforexternal = explode ( ',' , $conf -> global -> MAIN_MODULES_FOR_EXTERNAL );
$showmode = isVisibleToUserType ( $type_user , $tmpentry , $listofmodulesforexternal );
$titleboth = $langs -> trans ( " LeadsOrProjects " );
$titlenew = $langs -> trans ( " NewLeadOrProject " ); // Leads and opportunities by default
if ( empty ( $conf -> global -> PROJECT_USE_OPPORTUNITIES )) {
$titleboth = $langs -> trans ( " Projects " );
$titlenew = $langs -> trans ( " NewProject " );
}
if ( isset ( $conf -> global -> PROJECT_USE_OPPORTUNITIES ) && $conf -> global -> PROJECT_USE_OPPORTUNITIES == 2 ) { // 2 = leads only
$titleboth = $langs -> trans ( " Leads " );
$titlenew = $langs -> trans ( " NewLead " );
2017-04-29 21:53:01 +02:00
}
2017-06-02 19:28:22 +02:00
2022-03-02 22:41:00 +01:00
// Project assigned to user
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /projet/index.php?leftmenu=projects " . ( $search_project_user ? '&search_project_user=' . $search_project_user : '' ), $titleboth , 0 , $user -> rights -> projet -> lire , '' , $mainmenu , 'projects' , 0 , '' , '' , '' , img_picto ( '' , 'project' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /projet/card.php?leftmenu=projects&action=create " . ( $search_project_user ? '&search_project_user=' . $search_project_user : '' ), $titlenew , 1 , $user -> rights -> projet -> creer );
if ( empty ( $conf -> global -> PROJECT_USE_OPPORTUNITIES )) {
$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' );
} elseif ( isset ( $conf -> global -> PROJECT_USE_OPPORTUNITIES ) && $conf -> global -> PROJECT_USE_OPPORTUNITIES == 1 ) {
$newmenu -> add ( " /projet/list.php?leftmenu=projets " . ( $search_project_user ? '&search_project_user=' . $search_project_user : '' ), $langs -> trans ( " List " ), 1 , $showmode , '' , 'project' , 'list' );
$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 );
$newmenu -> add ( '/projet/list.php?mainmenu=project&leftmenu=list&search_opp_status=notopenedopp&search_status=99&contextpage=project' , $langs -> trans ( " ListOpenProjects " ), 2 , $showmode );
} elseif ( isset ( $conf -> global -> PROJECT_USE_OPPORTUNITIES ) && $conf -> global -> PROJECT_USE_OPPORTUNITIES == 2 ) { // 2 = leads only
$newmenu -> add ( '/projet/list.php?mainmenu=project&leftmenu=list&search_usage_opportunity=1&search_status=99' , $langs -> trans ( " List " ), 2 , $showmode );
2013-02-24 21:16:36 +01:00
}
2018-12-15 12:50:31 +01:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /projet/stats/index.php?leftmenu=projects " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> projet -> lire );
// Categories
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " categories " );
$newmenu -> add ( " /categories/index.php?leftmenu=cat&type=6 " , $langs -> trans ( " Categories " ), 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
}
if ( empty ( $conf -> global -> PROJECT_HIDE_TASKS )) {
// Project affected to user
2022-07-28 15:35:57 +02:00
$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' , 0 , '' , '' , '' , img_picto ( '' , 'projecttask' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /projet/tasks.php?leftmenu=tasks&action=create " , $langs -> trans ( " NewTask " ), 1 , $user -> rights -> projet -> creer );
$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 );
$newmenu -> add ( " /projet/tasks/stats/index.php?leftmenu=projects " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> projet -> lire );
2022-07-28 15:35:57 +02:00
$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 , '' , 'project' , 'timespent' , 0 , '' , '' , '' , img_picto ( '' , 'timespent' , 'class="paddingright pictofixedwidth"' ));
2022-06-14 14:41:10 +02:00
$newmenu -> add ( " /projet/tasks/time.php?leftmenu=tasks " . ( $search_project_user ? '&search_project_user=' . $search_project_user : '' ), $langs -> trans ( " List " ), 1 , $user -> rights -> projet -> lire );
2018-10-03 12:22:41 +02:00
}
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
}
2013-02-24 21:16:36 +01:00
2022-03-02 22:41:00 +01:00
/**
* Get left Menu HRM
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_hrm ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
if ( $mainmenu == 'hrm' ) {
// HRM module
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'hrm' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " hrm " );
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /user/list.php?mainmenu=hrm&leftmenu=hrm&mode=employee " , $langs -> trans ( " Employees " ), 0 , $user -> rights -> user -> user -> lire , '' , $mainmenu , 'hrm' , 0 , '' , '' , '' , img_picto ( '' , 'user' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /user/card.php?mainmenu=hrm&leftmenu=hrm&action=create&employee=1 " , $langs -> trans ( " NewEmployee " ), 1 , $user -> rights -> user -> user -> creer );
$newmenu -> add ( " /user/list.php?mainmenu=hrm&leftmenu=hrm&mode=employee&contextpage=employeelist " , $langs -> trans ( " List " ), 1 , $user -> rights -> user -> user -> lire );
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /hrm/skill_list.php?mainmenu=hrm&leftmenu=hrm_sm " , $langs -> trans ( " SkillsManagement " ), 0 , $user -> rights -> hrm -> all -> read , '' , $mainmenu , 'hrm_sm' , 0 , '' , '' , '' , img_picto ( '' , 'shapes' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
2022-03-17 15:20:23 +01:00
// Skills
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /hrm/skill_list.php?mainmenu=hrm&leftmenu=hrm_sm " , $langs -> trans ( " Skills " ), 1 , $user -> rights -> hrm -> all -> read , '' , $mainmenu , 'hrm_sm' , 0 , '' , '' , '' , img_picto ( '' , 'shapes' , 'class="paddingright pictofixedwidth"' ));
2022-03-17 15:20:23 +01:00
//$newmenu->add("/hrm/skill_card.php?mainmenu=hrm&leftmenu=hrm_sm&action=create", $langs->trans("NewSkill"), 1, $user->rights->hrm->all->write);
//$newmenu->add("/hrm/skill_list.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("List"), 1, $user->rights->hrm->all->read);
2022-03-02 22:41:00 +01:00
2022-03-17 15:20:23 +01:00
// Job (Description of work to do and skills required)
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /hrm/job_list.php?mainmenu=hrm&leftmenu=hrm_sm " , $langs -> trans ( " JobsPosition " ), 1 , $user -> rights -> hrm -> all -> read , '' , $mainmenu , 'hrm_sm' , 0 , '' , '' , '' , img_picto ( '' , 'technic' , 'class="paddingright pictofixedwidth"' ));
2022-03-17 15:20:23 +01:00
//$newmenu->add("/hrm/job_card.php?mainmenu=hrm&leftmenu=hrm_sm&action=create", $langs->transnoentities("NewObject", $langs->trans("Job")), 1, $user->rights->hrm->all->write);
//$newmenu->add("/hrm/job_list.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("List"), 1, $user->rights->hrm->all->read);
2022-03-02 22:41:00 +01:00
2022-03-17 15:20:23 +01:00
// Position = Link job - user
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /hrm/position_list.php?mainmenu=hrm&leftmenu=hrm_sm " , $langs -> trans ( " EmployeePositions " ), 1 , $user -> rights -> hrm -> all -> read , '' , $mainmenu , 'hrm_sm' , 0 , '' , '' , '' , img_picto ( '' , 'user-cog' , 'class="paddingright pictofixedwidth"' ));
2022-03-17 15:20:23 +01:00
//$newmenu->add("/hrm/position.php?mainmenu=hrm&leftmenu=hrm_sm&action=create", $langs->transnoentities("NewObject", $langs->trans("Position")), 1, $user->rights->hrm->all->write);
//$newmenu->add("/hrm/position_list.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("List"), 1, $user->rights->hrm->all->read);
2022-03-02 22:41:00 +01:00
2022-03-17 15:20:23 +01:00
// Evaluation
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /hrm/evaluation_list.php?mainmenu=hrm&leftmenu=hrm_sm " , $langs -> trans ( " Evals " ), 1 , $user -> rights -> hrm -> evaluation -> read , '' , $mainmenu , 'hrm_sm' , 0 , '' , '' , '' , img_picto ( '' , 'user' , 'class="paddingright pictofixedwidth"' ));
2022-03-17 15:20:23 +01:00
//$newmenu->add("/hrm/evaluation_card.php?mainmenu=hrm&leftmenu=hrm_sm&action=create", $langs->trans("NewEval"), 1, $user->rights->hrm->evaluation->write);
//$newmenu->add("/hrm/evaluation_list.php?mainmenu=hrm&leftmenu=hrm_sm", $langs->trans("List"), 1, $user->rights->hrm->evaluation->read);
$newmenu -> add ( " /hrm/compare.php?mainmenu=hrm&leftmenu=hrm_sm " , $langs -> trans ( " SkillComparison " ), 1 , $user -> rights -> hrm -> evaluation -> read || $user -> rights -> hrm -> compare_advance -> read );
2022-03-02 22:41:00 +01:00
}
2020-09-07 10:18:17 +02:00
2022-03-02 22:41:00 +01:00
// Leave/Holiday/Vacation module
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'holiday' )) {
2022-03-02 22:41:00 +01:00
// Load translation files required by the page
$langs -> loadLangs ( array ( " holiday " , " trips " ));
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /holiday/list.php?mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " CPTitreMenu " ), 0 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday' , 0 , '' , '' , '' , img_picto ( '' , 'holiday' , 'class="paddingright pictofixedwidth"' ));
2022-05-24 15:24:31 +02:00
$newmenu -> add ( " /holiday/card.php?mainmenu=hrm&leftmenu=holiday&action=create " , $langs -> trans ( " New " ), 1 , $user -> rights -> holiday -> write , '' , $mainmenu );
$newmenu -> add ( " /holiday/list.php?mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " List " ), 1 , $user -> rights -> holiday -> read , '' , $mainmenu );
2022-05-24 15:13:22 +02:00
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " holiday " ) {
2022-05-24 15:24:31 +02:00
$newmenu -> add ( " /holiday/list.php?search_status=1&mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " DraftCP " ), 2 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday_sm' );
$newmenu -> add ( " /holiday/list.php?search_status=2&mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " ToReviewCP " ), 2 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday_sm' );
$newmenu -> add ( " /holiday/list.php?search_status=3&mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " ApprovedCP " ), 2 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday_sm' );
$newmenu -> add ( " /holiday/list.php?search_status=4&mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " CancelCP " ), 2 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday_sm' );
$newmenu -> add ( " /holiday/list.php?search_status=5&mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " RefuseCP " ), 2 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday_sm' );
}
$newmenu -> add ( " /holiday/define_holiday.php?mainmenu=hrm&action=request " , $langs -> trans ( " MenuConfCP " ), 1 , $user -> rights -> holiday -> read , '' , $mainmenu , 'holiday_sm' );
$newmenu -> add ( " /holiday/month_report.php?mainmenu=hrm&leftmenu=holiday " , $langs -> trans ( " MenuReportMonth " ), 1 , $user -> rights -> holiday -> readall , '' , $mainmenu , 'holiday_sm' );
$newmenu -> add ( " /holiday/view_log.php?mainmenu=hrm&leftmenu=holiday&action=request " , $langs -> trans ( " MenuLogCP " ), 1 , $user -> rights -> holiday -> define_holiday , '' , $mainmenu , 'holiday_sm' );
2022-03-02 22:41:00 +01:00
}
2020-09-07 10:18:17 +02:00
2022-03-02 22:41:00 +01:00
// Trips and expenses (old module)
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'deplacement' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " trips " );
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /compta/deplacement/index.php?leftmenu=tripsandexpenses&mainmenu=hrm " , $langs -> trans ( " TripsAndExpenses " ), 0 , $user -> rights -> deplacement -> lire , '' , $mainmenu , 'tripsandexpenses' , 0 , '' , '' , '' , img_picto ( '' , 'trip' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses&mainmenu=hrm " , $langs -> trans ( " New " ), 1 , $user -> rights -> deplacement -> creer );
$newmenu -> add ( " /compta/deplacement/list.php?leftmenu=tripsandexpenses&mainmenu=hrm " , $langs -> trans ( " List " ), 1 , $user -> rights -> deplacement -> lire );
$newmenu -> add ( " /compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&mainmenu=hrm " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> deplacement -> lire );
}
2020-09-07 10:18:17 +02:00
2022-03-02 22:41:00 +01:00
// Expense report
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'expensereport' )) {
2022-04-15 12:14:41 +02:00
$langs -> loadLangs ( array ( " trips " , " bills " ));
2022-07-28 15:35:57 +02:00
$newmenu -> add ( " /expensereport/index.php?leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " TripsAndExpenses " ), 0 , $user -> rights -> expensereport -> lire , '' , $mainmenu , 'expensereport' , 0 , '' , '' , '' , img_picto ( '' , 'trip' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /expensereport/card.php?action=create&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " New " ), 1 , $user -> rights -> expensereport -> creer );
$newmenu -> add ( " /expensereport/list.php?leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " List " ), 1 , $user -> rights -> expensereport -> lire );
if ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == " expensereport " ) {
$newmenu -> add ( " /expensereport/list.php?search_status=0&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Draft " ), 2 , $user -> rights -> expensereport -> lire );
$newmenu -> add ( " /expensereport/list.php?search_status=2&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Validated " ), 2 , $user -> rights -> expensereport -> lire );
$newmenu -> add ( " /expensereport/list.php?search_status=5&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Approved " ), 2 , $user -> rights -> expensereport -> lire );
$newmenu -> add ( " /expensereport/list.php?search_status=6&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Paid " ), 2 , $user -> rights -> expensereport -> lire );
$newmenu -> add ( " /expensereport/list.php?search_status=4&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Canceled " ), 2 , $user -> rights -> expensereport -> lire );
$newmenu -> add ( " /expensereport/list.php?search_status=99&leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Refused " ), 2 , $user -> rights -> expensereport -> lire );
2020-09-07 10:18:17 +02:00
}
2022-04-15 12:14:41 +02:00
$newmenu -> add ( " /expensereport/payment/list.php?leftmenu=expensereport_payments&mainmenu=hrm " , $langs -> trans ( " Payments " ), 1 , $user -> rights -> expensereport -> lire );
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /expensereport/stats/index.php?leftmenu=expensereport&mainmenu=hrm " , $langs -> trans ( " Statistics " ), 1 , $user -> rights -> expensereport -> lire );
2019-02-26 19:27:04 +01:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'projet' )) {
2022-03-02 22:41:00 +01:00
if ( empty ( $conf -> global -> PROJECT_HIDE_TASKS )) {
2013-02-24 21:16:36 +01:00
$langs -> load ( " projects " );
2017-06-02 19:28:22 +02:00
2019-01-27 11:55:16 +01:00
$search_project_user = GETPOST ( 'search_project_user' , 'int' );
2017-06-02 19:28:22 +02:00
2022-07-28 15:35:57 +02:00
$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 , '' , $mainmenu , 'timespent' , 0 , '' , '' , '' , img_picto ( '' , 'timespent' , 'class="paddingright pictofixedwidth"' ));
2022-03-02 22:41:00 +01:00
}
}
}
}
2013-02-24 21:16:36 +01:00
2022-05-24 15:13:22 +02:00
2022-03-02 22:41:00 +01:00
/**
* Get left Menu TOOLS
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_tools ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
2022-03-19 15:03:32 +01:00
2022-03-02 22:41:00 +01:00
if ( $mainmenu == 'tools' ) {
if ( empty ( $user -> socid )) { // limit to internal users
$langs -> load ( " mails " );
$newmenu -> add ( " /admin/mails_templates.php?leftmenu=email_templates " , $langs -> trans ( " EMailTemplates " ), 0 , 1 , '' , $mainmenu , 'email_templates' , 0 , '' , '' , '' , img_picto ( '' , 'email' , 'class="paddingright pictofixedwidth"' ));
}
2017-06-02 19:28:22 +02:00
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'mailing' )) {
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /comm/mailing/index.php?leftmenu=mailing " , $langs -> trans ( " EMailings " ), 0 , $user -> rights -> mailing -> lire , '' , $mainmenu , 'mailing' , 0 , '' , '' , '' , img_picto ( '' , 'email' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /comm/mailing/card.php?leftmenu=mailing&action=create " , $langs -> trans ( " NewMailing " ), 1 , $user -> rights -> mailing -> creer );
$newmenu -> add ( " /comm/mailing/list.php?leftmenu=mailing " , $langs -> trans ( " List " ), 1 , $user -> rights -> mailing -> lire );
}
2018-10-26 14:38:26 +02:00
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'export' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " exports " );
$newmenu -> add ( " /exports/index.php?leftmenu=export " , $langs -> trans ( " FormatedExport " ), 0 , $user -> rights -> export -> lire , '' , $mainmenu , 'export' , 0 , '' , '' , '' , img_picto ( '' , 'technic' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /exports/export.php?leftmenu=export " , $langs -> trans ( " NewExport " ), 1 , $user -> rights -> export -> creer );
//$newmenu->add("/exports/export.php?leftmenu=export",$langs->trans("List"),1, $user->rights->export->lire);
}
2015-02-02 13:27:55 +01:00
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'import' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " exports " );
$newmenu -> add ( " /imports/index.php?leftmenu=import " , $langs -> trans ( " FormatedImport " ), 0 , $user -> rights -> import -> run , '' , $mainmenu , 'import' , 0 , '' , '' , '' , img_picto ( '' , 'technic' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /imports/import.php?leftmenu=import " , $langs -> trans ( " NewImport " ), 1 , $user -> rights -> import -> run );
2013-02-24 21:16:36 +01:00
}
2022-03-02 22:41:00 +01:00
}
}
2013-07-07 03:26:51 +02:00
2022-03-02 22:41:00 +01:00
/**
* Get left Menu MEMBERS
*
2022-03-19 15:03:32 +01:00
* @ param string $mainmenu Main menu
* @ param Menu $newmenu Object Menu to return back list of menu entries
* @ param string $usemenuhider Use menu hider
* @ param string $leftmenu Left menu
* @ param int $type_user Type of targeted user for menu
2022-03-02 22:41:00 +01:00
* @ return void
*/
function get_left_menu_members ( $mainmenu , & $newmenu , $usemenuhider = 1 , $leftmenu = 'none' , $type_user = 0 )
{
global $user , $conf , $langs ;
if ( $mainmenu == 'members' ) {
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'adherent' )) {
2022-03-02 22:41:00 +01:00
// Load translation files required by the page
$langs -> loadLangs ( array ( " members " , " compta " ));
$newmenu -> add ( " /adherents/index.php?leftmenu=members&mainmenu=members " , $langs -> trans ( " Members " ), 0 , $user -> rights -> adherent -> lire , '' , $mainmenu , 'members' , 0 , '' , '' , '' , img_picto ( '' , 'member' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /adherents/card.php?leftmenu=members&action=create " , $langs -> trans ( " NewMember " ), 1 , $user -> rights -> adherent -> creer );
$newmenu -> add ( " /adherents/list.php?leftmenu=members " , $langs -> trans ( " List " ), 1 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=-1 " , $langs -> trans ( " MenuMembersToValidate " ), 2 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=1 " , $langs -> trans ( " MenuMembersValidated " ), 2 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=1&filter=withoutsubscription " , $langs -> trans ( " WithoutSubscription " ), 3 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=1&filter=uptodate " , $langs -> trans ( " UpToDate " ), 3 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=1&filter=outofdate " , $langs -> trans ( " OutOfDate " ), 3 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=0 " , $langs -> trans ( " MenuMembersResiliated " ), 2 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/stats/index.php?leftmenu=members " , $langs -> trans ( " MenuMembersStats " ), 1 , $user -> rights -> adherent -> lire );
$newmenu -> add ( " /adherents/cartes/carte.php?leftmenu=export " , $langs -> trans ( " MembersCards " ), 1 , $user -> rights -> adherent -> export );
if ( ! empty ( $conf -> global -> MEMBER_LINK_TO_HTPASSWDFILE ) && ( $usemenuhider || empty ( $leftmenu ) || $leftmenu == 'none' || $leftmenu == " members " || $leftmenu == " export " )) {
$newmenu -> add ( " /adherents/htpasswd.php?leftmenu=export " , $langs -> trans ( " Filehtpasswd " ), 1 , $user -> rights -> adherent -> export );
2015-11-17 22:51:34 +01:00
}
2022-06-09 21:33:39 +02:00
if ( isModEnabled ( 'categorie' )) {
2022-03-02 22:41:00 +01:00
$langs -> load ( " categories " );
$newmenu -> add ( " /categories/index.php?leftmenu=cat&type=3 " , $langs -> trans ( " Categories " ), 1 , $user -> rights -> categorie -> lire , '' , $mainmenu , 'cat' );
2016-08-30 21:43:17 +02:00
}
2017-09-18 13:15:24 +02:00
2022-03-02 22:41:00 +01:00
$newmenu -> add ( " /adherents/index.php?leftmenu=members&mainmenu=members " , $langs -> trans ( " Subscriptions " ), 0 , $user -> rights -> adherent -> cotisation -> lire , '' , $mainmenu , 'members' , 0 , '' , '' , '' , img_picto ( '' , 'payment' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /adherents/list.php?leftmenu=members&statut=-1,1&mainmenu=members " , $langs -> trans ( " NewSubscription " ), 1 , $user -> rights -> adherent -> cotisation -> creer );
$newmenu -> add ( " /adherents/subscription/list.php?leftmenu=members " , $langs -> trans ( " List " ), 1 , $user -> rights -> adherent -> cotisation -> lire );
$newmenu -> add ( " /adherents/stats/index.php?leftmenu=members " , $langs -> trans ( " MenuMembersStats " ), 1 , $user -> rights -> adherent -> lire );
2017-09-18 13:15:24 +02:00
2022-03-02 22:41:00 +01:00
//$newmenu->add("/adherents/index.php?leftmenu=export&mainmenu=members",$langs->trans("Tools"),0,$user->rights->adherent->export, '', $mainmenu, 'export');
2022-06-09 21:33:39 +02:00
//if (isModEnabled('export') && ($usemenuhider || empty($leftmenu) || $leftmenu=="export")) $newmenu->add("/exports/index.php?leftmenu=export",$langs->trans("Datas"),1,$user->rights->adherent->export);
2017-09-18 13:15:24 +02:00
2022-03-02 22:41:00 +01:00
// Type
$newmenu -> add ( " /adherents/type.php?leftmenu=setup&mainmenu=members " , $langs -> trans ( " MembersTypes " ), 0 , $user -> rights -> adherent -> configurer , '' , $mainmenu , 'setup' , 0 , '' , '' , '' , img_picto ( '' , 'members' , 'class="paddingright pictofixedwidth"' ));
$newmenu -> add ( " /adherents/type.php?leftmenu=setup&mainmenu=members&action=create " , $langs -> trans ( " New " ), 1 , $user -> rights -> adherent -> configurer );
$newmenu -> add ( " /adherents/type.php?leftmenu=setup&mainmenu=members " , $langs -> trans ( " List " ), 1 , $user -> rights -> adherent -> configurer );
2013-05-04 01:22:09 +02:00
}
2022-03-02 22:41:00 +01:00
}
}