* Qual: Fix FunctionArray phan notices
* Fix class name in typing of htdocs/modulebuilder/index.php
* Fix customreports phpdoc
* Adjust file type after completeFileArrayWithDatabaseInfo
* Further phpdoc typing improvements
* More phpdoc
* Improve typing with cast on position field
* Force phpstan version
* Add phpstan exception
* Fix array index type + adjust phan config comment
* Qual: fix commonstickergen..don.class
* Fix notifications for pdf_paiement...cronjob.class
* Qual: Fix notifications for emailcollector..price_parser.class
* Ensure that NULL is used in the database when fk's are 0/empty
* Fix notifications for pdf_paiement...cronjob.class
* Cope with updated phpstan, and make fk_origin_stock int in multiple locations
# Qual: fix phan notices in interface_50_modAgenda_ActionsAuto.class
Fix several notices in interface_50_modAgenda_ActionsAuto.class with typing hints.
* Do not analyze custom
* Update baseline, ignore everything in custom
* Qual: Fix notices in files related to ticket class
* Qual: Add typing hints to tpl files + other 'fixes'
* Qual: fix typing issu gy typing intermediate variable
* Qual: Fix ticket.class notices
* Do not analyze custom
* Fix: Correct reference to cache (+phpdoc)
* Update baseline, ignore everything in custom
* Qual: Fix notices in files related to ticket class
# Qual: Ignore PhanTypeSuspiciousNonTraversableForeach
PhanTypeSuspiciousNonTraversableForeach reports on the use of
`foreach ($object as $key => value)` which is valid accross
tested php versions (at least since PHP7.0).
So suppressing this notice.
* Qual: Nullable mysoc hint
# Qual: Nullable mysoc hint
$mysoc can be nullable resulting in issues (#31387) so
it is best to detect these cases with static analysis
* Prevent null assignment
* Qual: Fix several phan & stan notices
# Qual: Fix several phan & stan notices
Several fixes in files while fixing UnknownClass notices
* Qual: Update prepare_head PHPDoc return types
# Qual: Update prepare_head PHPDoc return types
Provide detailed array return types for prepare_head functions.
* Fix new phan notice
* Better loadLangs typing and fix call to loadLangs
* Fix new issues (stats)
* Other fixes of new issues
* Qual: update phan baseline
# Fix undefined global varialbe user/card.php
Fix a few issues, one of which noticed in V21 UI.
Also notified by phan:
```
htdocs\user\card.php:626 PhanUndeclaredGlobalVariable Global variable $mesgs is undeclared
htdocs\user\card.php:2967 PhanUndeclaredGlobalVariable Global variable $soc is undeclared
```
# Fix: Cope with undefined country key in search array
Fix:
```
htdocs\partnership\partnership_list.php:533 PhanUndeclaredProperty Reference to undeclared property \Partnership->login
htdocs\partnership\partnership_list.php:793 PhanTypeMismatchArgumentProbablyReal Argument 4 ($filter) is null of type null but \FormAdmin::select_language() takes array|string[] (no real type) defined at htdocs\core\class\html.formadmin.class.php:74 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
```
# Qual: Fix ci (phpstan notice)
While fixing the ci notice, also fixed the array definitions
which fixes both phan notices and phpstan notices seen on cti.
Removed the exception for phan on this file
# Qual: Fix phan/stan notices in relation with UnknownObjectMethodCall
Fix notices in classes with UnknownObjectMethodCall notices or classes
related with these.
# Qual: Fix phan notices
Fix phan notices in several classes that have UnknownObjectMethod calls and classes
that had notices in relation with these classes
* Qual: Enable & fix or ignore Invalid DimOffset
# Qual: Enable & fix or ignore Invalid DimOffset
The Invalid DimOffset notices occur when array keys are defined and
the index used is not amongst the known array keys.
This PR enables these notices and fixes array definitions when needed,
or ignores the notices locally if it's a false positive, or in the
baseline.txt when it does not seem to be a false positive so that
it can be fixed later
* Nullable object typing in function signature not ok for 7.0/8.4
Can't user '?User' as argument type for PHP7.0 which is required by PHP8.4.
Therefore, removing the typing specification in the function definition
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Fix notifications multiple files
# Qual: Fix notifications multiple files
Fixes to files with UnknownObject notices, fixing other
notices in these files as well
* Improve boxes typing
* Qual: Extend accepted types to reduce notices
* Fix type for GET/POST arguments of GETPOST* calls