Debug v23

This commit is contained in:
Laurent Destailleur
2025-12-06 03:27:49 +01:00
parent 05c52317b2
commit fcd6b4ce6b
13 changed files with 36 additions and 38 deletions

View File

@@ -11608,7 +11608,7 @@ function dol_getIdFromCode($db, $key, $tablename, $fieldkey = 'code', $fieldid =
* Check if a variable with name $var start with $regextext. * Check if a variable with name $var start with $regextext.
* Can be used to forge dol_eval() conditions. * Can be used to forge dol_eval() conditions.
* *
* @param string $var Variable * @param string $var Variable name ('mainmenu' or 'leftmenu', ...)
* @param string $regextext Text that must be a valid regex string * @param string $regextext Text that must be a valid regex string
* @param int<0,1> $matchrule 1=Test if start with, 0=Test if equal * @param int<0,1> $matchrule 1=Test if start with, 0=Test if equal
* @return boolean|string True or False, text if bad usage. * @return boolean|string True or False, text if bad usage.

View File

@@ -132,8 +132,8 @@ class modAsset extends DolibarrModules
// Array to add new pages in new tabs // Array to add new pages in new tabs
$this->tabs = array(); $this->tabs = array();
// Example: // Example:
// $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:mylangfile@assets:$user->rights->assets->read:/asset/mynewtab1.php?id=__ID__'); // To add a new tab identified by code tabname1 // $this->tabs[] = array('data'=>'objecttype:+tabname1:Title1:mylangfile@assets:$user->hasRight("assets","read"):/asset/mynewtab1.php?id=__ID__'); // To add a new tab identified by code tabname1
// $this->tabs[] = array('data'=>'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@assets:$user->rights->othermodule->read:/asset/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key. // $this->tabs[] = array('data'=>'objecttype:+tabname2:SUBSTITUTION_Title2:mylangfile@assets:$user->hasRight("othermodule","read"):/asset/mynewtab2.php?id=__ID__', // To add another new tab identified by code tabname2. Label will be result of calling all substitution functions on 'Title2' key.
// $this->tabs[] = array('data'=>'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname // $this->tabs[] = array('data'=>'objecttype:-tabname:NU:conditiontoremove'); // To remove an existing tab identified by code tabname
// //
// Where objecttype can be // Where objecttype can be

View File

@@ -118,8 +118,8 @@ class modFTP extends DolibarrModules
'url'=>'/ftp/index.php', 'url'=>'/ftp/index.php',
'langs'=>'ftp', 'langs'=>'ftp',
'position'=>100, 'position'=>100,
'enabled'=>'$conf->ftp->enabled', 'enabled'=>'isModEnabled("ftp")',
'perms'=>'$user->rights->ftp->read || $user->rights->ftp->write || $user->rights->ftp->setup', 'perms'=>'$user->hasRight("ftp", "read") || $user->hasRight("ftp", "write") || $user->hasRight("ftp", "setup")',
'target'=>'', 'target'=>'',
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
$r++; $r++;

View File

@@ -354,7 +354,7 @@ class modKnowledgeManagement extends DolibarrModules
'url' => '/categories/categorie_list.php?type=13', 'url' => '/categories/categorie_list.php?type=13',
'langs' => 'knowledgemanagement', 'langs' => 'knowledgemanagement',
'position' => 112, 'position' => 112,
'enabled' => 'isModEnabled("knowledgemanagement") && isModenabled("category")', 'enabled' => 'isModEnabled("knowledgemanagement") && isModEnabled("category")',
'perms' => '$user->hasRight("knowledgemanagement", "knowledgerecord", "read")', 'perms' => '$user->hasRight("knowledgemanagement", "knowledgerecord", "read")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0

View File

@@ -116,7 +116,7 @@ class modMargin extends DolibarrModules
'langs' => 'margins', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs' => 'margins', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position' => 100, 'position' => 100,
'enabled' => 'isModEnabled("margin")', // Define condition to show or hide menu entry. Use '$conf->monmodule->enabled' if entry must be visible if module is enabled. 'enabled' => 'isModEnabled("margin")', // Define condition to show or hide menu entry. Use '$conf->monmodule->enabled' if entry must be visible if module is enabled.
'perms' => '$user->hasRight("margins","liretous")', // Use 'perms'=>'$user->rights->monmodule->level1->level2' if you want your menu with a permission rules 'perms' => '$user->hasRight("margins", "liretous")',
'target' => '', 'target' => '',
'user' => 2, // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, // 0=Menu for internal users, 1=external users, 2=both
); );

