mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
fix phpstan level 5 (#30565)
* fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phpstan level 5 * fix phan * fix phpstan * fix phpstan * fix phpstan * fix phpstan * fix phpstan * fix phpstan * fix phpstan fix phpstan fix phpstan fix phpstan * increase level for apstat
This commit is contained in:
parent
e5c0150be4
commit
32839b138b
|
|
@ -98,7 +98,7 @@ while ($i < $argc) {
|
|||
}
|
||||
|
||||
// PHPSTAN setup
|
||||
$PHPSTANLEVEL = 4;
|
||||
$PHPSTANLEVEL = 6;
|
||||
|
||||
// PHAN setup. Configuration is required, otherwise phan is disabled.
|
||||
$PHAN_CONFIG = "{$path}phan/config_extended.php";
|
||||
|
|
|
|||
|
|
@ -2707,7 +2707,7 @@ class ActionComm extends CommonObject
|
|||
$errormesg = '';
|
||||
|
||||
// Make substitution in email content
|
||||
$substitutionarray = getCommonSubstitutionArray($langs, 0, '', $this);
|
||||
$substitutionarray = getCommonSubstitutionArray($langs, 0, null, $this);
|
||||
|
||||
complete_substitutions_array($substitutionarray, $langs, $this);
|
||||
|
||||
|
|
|
|||
|
|
@ -5746,7 +5746,7 @@ class Facture extends CommonInvoice
|
|||
$errormesg = '';
|
||||
|
||||
// Make substitution in email content
|
||||
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, '', $tmpinvoice);
|
||||
$substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $tmpinvoice);
|
||||
|
||||
complete_substitutions_array($substitutionarray, $outputlangs, $tmpinvoice);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
/* Copyright (C) 2024 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* 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
|
||||
|
|
@ -51,7 +52,7 @@ class SocialNetworkManager
|
|||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $lastFetchDate;
|
||||
private $lastFetchDate; // @phpstan-ignore-line
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
* @param int $pid Product id
|
||||
* @param int $socid Third party id
|
||||
* @param string $action Action string
|
||||
* @param array $showextcals Array with list of external calendars (used to show links to select calendar), or -1 to show no legend
|
||||
* @param array|int $showextcals Array with list of external calendars (used to show links to select calendar), or -1 to show no legend
|
||||
* @param string|array $actioncode Preselected value(s) of actioncode for filter on event type
|
||||
* @param int $usergroupid Id of group to filter on users
|
||||
* @param string $excludetype A type to exclude ('systemauto', 'system', '')
|
||||
|
|
|
|||
|
|
@ -744,7 +744,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||
$mainmenu = ($forcemainmenu ? $forcemainmenu : $_SESSION["mainmenu"] ?? '');
|
||||
$leftmenu = ($forceleftmenu ? '' : (empty($_SESSION["leftmenu"]) ? 'none' : $_SESSION["leftmenu"] ?? ''));
|
||||
|
||||
if (is_null($mainmenu)) {
|
||||
if (empty($mainmenu)) {
|
||||
$mainmenu = 'home';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -531,8 +531,8 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
|
||||
// Make substitution
|
||||
$substitutionarray = array(
|
||||
'__FROM_NAME__' => $this->emetteur->name,
|
||||
'__FROM_EMAIL__' => $this->emetteur->email,
|
||||
'__FROM_NAME__' => $this->emetteur->name,
|
||||
'__FROM_EMAIL__' => $this->emetteur->email,
|
||||
);
|
||||
complete_substitutions_array($substitutionarray, $langs, $object);
|
||||
// Call the ODTSubstitution hook
|
||||
|
|
@ -547,10 +547,10 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
$odfHandler = new Odf(
|
||||
$srctemplatepath,
|
||||
array(
|
||||
'PATH_TO_TMP' => $conf->project->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
'PATH_TO_TMP' => $conf->project->dir_temp,
|
||||
'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy.
|
||||
'DELIMITER_LEFT' => '{',
|
||||
'DELIMITER_RIGHT' => '}'
|
||||
)
|
||||
);
|
||||
} catch (Exception $e) {
|
||||
|
|
@ -607,8 +607,6 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
$odfHandler->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -621,9 +619,16 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
$contact_arrray = array_merge($contact_arrray, $contact_temp);
|
||||
}
|
||||
}
|
||||
if ((is_array($contact_arrray) && count($contact_arrray) > 0)) {
|
||||
// Check for segment
|
||||
$foundtagforlines = 1;
|
||||
try {
|
||||
$listlinestaskres = $odfHandler->setSegment('tasksressources');
|
||||
|
||||
} catch (OdfExceptionSegmentNotFound $e) {
|
||||
// We may arrive here if tags for lines not present into template
|
||||
$foundtagforlines = 0;
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
if ($foundtagforlines && (is_array($contact_arrray) && count($contact_arrray) > 0)) {
|
||||
foreach ($contact_arrray as $contact) {
|
||||
if ($contact['source'] == 'internal') {
|
||||
$objectdetail = new User($this->db);
|
||||
|
|
@ -644,8 +649,6 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listlinestaskres->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
|
|
@ -655,6 +658,16 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
$odfHandler->mergeSegment($listlinestaskres);
|
||||
}
|
||||
|
||||
// Check for segment
|
||||
$foundtagforlines = 1;
|
||||
try {
|
||||
$listlinestasktime = $odfHandler->setSegment('taskstimes');
|
||||
} catch (OdfExceptionSegmentNotFound $e) {
|
||||
// We may arrive here if tags for lines not present into template
|
||||
$foundtagforlines = 0;
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
|
||||
// Time resources
|
||||
$sql = "SELECT t.rowid, t.element_date as task_date, t.element_duration as task_duration, t.fk_user, t.note";
|
||||
$sql .= ", u.lastname, u.firstname";
|
||||
|
|
@ -666,17 +679,17 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
$sql .= " ORDER BY t.element_date DESC";
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
if ($foundtagforlines && $resql) {
|
||||
$num = $this->db->num_rows($resql);
|
||||
$i = 0;
|
||||
$tasks = array();
|
||||
$listlinestasktime = $odfHandler->setSegment('taskstimes');
|
||||
|
||||
while ($i < $num) {
|
||||
$row = $this->db->fetch_array($resql);
|
||||
if (!empty($row['fk_user'])) {
|
||||
$objectdetail = new User($this->db);
|
||||
$objectdetail->fetch($row['fk_user']);
|
||||
// TODO Use a cache to aoid fetch for same user
|
||||
// TODO Use a cache to avoid fetch for same user
|
||||
$row['fullcivname'] = $objectdetail->getFullName($outputlangs, 1);
|
||||
} else {
|
||||
$row['fullcivname'] = '';
|
||||
|
|
@ -687,8 +700,6 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listlinestasktime->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
|
|
@ -703,29 +714,35 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
|
||||
|
||||
// Replace tags of project files
|
||||
$listtasksfiles = $odfHandler->setSegment('tasksfiles');
|
||||
|
||||
$upload_dir = $conf->project->dir_output.'/'.dol_sanitizeFileName($project->ref).'/'.dol_sanitizeFileName($object->ref);
|
||||
$filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', 'name', SORT_ASC, 1);
|
||||
|
||||
|
||||
foreach ($filearray as $filedetail) {
|
||||
$tmparray = $this->get_substitutionarray_task_file($filedetail, $outputlangs);
|
||||
//dol_syslog(get_class($this).'::main $tmparray'.var_export($tmparray,true));
|
||||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listtasksfiles->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
$listtasksfiles->merge();
|
||||
// Check for segment
|
||||
$foundtagforlines = 1;
|
||||
try {
|
||||
$listtasksfiles = $odfHandler->setSegment('tasksfiles');
|
||||
} catch (OdfExceptionSegmentNotFound $e) {
|
||||
// We may arrive here if tags for lines not present into template
|
||||
$foundtagforlines = 0;
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
//$listlines->merge();
|
||||
if ($foundtagforlines) {
|
||||
$upload_dir = $conf->project->dir_output.'/'.dol_sanitizeFileName($project->ref).'/'.dol_sanitizeFileName($object->ref);
|
||||
$filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', 'name', SORT_ASC, 1);
|
||||
|
||||
$odfHandler->mergeSegment($listtasksfiles);
|
||||
foreach ($filearray as $filedetail) {
|
||||
$tmparray = $this->get_substitutionarray_task_file($filedetail, $outputlangs);
|
||||
//dol_syslog(get_class($this).'::main $tmparray'.var_export($tmparray,true));
|
||||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listtasksfiles->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
$listtasksfiles->merge();
|
||||
}
|
||||
//$listlines->merge();
|
||||
|
||||
$odfHandler->mergeSegment($listtasksfiles);
|
||||
}
|
||||
} catch (OdfException $e) {
|
||||
$this->error = $e->getMessage();
|
||||
dol_syslog($this->error, LOG_WARNING);
|
||||
|
|
@ -733,35 +750,40 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
}
|
||||
|
||||
|
||||
|
||||
// Replace tags of project files
|
||||
// Check for segment
|
||||
$foundtagforlines = 1;
|
||||
try {
|
||||
$listlines = $odfHandler->setSegment('projectfiles');
|
||||
} catch (OdfExceptionSegmentNotFound $e) {
|
||||
// We may arrive here if tags for lines not present into template
|
||||
$foundtagforlines = 0;
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
if ($foundtagforlines) {
|
||||
try {
|
||||
$upload_dir = $conf->project->dir_output.'/'.dol_sanitizeFileName($object->ref);
|
||||
$filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', 'name', SORT_ASC, 1);
|
||||
|
||||
$upload_dir = $conf->project->dir_output.'/'.dol_sanitizeFileName($object->ref);
|
||||
$filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', 'name', SORT_ASC, 1);
|
||||
foreach ($filearray as $filedetail) {
|
||||
//dol_syslog(get_class($this).'::main $filedetail'.var_export($filedetail,true));
|
||||
$tmparray = $this->get_substitutionarray_project_file($filedetail, $outputlangs);
|
||||
|
||||
|
||||
foreach ($filearray as $filedetail) {
|
||||
//dol_syslog(get_class($this).'::main $filedetail'.var_export($filedetail,true));
|
||||
$tmparray = $this->get_substitutionarray_project_file($filedetail, $outputlangs);
|
||||
|
||||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listlines->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listlines->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
}
|
||||
$listlines->merge();
|
||||
}
|
||||
$listlines->merge();
|
||||
$odfHandler->mergeSegment($listlines);
|
||||
} catch (OdfException $e) {
|
||||
$this->error = $e->getMessage();
|
||||
dol_syslog($this->error, LOG_WARNING);
|
||||
return -1;
|
||||
}
|
||||
$odfHandler->mergeSegment($listlines);
|
||||
} catch (OdfException $e) {
|
||||
$this->error = $e->getMessage();
|
||||
dol_syslog($this->error, LOG_WARNING);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Replace tags of lines for contacts
|
||||
|
|
@ -773,10 +795,17 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
$contact_arrray = array_merge($contact_arrray, $contact_temp);
|
||||
}
|
||||
}
|
||||
if ((is_array($contact_arrray) && count($contact_arrray) > 0)) {
|
||||
// Check for segment
|
||||
$foundtagforlines = 1;
|
||||
try {
|
||||
$listlines = $odfHandler->setSegment('projectcontacts');
|
||||
} catch (OdfExceptionSegmentNotFound $e) {
|
||||
// We may arrive here if tags for lines not present into template
|
||||
$foundtagforlines = 0;
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
if ($foundtagforlines && (is_array($contact_arrray) && count($contact_arrray) > 0)) {
|
||||
try {
|
||||
$listlines = $odfHandler->setSegment('projectcontacts');
|
||||
|
||||
foreach ($contact_arrray as $contact) {
|
||||
if ($contact['source'] == 'internal') {
|
||||
$objectdetail = new User($this->db);
|
||||
|
|
@ -797,8 +826,6 @@ class doc_generic_task_odt extends ModelePDFTask
|
|||
foreach ($tmparray as $key => $val) {
|
||||
try {
|
||||
$listlines->setVars($key, $val, true, 'UTF-8');
|
||||
} catch (OdfException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
} catch (SegmentException $e) {
|
||||
dol_syslog($e->getMessage(), LOG_INFO);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -820,6 +820,7 @@ if ($step == 4 && $datatoimport) {
|
|||
$fieldssource[$i]['example1'] = $langs->trans('Empty');
|
||||
$i++;
|
||||
}
|
||||
$fieldssource[$i]['imported'] = 0;
|
||||
}
|
||||
$obj->import_close_file();
|
||||
}
|
||||
|
|
@ -1085,20 +1086,22 @@ if ($step == 4 && $datatoimport) {
|
|||
|
||||
$optionsall = array();
|
||||
foreach ($fieldstarget as $code => $line) {
|
||||
//var_dump($line);
|
||||
|
||||
$tmparray = explode('|', $line["label"]); // If label of field is several translation keys separated with |
|
||||
$labeltoshow = '';
|
||||
foreach ($tmparray as $tmpkey => $tmpval) {
|
||||
$labeltoshow .= ($labeltoshow ? ' '.$langs->trans('or').' ' : '').$langs->transnoentities($tmpval);
|
||||
}
|
||||
$optionsall[$code] = array('labelkey' => $line['label'], 'labelkeyarray' => $tmparray, 'label' => $labeltoshow, 'required' => (empty($line["required"]) ? 0 : 1), 'position' => !empty($line['position']) ? $line['position'] : 0);
|
||||
// TODO Get type from a new array into module descriptor.
|
||||
//$picto = 'email';
|
||||
// $picto = 'email';
|
||||
$picto = '';
|
||||
if ($picto) {
|
||||
$optionsall[$code]['picto'] = $picto;
|
||||
}
|
||||
$optionsall[$code] = array(
|
||||
'labelkey' => $line['label'],
|
||||
'labelkeyarray' => $tmparray,
|
||||
'label' => $labeltoshow,
|
||||
'required' => (empty($line["required"]) ? 0 : 1),
|
||||
'position' => (!empty($line['position']) ? $line['position'] : 0),
|
||||
'picto' => $picto,
|
||||
);
|
||||
}
|
||||
// $optionsall is an array of all possible target fields. key=>array('label'=>..., 'xxx')
|
||||
|
||||
|
|
@ -1137,9 +1140,6 @@ if ($step == 4 && $datatoimport) {
|
|||
print '<td class="nowraponall hideonsmartphone" style="font-weight: normal">=> </td>';
|
||||
print '<td class="nowraponall" style="font-weight: normal">';
|
||||
|
||||
//var_dump($_SESSION['dol_array_match_file_to_database_select']);
|
||||
//var_dump($_SESSION['dol_array_match_file_to_database']);
|
||||
|
||||
$selectforline = '';
|
||||
$selectforline .= '<select id="selectorderimport_'.($i + 1).'" class="targetselectchange minwidth300" name="select_'.($i + 1).'">';
|
||||
if (!empty($line["imported"])) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ external documents stored in the *Appendices* directory accompanying this docume
|
|||
*Log of versions*
|
||||
|
||||
[options="header",format="csv"]
|
||||
|===
|
||||
|===
|
||||
Author, Date, Version
|
||||
--- __USER_FULLNAME__ __USER_EMAIL__ ---, __YYYY-MM-DD__, Version 1.0
|
||||
|===
|
||||
|
|
@ -64,13 +64,13 @@ Author, Date, Version
|
|||
=== List of actors [[actors]]
|
||||
|
||||
Actors are physical people or moral entities working on at least one process.
|
||||
The following chart prensts list of actors or partners identified by the project for the defined scope of project. We will use then the name defined into first column to speak about roles in the rest of documents.
|
||||
The following chart presents a list of actors or partners identified by the project within it defined scope. We will use then the name defined into first column to speak about roles in the rest of documents.
|
||||
|
||||
[options="header",format="csv"]
|
||||
|===
|
||||
Actor/profil/role, Description of role, Access to system or not, Example of actor
|
||||
Customer Service, Receive and create Sales orders (SO), Yes, Mr Smith
|
||||
Purchase, Make puchase order (PO), Yes, 5 people
|
||||
Purchase, Make purchase order (PO), Yes, 5 people
|
||||
Administrator - IT, Administration of users/groups and IT services, Yes, John Doe
|
||||
Automaton, Execute automatic data processing, Yes, NA
|
||||
|===
|
||||
|
|
@ -79,7 +79,7 @@ Automaton, Execute automatic data processing, Yes, NA
|
|||
=== Definitions [[definitions]]
|
||||
|
||||
To understand the descriptions of the target process, it was necessary to define or redefine some vocabulary concepts. We must see these definitions as defined in the
|
||||
new system. Indeed, some terms are already being used but have either not a definition in line with standards, or even differs between services. To bring everyone,
|
||||
new system. Indeed, some terms are already being used but have either not a definition in line with standards, or even differs between services. To bring everyone,
|
||||
and to consolidate the process, these terms are redefined here, and with their definition in the target objective.
|
||||
|
||||
*Definition ABC*
|
||||
|
|
@ -134,5 +134,3 @@ _Each process/use case is described into a separate chapter._
|
|||
|
||||
* Business rule 1
|
||||
* Business rule 2
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,22 @@
|
|||
<!-- file menu.tpl.php -->
|
||||
<?php
|
||||
/* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (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
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
* or see https://www.gnu.org/
|
||||
*/
|
||||
|
||||
// Protection to avoid direct call of template
|
||||
if (empty($context) || !is_object($context)) {
|
||||
print "Error, template page can't be called as URL";
|
||||
|
|
@ -140,7 +157,7 @@ if (empty($reshook)) {
|
|||
// apply rank
|
||||
if (!empty($navGroupMenu[$goupId]['rank']) && $navGroupMenu[$goupId]['rank'] > 0) {
|
||||
// minimum rank of group determine rank of group
|
||||
$navGroupMenu[$goupId]['rank'] = min(abs($navGroupMenu[$goupId]['rank']), abs($menuItem['rank']));
|
||||
$navGroupMenu[$goupId]['rank'] = min(abs($navGroupMenu[$goupId]['rank']), abs($menuItem['rank'])); // @phpstan-ignore-line
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ parameters:
|
|||
# minimumNumberOfJobsPerProcess: 2 # default is 2
|
||||
# buffer: 134217728 # 128 MB # Not documented
|
||||
customRulesetUsed: true
|
||||
level: 3
|
||||
level: 5
|
||||
fileExtensions:
|
||||
- php
|
||||
paths:
|
||||
|
|
@ -81,6 +81,7 @@ parameters:
|
|||
- '#convert.* expects int, string#'
|
||||
- '#\(\) expects int, string#'
|
||||
- '#run_sql expects int, string#'
|
||||
- '#on array{url: mixed} in empty\(\) does not exist.#'
|
||||
- '#expects int, float#'
|
||||
- '#expects int, array\|string given.#'
|
||||
- '#expects int<0, 1>, '''' given.#'
|
||||
|
|
@ -99,11 +100,18 @@ parameters:
|
|||
- '#expects string, int<0, 10> given.#'
|
||||
- '#expects string, DateTime given.#'
|
||||
- '#expects string, bool\|mysqli_result\|resource given.#'
|
||||
- '#expects array#'
|
||||
- '#expects array\{#'
|
||||
- '#expects array<array\{#'
|
||||
- '#expects array\|LDAP#'
|
||||
- '#expects array<int#'
|
||||
- '#expects array\|string#'
|
||||
- '#expects array\|null#'
|
||||
- '#expects array<string#'
|
||||
- '#expects array, string given.#'
|
||||
- '#expects array, null given.#'
|
||||
- '#expects array<string>, null given.#'
|
||||
- '#expects array<string>, string given.#'
|
||||
- '#expects array<string>\|string#'
|
||||
- '#expects resource#'
|
||||
- '#expects resource, object given.#'
|
||||
- '#expects object#'
|
||||
|
|
@ -120,7 +128,6 @@ parameters:
|
|||
- '#expects Societe#'
|
||||
- '#expects ''''\|Societe#'
|
||||
- '#expects SupplierProposal#'
|
||||
- '#expects User#'
|
||||
- '#expects CommonObjectLine#'
|
||||
- '#check_authentication expects#'
|
||||
- '#colorHexToHsl expects#'
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user