# Qual: Enable phan notices regarding array definitions
This configuration change in phan will report NEW array types in phpdoc
that are not specific about the array members.
At level 6, phpstan also expects this.
The exceptions in baseline.txt ensure this is only reported on new files
or files were these missing typing directives are already fixed.
* Allow null for buyer, and force '' for in printObjectLine(s)
* Allow null for Contact in show_actions_done
* Qual: Enable phan on modulebuilder
# Qual: Enable phan on modulebuilder
Most files of the modulebuilder template can be checked as regular files.
It will help improve the template
* Update baseline (enable modulebuilder notices)
* Add properties that are expected to exist on modules_boxes
* Qual: Ignore false positive (phan)
* Set phpdoc type to include null on formAddObjectLine
* Qual: Fixes for modulebuilder (phan, phpstan, bugs, format)
* Fix phpcs for intracom
* Make ModeleBoxes:showBox() signature match child class's
* Fix *box::showBox() phpdoc types
* Update index.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Fix PhanTypeMismatchProperty and some other phan notices
* Qual: Phan fixes for BOM
* Phan - fix fields
* fixup! Qual: Phan fixes for BOM
* Fix phpstan double array keys for syslog
* Fix $fields phpdoc
* Fix phan typing issues with intermediate var and ??
* Fix phan typing issue with ?? operator
* Ignore htdocs/install/install.forced.php for git
* Qual: Revert to original code, ignore notice
When changing the method to avoid one notice type, another one
appears. So simply ignoring this error.
* Qual: Revert to original code, ignore notice
When changing the method to avoid one notice type, another one
appears. So simply ignoring this error.
* Update baseline
* Qual: Phan fixes for BOM
* fixup! Qual: Phan fixes for BOM
* Fix phpstan double array keys for syslog
* Qual: Revert to original code, ignore notice
When changing the method to avoid one notice type, another one
appears. So simply ignoring this error.
* Ignore PhanTypeSuspiciousNonTraversableForeach to allow integration
* Fix typing hints (phpstan)
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Update phan baseline (remove PhanTypeInvalidLeftOperandOfNumericOp)
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Fix: Change argument '' to null as by getAvailableDiscounts signature
* Qual: Cast '' to float for Phan notice
* Fix: Convert $number with price2num before using this parameter
* Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
# Qual: Fix PhanTypeInvalidLeftOperandOfNumericOp
These changes ensure that the left operand is a numeric value
* Add cast to ensure fmod is presented with floats
* Fix phpdoc for phpstan
* Add abstract write_file to ModelePDFContract
And update phpdoc for derived classes
* Fix typing for php_standard_actions writefile
* Improve phpdoc for write_files (& related)
* Add abstract write_file to ModelePDFBom
* Add abstract write_file to ModelePDFDeliveryOrder
* Add abstract write_file to ModeleExpenseReport
* Add abstract write_file to ModelePDFFicheinter
* Add abstract write_file to ModelePDFEvaluation
* Add abstract write_file to ModelePDFFactures
* Add abstract write_file to ModelePDFSuppliersInvoices
* Update ModelePDFProjects and ModelePDFTask related classes
* Qual: Add abstract write_file to ModelePdfExpedition
And update phpdoc for derived classes
* Qual: Correct reference (doc) to ModelePDFEvaluation
* Qual: Add abstract write_file to ModelePDFKnowledgeRecord
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFMo & ModelePDFMouvement
And update phpdoc for derived classes
* Qual: Set typehint to ModelePDFFicheinter
* Qual: Add abstract write_file to ModelePDFCommandes
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFPropales
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePdfReception
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFSuppliersOrders
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFSuppliersOrders
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFSuppliersPayments
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFSupplierProposal
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFWorkstation
And update phpdoc for derived classes
* Set typing for doc generator (commonobject)
* Improve typing for write_file
* Set typing for doc generator
* Qual: Add abstract write_file to ModelePDFMember
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFProduct
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFProductBatch
And update phpdoc for derived classes
* Qual: Add abstract write_file to ModelePDFRecruitmentJobPosition
And update phpdoc for derived classes
* Add abstract write_file to ModelePDFTicket
* Add abstract write_file to ModelePDFUser
* Add abstract write_file to ModelePDFUserGroup
* Add abstract write_file to ModeleThirdPartyDoc
* Add abstract write_file to ModelePDFAsset
* Find all incompatible classes
* Qual: update phan baseline
* Set typing for doc generator (commonobject)
* Qual: update phan baseline
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: Fix phan notices wrt main.inc.php, menus
# Qual: Fix phan notices wrt main.inc.php, menus
This fixes phan notices stemming from main.inc.php and the menu classes.
* Qual: Fix phpstan notice that dol_authmode always set
# Qual: Fix phpstan notice that dol_authmode always set
dol_authmode is always set because it is now initialised.
* Update setValueFrom $id type to include null
* Only 2 arguments for ModeleNumRefMembers::getToolTip
* Fix PhanTypeConversionFromArray
* Only 6 args for PaymentSalary::addPaymentToBank
* Fix typing hints (array -> string)
* Fix uninitialized variables
* Add cssview to attributes phpdoc
* Avoid double typing specification (Phan notice)
* Qual: Ensure variable is defined (phan)
* Ensure phpdoc typing for verif method
* Ensure phpdoc typing for getNextValue method
* Add status as data key in cols array
* Ensure preg_replace operates on string (phan)
* Correct type for desiredstock
* Fix typing with casts (phan)
* Fix check that notification already exists
* Initialise fk_parent_id to fix typing issue
* Qual: Fix phan notices for Societe & related
* Qual: Fix typing for Facture and related
* Qual: Fix typing for Product & related
* Update baseline
* Fix new phpstan notices
* Update baseline
* Add/update phpdoc typings
* Fix type for AssetDepreciationOptions as is
* Fix typing for Asset->depreciation_lines
* $card is used in derived classes, add it back to ActionsAdherentCardCommon
* Adjust code with typing/corrections for defined types
* Fix typos, code update to match typing, extra typing
* Add type cast for numeric operation
* Phpdoc/cast adjustments detected because of new phpdoc hints
# Qual: Phan: Exclude htdocs/core/mymodule seen in cti.dolibarr.org
`htdocs/core/mymodule` has notices on https://cti.dolibarr.org
but it is not seen in git.
It would be a good idea to generate a module and include it in the
static analysis on cti, but `htdocs/core/mymodule` is not up-to-date.
If such a generation is done, a better name could be used.
For instance `generatedmymoduleforcti`.
* replace old syntax
* replace old syntax
* replace old syntax
* replace old syntax
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* rename files with same class name
* fix class with same name
* fix class with same name
* clean code
* fix an old error
* fix OdfException is never thrown in the try block
* fix OdfException is never thrown in the try block
* fix Undefined array key "name"
* fix missing translation
* fix missing translation
* fix Undefined variable $lineid
* fix warnings
* fix upload dir
* fix phpcs
* Qual: Update phan baseline
* Init variable to ensure it is defined
* Init $module_part to ensure it is defined
* Init $modulepart to ensure it is defined
* phpdoc typing for getNetNeeds and getNetNeedsTree
* Enforce type for phan
* Initialise $massactionbutton so that it is defined
* phpdoc: improve typing
* Encore character_set value is string (for typing)
* fixup! Qual: Update phan baseline
* Fix duplicate code
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
# Qual: Phan/apstats should not be using the standard baseline
Fix to get apstats reporting on the technical debt. The 'baseline.txt'
is for the ci regression. The code is changed to allow a
'baseline_extended.txt' which should not be generated, only hand-crafted
* Fix script generating trailing whitespace
* Add nusoap as a stub for better analysis
* Qual: Return type for fetch_name_optionals_label to fix phan message
* Qual: Enable Phan Rules and update baseline
# Qual: Enable Phan Rules and update baseline
This enables all of the rules that are currently also
enabled for cti, but sets the baseline to ignore the
exceptions already present.
This will help detect exceptions added by code modifications
if the rule is not ignored for the given file.
# Ignore PhanParamTooMany for adherents/admin/member.php
Ignore PhanParamTooMany for adherents/admin/member.php for passing CI;
The problem pre-exists and can be fixed later.
# Qual: Fix PhanTypeExpectedObjectOrClassName by testing on classname
PhanTypeExpectedObjectOrClassName should be fixed by testing that the classname is not
empty.
# Fix & enable PhanTypeSuspiciousEcho
Fix occurences by improving typing - array key was not found and
supposed null in a print statement.
Example:
PhanTypeSuspiciousEcho Suspicious argument $menu_array[$i]['prefix'] of type null for an echo/print statement
Enabled detection because all cases are fixed
# Fix: Enable/fix PhanPluginPrintfIncompatibleArgumentTypeWeak occurences
Fix the PhanPluginPrintfIncompatibleArgumentTypeWeak occurences and fix the rule
# Qual: Disable PhanPluginDuplicateCatchStatementBody which requires PHP7.1 for fix
To fix this PHP7.1 is required, so skipping the message in the extended
report as well.
# Fix PhanTypeInvalidUnaryOperandNumeric & remove from exceptions
Fix by casting result of date() or by adding typing hints.
(This notification indicates a unary '-' or similar is performed
on a value that may not be a number).
Fix PhanPluginPrintfNotPercent by setting format length to non 0 value.
Example of Notification message:
'Format string "%0.10F" contains something that is not a percent sign, it will be treated as a format string '%0.10F' with padding of "0" and alignment of '' but no width. Use %% for a literal percent sign, or '%1$.10F' to be less ambiguous' .
# Qual: Enable PhanTypeMismatchDeclaredParamNullable
The few cases for PhanTypeMismatchDeclaredParamNullable were fixed,
so the notification can be enabled
# Qual: Fix PhanPluginDuplicateIfStatements & remove exceptions
Fix occurences of PhanPluginDuplicateIfStatements which are if statements where the
consecutive branches execute the same code, making it useles to test the condition
* Qual: phan: Add more global definitions
# Qual: phan: Add more global definitions
Add some more typing information for globals
* Qual: phan: ignore local conf file which may contain exceptions
* Qual: phan: add a few more global typings