View File

@@ -114,7 +114,7 @@ class modOauth extends DolibarrModules
// 'langs'=>'oauth', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. // 'langs'=>'oauth', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
// 'position'=>300, // 'position'=>300,
// 'enabled'=>'$conf->oauth->enabled && preg_match(\'/^(admintools|all)/\',$leftmenu)', // 'enabled'=>'$conf->oauth->enabled && preg_match(\'/^(admintools|all)/\',$leftmenu)',
// 'perms'=>'$user->rights->oauth->read', // Use 'perms'=>'1' if you want your menu with no permission rules // 'perms'=>'$user->hasRight("oauth", "read")', // Use 'perms'=>'1' if you want your menu with no permission rules
// 'target'=>'', // 'target'=>'',
// 'user'=>0); // 0=Menu for internal users, 1=external users, 2=both // 'user'=>0); // 0=Menu for internal users, 1=external users, 2=both
@@ -132,8 +132,6 @@ class modOauth extends DolibarrModules
*/ */
public function init($options = '') public function init($options = '')
{ {
global $conf;
// Clean before activation // Clean before activation
$this->remove($options); $this->remove($options);

View File

@@ -117,7 +117,7 @@ class modPaypal extends DolibarrModules
'url'=>'/paypal/importpayments.php', 'url'=>'/paypal/importpayments.php',
'langs'=>'paypal', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs'=>'paypal', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position'=>501, 'position'=>501,
'enabled'=>'$conf->paypal->enabled && isModEnabled("banque") && $conf->global->MAIN_FEATURES_LEVEL >= 2', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled'=>'isModEnabled("paypal") && isModEnabled("banque") && $conf->global->MAIN_FEATURES_LEVEL >= 2', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
'perms'=>'$user->rights->banque->consolidate', // Use 'perms'=>'$user->hasRight("mymodule","level1","level2")' if you want your menu with a permission rules 'perms'=>'$user->rights->banque->consolidate', // Use 'perms'=>'$user->hasRight("mymodule","level1","level2")' if you want your menu with a permission rules
'target'=>'', 'target'=>'',
'user'=>2 'user'=>2

View File

@@ -110,8 +110,8 @@ class modPrinting extends DolibarrModules
'url'=>'/printing/index.php?mainmenu=home&leftmenu=admintools', 'url'=>'/printing/index.php?mainmenu=home&leftmenu=admintools',
'langs'=>'printing', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs'=>'printing', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position'=>300, 'position'=>300,
'enabled'=>'$conf->printing->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)', 'enabled'=>'isModEnabled("printing") && isStringVarMatching("leftmenu", "/^(admintools|all)/")',
'perms'=>'$user->rights->printing->read', // Use 'perms'=>'1' if you want your menu with no permission rules 'perms'=>'$user->hasRight("printing", "read")', // Use 'perms'=>'1' if you want your menu with no permission rules
'target'=>'', 'target'=>'',
'user'=>0); // 0=Menu for internal users, 1=external users, 2=both 'user'=>0); // 0=Menu for internal users, 1=external users, 2=both

View File

@@ -278,8 +278,8 @@ class modRecruitment extends DolibarrModules
'url' => '/recruitment/recruitmentjobposition_card.php?action=create', 'url' => '/recruitment/recruitmentjobposition_card.php?action=create',
'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position' => 1000 + $r, 'position' => 1000 + $r,
'enabled' => '$conf->recruitment->enabled', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled' => 'isModEnabled("recruitment")', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
'perms' => '$user->rights->recruitment->recruitmentjobposition->write', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules 'perms' => '$user->hasRight("recruitment","recruitmentjobposition", "write")', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules
'target' => '', 'target' => '',
'user' => 2, // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, // 0=Menu for internal users, 1=external users, 2=both
); );
@@ -292,7 +292,7 @@ class modRecruitment extends DolibarrModules
'url' => '/recruitment/recruitmentjobposition_list.php', 'url' => '/recruitment/recruitmentjobposition_list.php',
'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position' => 1000 + $r, 'position' => 1000 + $r,
'enabled' => '$conf->recruitment->enabled', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled' => 'isModEnabled("recruitment")', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
'perms' => '$user->hasRight("recruitment", "recruitmentjobposition", "read")', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules 'perms' => '$user->hasRight("recruitment", "recruitmentjobposition", "read")', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules
'target' => '', 'target' => '',
'user' => 2, // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, // 0=Menu for internal users, 1=external users, 2=both
@@ -306,8 +306,8 @@ class modRecruitment extends DolibarrModules
'url' => '/recruitment/recruitmentcandidature_card.php?action=create', 'url' => '/recruitment/recruitmentcandidature_card.php?action=create',
'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position' => 1000 + $r, 'position' => 1000 + $r,
'enabled' => '$conf->recruitment->enabled', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled' => 'isModEnabled("recruitment")', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
'perms' => '$user->rights->recruitment->recruitmentjobposition->write', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules 'perms' => '$user->hasRight("recruitment","recruitmentjobposition", "write")', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules
'target' => '', 'target' => '',
'user' => 2, // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, // 0=Menu for internal users, 1=external users, 2=both
); );
@@ -320,7 +320,7 @@ class modRecruitment extends DolibarrModules
'url' => '/recruitment/recruitmentcandidature_list.php', 'url' => '/recruitment/recruitmentcandidature_list.php',
'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs' => 'recruitment', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position' => 1000 + $r, 'position' => 1000 + $r,
'enabled' => '$conf->recruitment->enabled', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled' => 'isModEnabled("recruitment")', // Define condition to show or hide menu entry. Use '$conf->recruitment->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
'perms' => '$user->hasRight("recruitment", "recruitmentjobposition", "read")', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules 'perms' => '$user->hasRight("recruitment", "recruitmentjobposition", "read")', // Use 'perms'=>'$user->rights->recruitment->level1->level2' if you want your menu with a permission rules
'target' => '', 'target' => '',
'user' => 2, // 0=Menu for internal users, 1=external users, 2=both 'user' => 2, // 0=Menu for internal users, 1=external users, 2=both

