* FIX: Resolve possibly-undefined-variable cases flagged by PHPStan
Fixes several cases of the variable.undefined PHPStan rule instead of
just excluding them via the baseline: a wrong variable used to build a
delete link (dir_add_card.php), an uninitialized $result across a
try/catch (CMailFile), missing GETPOST reads ($mode, $fk_project/$date
reset via unset() creating cross-branch ambiguity), a missing $r
contract check (commonfieldsinimport.inc.php), missing @var/global
annotations for $conf/$langs/$bc, dead extrafields-display code
guarded by the wrong condition (expedition/card.php), and an
undefined $soc passed to formAddObjectLine() where objects have no
buyer thirdparty (replaced with null). Corresponding entries removed
from dev/build/phpstan/phpstan-baseline.neon.
* FIX: Resolve more possibly-undefined-variable cases flagged by PHPStan
Second batch of variable.undefined fixes removed from the baseline:
- Complex conditional flows PHPStan can't prove exhaustive (Stripe key
selection in commoninvoice.class.php, a situation-invoice loop var in
pdf_sponge.modules.php, a product loop var in stock/movement_list.php)
fixed by adding a definite initialization before the ambiguous branch.
- A commented-out $linkback assignment restored in
expensereport/payment/info.php.
- Missing GETPOST reads added (holiday/list.php update-date filters,
product/stock/info.php $action/$socid, projet/comment.php $mode).
- A dead-code $mesg call to dol_htmloutput_mesg() removed from
admin_hrm.php (messages are already shown via setEventMessages()).
- Redundant isset() checks removed in product/reassort.php and
reassortlot.php where $type is unconditionally set earlier in the
same file, so the isset()-false branch was unreachable dead code.
- $user documented as always available in public/bookcal/index.php
(NOREQUIREUSER is not defined on that page).
- A genuinely missing $tmpcode initialization fixed in
attendee_new.php, suggestbooth.php and suggestconference.php: when
an existing thirdparty is reused (or SOCIETE_CODECLIENT_ADDON has no
auto-numbering), $tmpcode was never set before being assigned to
code_client/code_fournisseur.
* add phan fix
* add phan fix
* fix
* fix
* fix
* Qual: Fix PHPStan notice about menumanager
# Qual: Fix PHPStan notice about menumanager
Declare type for MenuManager $menumanager typically defined in menu.inc.php
* Qual: Update PHPStan baseline
# Qual: Update PHPStan baseline
Removed the warning for the undefined variable $menumanager in style.css.php.
The return type annotations for the method Projects::getRoles() have been updated from array<object> to list<string> to better reflect the actual return type. This change was also reflected in the phpstan-baseline.neon file to maintain consistency.
# Qual: Fix PHPStan for ldap, pgsql, odtphp
- Adjust typing in ldap and pgsql class to fix PHPStan notices;
- Exclude all files for odtphp from analysis (external lib);
- Update PHPStan baseline.