2
0
forked from Wavyzz/dolibarr
Commit Graph

596 Commits

Author SHA1 Message Date
MDW
b0087aaf61 Qual: Enable phan on modulebuilder (#30652)
* 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>
2024-08-18 18:16:08 +02:00
MDW
75ed925f06 Qual: Fix PhanPluginUnknownObjectMethodCall ("part 1") (#30563)
* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add typing hint to fix phan notice.

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add typing hint in phan config to fix phan notice.

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint to fix phan notice.

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for linkedObjectBlock

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for linkedObjectBlock

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for linkedObjects

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

# Qual: Fix PhanPluginUnknownObjectMethodCall (add typing hints)

Add/improve typing hint for PhanPluginUnknownObjectMethodCall

* Fix: MemberNumRefNumbers getExample does not take any arguments

Found thanks to adding the typing for phan!

* Qual: Correct forced type for $module

* Qual: Ignore phan false positive

* Qual: phan/Correct module type and ignore false positive

* Qual: phan/Ignore false positive

* Qual: phan/Ignore false positive, replace depr.prop with method

* Qual: Fix typing for count by adding is_array check

* Qual: replace depr.prop `nom` with method

* Qual: phan/Correct module type and ignore false positive

* Qual: phan/Correct module type and ignore false positive

* Qual: phan/Correct module type and ignore false positive

* Qual: phan/Fix depr.prop with getter and ignore false positive

* Qual: phan/Correct module type and ignore false positive

* Qual: phan/Correct module type and ignore false positive

* Qual: phan/Correct module type and ignore false positive

* Qual: Improve typing for mymodule template

* Make info method arguments match calls

* Make PrintingDriver abstract class because we added abstract methods

* Add phpdoc typing for phan

* Update getExample function signature for compatibility

* Update getExample function signature for compatibility

* Update getExample function signature for compatibility

* Update header wit correct information

* Update getExample method signature

* Update getExample method signature

* Correct reference to class in comment

* Force php phan typing for numbering modules

* Correct $_GLOBALS to $GLOBALS

* Add phpdoc to indicat type of properties

* Correct default to null

* Improve getNextValue typehint

* Improve getNextValue typehint

* Qual: Improve ModeleNumRefTakepos typing

* Qual: Improve ModeleNumRefRecruitmentJobPosition typing

* Fix default for $langs

* Do not use non-existing ModeleNumRefTakepos::nom

* Allow getNextValue argument to be null

* Correct $_GLOBAL into $GLOBALS

* Improve typing for ldap functions

* Allow null for outputlangs argument

* Improve typing for printOriginLine

* Improve typing for linkedObject access

* Fix PhanTypeMismatchArgumentNullableInternal and optimize

* Fix PhanPossiblyUndeclaredVariable by setting default value

* Ignore PhanPluginDuplicateExpressionAssignmentOperation - needs PHP7.4

* getToolTip does not accept null, changed to ''

* Improve getNextValue typing

* Change PrintingDriver back to normal class (instantiated)

And add errors for functions that should be overloaded

* Adjust pringOriginLine typing to match parent

* Fix phpdoc for getNextValue

* Fix phan typing

* Add/Improve phpdoc typing hints

* Qual: Adjustments to match typing

* Update typing for unit, use GETPOSTINT

* ModeleNumRefTask needs Project

* Fix several notices appearing after update from develop

* Index for choices is int, use GETPOSTINT

* Qual: Ignore empty foreach

* Force BOMLine on object line

* phan typing to indicate that linked objects are BOM

* Type the correct variable name (phan)

* Add typing for $langs

* Type to CommonNumRefGenerator (no class for availabilities)

* Resolve several phan notices after update from dev branch

* Extra typing fixes

* Move common attributes to parent class (phan)

* Add typing to Calendar class

* Improve typing hints

* Add typing to pdf_eagle_proforma

* Qual: Add typing for token in generic_oauthcallback.php

* Add typing for objMod

* Correct getNextValue function signature (phpstan)

* Fix typing (phpstan)

* Update version declarations (fix phpstan)

* Fix phpstan typing issues

* Adjust typing (phpstan)

* Qual: Update baseline & conf to detect 25% of PhanPluginUnknownObjectMethodCall
2024-08-17 19:32:52 +02:00
Laurent Destailleur
03bc26dcbb Fix API_DISABLE_LOGIN_API 2024-08-17 16:29:52 +02:00
thibdrev
e5c0150be4 qual: avoid double negations by introducing getDolGlobalBool() (#30618)
* Update index.php

* Update api.class.php

* Update pdf_eratosthene.modules.php

* Update pdf_sponge.modules.php

* Update pdf_cyan.modules.php

* Update partnershiputils.class.php

* Update paypalfunctions.lib.php

* Update societe.class.php

* Update functions.lib.php - create getDolGlobalBool()

* Update index.php

* Update api.class.php

* Update pdf_eratosthene.modules.php

* Update pdf_sponge.modules.php

* Update pdf_cyan.modules.php

* Update partnershiputils.class.php

* Update paypalfunctions.lib.php

* Update societe.class.php

* Update functions.lib.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-08-13 22:50:31 +02:00
ptibogxiv
700ee5b39e NEW translation with action triggers API (#30595)
* NEW translation with action triggers API

* Update api_setup.class.php
2024-08-13 12:16:10 +02:00
Jon Bendtsen
f1678b7524 NEW: API_LOGINS_ALLOWED_FOR_GET_EXTRAFIELD (#30562)
* introducing new global variable API_LOGINS_ALLOWED_FOR_GET_EXTRAFIELDS, code copied and modified from public function getModules()

* trying to use a different method to read the variable

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2024-08-11 00:06:00 +02:00
Jon Bendtsen
d4387e7e16 replacing ->global-> with getDolGlobalString because phan complained in a different commit (#30589)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2024-08-10 23:23:09 +02:00
MDW
aa49419e8f Qual: Fix/initial type cannot be inferred (#30591)
* 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
2024-08-10 23:21:46 +02:00
MDW
45ed4caeb2 Qual: Enable Phan Simplify rule and fix notices (#30537)
* Qual: Phan - Enable Simplyfy expression

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Qual: Simplify expression (phan notice)

* Update functions2.lib.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-08-07 03:05:02 +02:00
Jon Bendtsen
227bca1867 NEW API /setup endpoint for getting action triggers (#30538)
* New API /setup endpoint for getting action triggers. This makes it easier to know which ID number to specify to enable PROPAL_VALIDATE notifications

* introducing page and limit, also because phan was complaining

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2024-08-07 03:00:51 +02:00
MDW
8b71242997 Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests (#30544)
* Remove PhanPluginDuplicateExpressionAssignmentOperation from baseline

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* fixup! Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

* Qual: Apply PhanPluginDuplicateExpressionAssignmentOperation as phan suggests

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-08-07 02:53:45 +02:00
Laurent Destailleur
f002fb4ed1 Use the non deprecated function loadRights instead of getrights 2024-08-02 10:36:43 +02:00
Laurent Destailleur
2068f29b44 Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-08-01 10:51:25 +02:00
Laurent Destailleur
ee0412dd27 Fix phan warning 2024-07-31 18:54:52 +02:00
Christian Humpel
b96c7f8318 NEW API Document implementation for MRP (MO) (#30488)
* Get /documents

* PUT /documents/builddoc

* POST /documents/upload
2024-07-31 15:43:13 +02:00
Laurent Destailleur
6b6631fe22 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-05-31 16:51:46 +02:00
Laurent Destailleur
5ee4af14ed Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2024-05-31 16:30:50 +02:00
battosai30
f0bf49f942 FIX: #29439 incomplete API return (#29796)
* Update api_documents.class.php

* Update api_documents.class.php

* Update api_documents.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-05-31 15:24:31 +02:00
Laurent Destailleur
e054e4380c Clean code 2024-05-02 16:25:44 +02:00
Laurent Destailleur
9e654e65dd Debug v20 2024-04-29 11:04:19 +02:00
Jon Bendtsen
cb7ac3abef Fix API GET extrafield returns 404 when not found. In general better (error) descriptions. (#29341)
* fix: get non existent => 404 + more detailed error descriptions

* FIX entity now loaded from Dolibarr, not user input. Also now shown in json.

* getting the entity data from the API user

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2024-04-21 09:46:11 +01:00
Jon Bendtsen
a7e53f4e33 NEW: API can create, get and update extrafields #29249 (#29270)
* NEW: API can Post extrafields #29249 v2

* suppressing phan

* removing trailing space

* mix of POST to create and PUT to update into one package

* can now also get a single extrafield based on attrname and elementtype

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2024-04-12 02:02:22 +02:00
Jon Bendtsen
f7eb0b9fde NEW: API setup update extrafields from name, elementtype and json (#29273)
* NEW: API setup update extrafields from name, elementtype and json

* default_value

* fix SQL injection

* more SQL injection prevention

* Sanitized

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-04-10 12:02:57 +02:00
Jon Bendtsen
1207ce21cc NEW: API setup delete extrafields from name and elementtype v2 (#29269)
* NEW: API delete extrafields from name and elementtype

* 401 came back, but was 403'ed again

* Fix sql injection

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-04-08 11:11:53 +02:00
Laurent Destailleur
b5de782c6b Fix use the good HTTP code 2024-04-07 14:59:25 +02:00
Jon Bendtsen
3e3c4056fc all current columns in llx_extrafields can now be seen in the json (#29253)
Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2024-04-06 17:42:03 +02:00
Laurent Destailleur
d25ef761ad Merge pull request #29152 from mdeweerd/test/compat/deprecations
Fix Tests for compatibility with deprecations
2024-04-02 13:41:04 +02:00
Laurent Destailleur
990216b13f NEW Api parameters are sanitized by the WAF, same code than GET/POST 2024-04-02 13:07:13 +02:00
Laurent Destailleur
594da940fa Sanitize input 2024-04-02 11:57:30 +02:00
MDW
e3f1fc3682 Cope with magic and real properties aliases in _filterObjectProperties 2024-04-02 11:25:16 +02:00
Laurent Destailleur
3e8c3edd6d Clean code from _GET 2024-03-28 17:10:22 +01:00
MDW
a094ad38fc Fix spelling (using beta codespell)
# Fix spelling (using beta codespell

New spelling fixes - ignoring thirdparty which should be either third-party
or third party.
2024-03-20 00:35:01 +01:00
Laurent Destailleur
5d073ac208 Fix hasRights into hasRight 2024-03-19 22:02:42 +01:00
MDW
a408288ba1 Fix & enable PhanPluginUnknownClosureParamType
# Fix & enable PhanPluginUnknownClosureParamType

Typing of anonymous functions to fix this notice.
Optimised some minor things.
2024-03-14 22:42:26 +01:00
Frédéric FRANCE
b6fdae934a fix phpstan (#28405)
Method DolibarrApi::_checkValForAPI() should return string but returns array.
2024-02-25 10:05:26 +01:00
Laurent Destailleur
23492676b0 Removed definitely modelpdf (replaced with model_pdf) 2024-02-22 12:30:35 +01:00
MDW
8655d5a86b QUAL Use phan to help detect new issues (#27706)
* Qual: Add phan flow

- Add phan configuration (config, baseline, stubs);
- Add github action;
- Update apstats.php.

* Add directives to ignore false phan notices

* Qual: Add typing hints for extrafields TPL files

# Qual: Add typing hints for extrafields TPL files

Add typing hints for phan on view files

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-21 18:14:29 +01:00
Laurent Destailleur
044d14ce2e Add dol_escape_htmltag 2024-02-17 19:56:45 +01:00
Laurent Destailleur
fb283fdfe9 Clean code after yogosha reports 2024-02-17 18:39:26 +01:00
Laurent Destailleur
7107b5feb3 Debug custom report filter management 2024-02-16 01:19:53 +01:00
MDW
8592f6ba49 Qual: Apply automatic phan fixes (deprecations, unneeded imports) (#28154)
* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).

* Qual: Apply automatic phan fixes (deprecations, unneeded imports)

# Qual: Apply automatic phan fixes (deprecations, unneeded imports)

This applies automatic fixes by phan for deprecated functions, unneeded imports).
2024-02-13 21:46:12 +01:00
MDW
7b54824d49 Fix #28071 - New branch to fix bad merge (#28083)
* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

* Qual: Introduce getDataToShowPhoto to prepare generic code

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Fix missing trans

* Fix langs

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Remove useless files in web templates

* Clean code

* Fix duplicate translation key

* Fix duplicate translation key

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Fix duplicate key

* Fix $object

* Debug v19

* WIP SMSing

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* WIP EMAILINGS_SUPPORT_ALSO_SMS

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* WIP SMSing

* Debug the "validate" feature

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Clean code

* Move rights->x->y into hasRight('x', 'y')

* Move rights->x->y into hasRight('x', 'y')

* Move rights->x->y into hasRight('x', 'y')

* Move rights->x->y into hasRight('x', 'y')

* Move rights->x->y into hasRight('x', 'y')

* Move rights->x->y into hasRight('x', 'y')

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

* Enhance rector to fix empty($user->rights->modulex->perm1)

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop

* Fix template to use v19 dev rules

* Fix use v19 dev rules

* Fix phpunit

* Debug v19

* Clean code

* Use rector to convert user->rights into user->hasRight

* Clean code

* Use rector to convert user->rights into user->hasRight

* Use rector to convert user->rights into user->hasRight

* Clean code

* Fix phpcs

* add editorconfig for sql files (#27999)

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* add model_pdf field in llx_ticket-ticket.sql (#27996)

* add model_pdf field in llx_ticket-ticket.sql

* Update 19.0.0-20.0.0.sql

* Update 19.0.0-20.0.0.sql

* Improve wording in README (#27994)

* fix phpstan (#27989)

* fix phpstan

* Update UserRightsToFunction.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>

* Qual: Fix spelling/working in datapolicy translations (#28006)

# Qual: Fix spelling/wording in datapolicy translations

Fixed some spelling and wording in datapolicy translations.

* qual: phpstan for htdocs/ticket/class/ticketstats.class.php (#27986)

htdocs/ticket/class/ticketstats.class.php	98	Parameter #1 $year (string) of method TicketStats::getNbByMonth() should be compatible with parameter $year (int) of method Stats::getNbByMonth()

* Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop

* Fix user with readonly perm on email template must be able to read.

* Fix doc

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Better message

* Add missing fields in merge of thirdparty

* Debug v19 selection of ticket printer per terminal

* Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

* Use constant

* NEW: Adding a recipient on emails sent, change status to sent partialy.

* fix travis (#28052)

* fix travis

* Update partnership.class.php

* fix php doc (#28047)

* fix undefined array key (#28048)

* Add region and departament for Cuba (#28046)

* Update llx_10_c_regions.sql

Add Cuba Regions (id_country=77)

* Update llx_20_c_departements.sql

Add Provinces Cuba (id country=77)

* Find the typo (#28050)

* Find the typo

* clean code

* add last_main_doc field to product (#28045)

* add las_main_doc field to product

* add field fetch

* NEW Add Categorie filter for ActionComm (#28041)

* New Add Categorie filter for ActionComm

New Add Categorie filter for ActionComm

* Fix space errors

Fix space errors

* Fix space errors 2

Fix space errors 2

* Update cunits.class.php (#28056)

FIX: error SQL when creating a Cunit

* Update codespell-lines-ignore.txt to avoid PR merge conflict

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
Co-authored-by: Frédéric FRANCE <frederic34@users.noreply.github.com>
Co-authored-by: thibdrev <thibault.drevet@gmail.com>
Co-authored-by: sonikf <93765174+sonikf@users.noreply.github.com>
Co-authored-by: Ikarus <44511582+LeKarSol@users.noreply.github.com>
Co-authored-by: Anthony Damhet <73399671+EchoLoGeek@users.noreply.github.com>
Co-authored-by: Quentin-Seekness <72733832+Quentin-Seekness@users.noreply.github.com>
2024-02-09 15:58:49 +01:00
Laurent Destailleur
32e205b5d1 Clean code 2024-02-02 19:50:43 +01:00
Laurent Destailleur
c9823f2b8d Move 401 to 403 2024-02-01 19:34:13 +01:00
Laurent Destailleur
db133ce471 Clean value 2024-02-01 00:54:03 +01:00
pascal
3134021875 Enhancing rest error messages 2024-01-17 20:41:25 +01:00
MDW
a04f2bf4e7 Qual: Spelling fixes that newly appeared. (#27495)
* Qual: Spelling fixes that newly appeared.

# Qual: Fix spelling erros that appeared since the bulk updates.

These issues mostly appeared since the bulk updates (a few ones were postponed
to make sure no real spelling errors were missed.)

* Update modulebuilder.lib.php

* Update pdf_standard.modules.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-01-14 12:26:37 +01:00
Pascal Hubrecht
4d259e2fda QUAL Enhance API description - Documents (#27492)
* qual enhance api description

* Update api_documents.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-01-13 19:34:51 +01:00
MDW
39769482b1 Qual: Fix typing hints for DoliDB (#27484)
# Qual: Fix typing hints for DoliDB

This should help the static tools for type and method checking.
2024-01-13 15:50:02 +01:00
MDW
85ad4ecdf8 Qual: Spelling for htdocs/[a-b]* (#27422)
Mostly comments, one variable changed from misspelling to .
Also changed CNAT to C.N.A.T in comment to avoid fix from CNAT to CAN'T.

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-01-12 20:58:09 +01:00