View File

@@ -196,7 +196,7 @@ class modResource extends DolibarrModules
'langs' => 'resource', 'langs' => 'resource',
'position' => 100, 'position' => 100,
'enabled' => '1', 'enabled' => '1',
'perms' => '$user->rights->resource->read', 'perms' => '$user->hasRight("resource", "read")',
'user' => 0 'user' => 0
); );
$r++; $r++;
@@ -211,7 +211,7 @@ class modResource extends DolibarrModules
'langs' => 'resource', 'langs' => 'resource',
'position' => 101, 'position' => 101,
'enabled' => '1', 'enabled' => '1',
'perms' => '$user->rights->resource->write', 'perms' => '$user->hasRight("resource", "write")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0
); );
@@ -226,7 +226,7 @@ class modResource extends DolibarrModules
'langs' => 'resource', 'langs' => 'resource',
'position' => 102, 'position' => 102,
'enabled' => '1', 'enabled' => '1',
'perms' => '$user->rights->resource->read', 'perms' => '$user->hasRight("resource", "read")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0
); );

View File

@@ -101,9 +101,9 @@ class modStripe extends DolibarrModules
'titre'=>'StripeImportPayment', 'titre'=>'StripeImportPayment',
'url'=>'/stripe/importpayments.php', 'url'=>'/stripe/importpayments.php',
'langs'=>'stripe', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'langs'=>'stripe', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position'=>500, 'position' => 500,
'enabled'=>'$conf->stripe->enabled && isModEnabled("banque") && $conf->global->MAIN_FEATURES_LEVEL >= 2', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'enabled' => 'isModEnabled("stripe") && isModEnabled("banque") && getDolGlobalString("MAIN_FEATURES_LEVEL") >= 2', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
'perms'=>'$user->rights->banque->modifier', // Use 'perms'=>'$user->hasRight("mymodule","level1","level2")' if you want your menu with a permission rules 'perms' => '$user->hasRight("banque", "modifier")', // Use 'perms' => '$user->hasRight("mymodule","level1","level2")' if you want your menu with a permission rules
'target'=>'', 'target'=>'',
'user'=>2 'user'=>2
); // 0=Menu for internal users, 1=external users, 2=both ); // 0=Menu for internal users, 1=external users, 2=both
@@ -119,8 +119,8 @@ class modStripe extends DolibarrModules
'url' => '', 'url' => '',
'langs' => 'stripe', 'langs' => 'stripe',
'position' => 100, 'position' => 100,
'enabled' => 'isModEnabled("stripe") && isModenabled("banque")', 'enabled' => 'isModEnabled("stripe") && isModEnabled("banque")',
'perms' => '$user->rights->banque->lire', 'perms' => '$user->hasRight("banque", "read")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0
); );
@@ -133,8 +133,8 @@ class modStripe extends DolibarrModules
'url' => '/stripe/charge.php', 'url' => '/stripe/charge.php',
'langs' => 'stripe', 'langs' => 'stripe',
'position' => 102, 'position' => 102,
'enabled' => 'isModEnabled("stripe") && isModenabled("banque") && getDolGlobalInt("MAIN_FEATURES_LEVEL") >= 1', 'enabled' => 'isModEnabled("stripe") && isModEnabled("banque") && getDolGlobalInt("MAIN_FEATURES_LEVEL") >= 1',
'perms' => '$user->rights->banque->lire', 'perms' => '$user->hasRight("banque", "read")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0
); );
@@ -147,8 +147,8 @@ class modStripe extends DolibarrModules
'url' => '/stripe/transaction.php', 'url' => '/stripe/transaction.php',
'langs' => 'stripe', 'langs' => 'stripe',
'position' => 102, 'position' => 102,
'enabled' => 'isModEnabled("stripe") && isModenabled("banque") && getDolGlobalInt("MAIN_FEATURES_LEVEL") >= 2', 'enabled' => 'isModEnabled("stripe") && isModEnabled("banque") && getDolGlobalInt("MAIN_FEATURES_LEVEL") >= 2',
'perms' => '$user->rights->banque->lire', 'perms' => '$user->hasRight("banque", "read")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0
); );
@@ -161,8 +161,8 @@ class modStripe extends DolibarrModules
'url' => '/stripe/payout.php', 'url' => '/stripe/payout.php',
'langs' => 'stripe', 'langs' => 'stripe',
'position' => 103, 'position' => 103,
'enabled' => 'isModEnabled("stripe") && isModenabled("banque")', 'enabled' => 'isModEnabled("stripe") && isModEnabled("banque")',
'perms' => '$user->rights->banque->lire', 'perms' => '$user->hasRight("banque", "read")',
'target' => '', 'target' => '',
'user' => 0 'user' => 0
); );

View File

@@ -307,7 +307,7 @@ class modTicket extends DolibarrModules
'langs' => 'ticket', 'langs' => 'ticket',
'position' => 102, 'position' => 102,
'enabled' => 'isModEnabled("ticket")', 'enabled' => 'isModEnabled("ticket")',
'perms' => '$user->rights->ticket->write', 'perms' => '$user->hasRight("ticket", "write")',
'target' => '', 'target' => '',
'user' => 2); 'user' => 2);
$r++; $r++;

View File

@@ -126,8 +126,8 @@ class modWorkflow extends DolibarrModules
'url'=>'/workflow/index.php', 'url'=>'/workflow/index.php',
'langs'=>'@workflow', 'langs'=>'@workflow',
'position'=>100, 'position'=>100,
'perms'=>'$user->rights->workflow->read', 'perms'=>'$user->hasRights("workflow", "read")',
'enabled'=>'$conf->workflow->enabled', 'enabled'=>'isModEnabled("workflow")',
'target'=>'', 'target'=>'',
'user'=>0); 'user'=>0);
$r++; $r++;
@@ -139,8 +139,8 @@ class modWorkflow extends DolibarrModules
'url'=>'/workflow/index.php', 'url'=>'/workflow/index.php',
'langs'=>'@workflow', 'langs'=>'@workflow',
'position'=>101, 'position'=>101,
'enabled'=>1, 'enabled'=>'isModEnabled("workflow")',
'perms'=>'$user->rights->workflow->read', 'perms'=>'$user->hasRight("workflow", "read")',
'target'=>'', 'target'=>'',
'user'=>0); 'user'=>0);
$r++; $r++;