Commit Graph

233 Commits

Author SHA1 Message Date
Charlène Benke
dc6c593187 Fix permission check from 'lire' to 'read' 2025-12-03 09:29:48 +01:00
Regis Houssin
8621eb21fa FIX multicompany dictionary sharing 2025-11-25 14:58:33 +01:00
Charlène Benke
712da5b172 NEW : api setup - Add dictionnary holiday lists (#36402)
* Add methods to retrieve holiday and public holiday lists

* Fix SQL query formatting in api_setup.class.php

* Add user permission checks for API access

Added permission checks for user access rights before fetching data for expense reports, holidays, and HR public holidays.
2025-11-25 14:21:58 +01:00
Frédéric FRANCE
46d6714fe0 clean code (#36317)
* clean code

* clean code

* clean doc

* clean doc

* clean doc

* clean doc

* fix

* fix

* fix

* fix

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-20 01:47:46 +01:00
Charlène Benke
c3f8a2b2e6 NEW add api List VAT (#35920)
* NEW add api List VAT 

Enhance getListOfVAT method with SQL filters and pagination.

* Update parameter type for fk_country in docblock

* Ensure integer casting for SQL parameters

Cast variables to integers for SQL query safety.

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-11-06 02:11:37 +01:00
Frédéric FRANCE
03ea0cda01 clean code class commondict (#35952)
* add fetchAll in abstract class commondict

* add fetchAll in abstract class commondict

* add fetchAll in abstract class commondict

* add fetchAll in abstract class commondict

* add fetchAll in abstract class commondict

* add fetchAll in abstract class commondict

* add fetchAll in abstract class commondict

* clean code
2025-10-28 01:25:30 +01:00
Charlène Benke
e8fc2c0f0e Modify getListOfContactTypes for expedition type (#35726)
* Modify getListOfContactTypes for expedition type

Adjust the contact type based on shipping settings.

* Update api_setup.class.php

* Update api_setup.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-10-15 01:16:49 +02:00
Jon Bendtsen
7fc9b253bf Reviving some old PR with API get, activate and disable modules (#35718)
* Reviving some old PR with API get, activate and disable modules

* expanding hurl test for setup wih some module tests

* return array, not object

* fix PHPStan on getmodules

* typecasting module functions to string

* instiating class DolibarrModule into an object so we can call functions on it

---------

Co-authored-by: Jon Bendtsen <xcodeauthor@jonb.dk>
2025-10-14 19:33:40 +02:00
Frédéric FRANCE
00fe10a75f clean code (#35442)
* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code

* clean code
2025-09-22 22:16:20 +02:00
Laurent Destailleur
d8fc4d4ceb Fix exclusion of files is not consistent 2025-09-12 02:22:42 +02:00
ldestailleur
969f0315df Clean code 2025-08-05 13:47:44 +02:00
Jyhere
91dd2e87ee NEW: API GET endpoint for thirdparties types listing (c_typent) (#34751)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-07-18 00:56:10 +02:00
Charlène Benke
cf967185d5 Add getConfs call to get all const in one call (#34385)
* Add getConfs call to get all const in one call

* Update api_setup.class.php

* Update api_setup.class.php
2025-06-10 16:25:24 +02:00
Charlène Benke
0fe942983e FIX api fail dictionary/contact_types when use type parameters (#34010)
* api fail dictionary/contact_types when use type parameters

* Update api_setup.class.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-04-29 07:07:14 +02:00
Jon Bendtsen
9142dbb4d2 FIX BUG: default value not changed when updating an extrafield using API #33949 (#33950)
* FIX BUG: default value not changed when updating an extrafield #33949

Update can now change default value for extrafields and fixes #33949

* Also use $default in updateExtrafields

The previous commit changed postExtrafields, but that is okay, because both needs to be changed

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2025-04-24 02:33:32 +02:00
ldestailleur
7db8252225 Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into develop 2025-04-21 13:52:25 +02:00
ptibogxiv
f1fbb98acd Fix api_setup.class.php (#33930) 2025-04-20 18:55:35 +02:00
ldestailleur
1726312fc3 Fix travis 2025-03-24 18:23:31 +01:00
ldestailleur
461cf5616e Clean code. WIP To manage permission on extrafields. 2025-03-18 14:55:37 +01:00
MDW
035ede5874 Qual: Fix phan notices in API classes 2025-03-02 20:49:46 +01:00
MDW
9ec4618199 Qual: Fix FunctionArray phan notices (#31754)
* Qual: Fix FunctionArray phan notices

* Fix class name in typing of htdocs/modulebuilder/index.php

* Fix customreports phpdoc

* Adjust file type after completeFileArrayWithDatabaseInfo

* Further phpdoc typing improvements

* More phpdoc

* Improve typing with cast on position field

* Force phpstan version

* Add phpstan exception

* Fix array index type + adjust phan config comment
2024-11-11 14:48:18 +01:00
Frédéric FRANCE
a760fc0092 fix phpstan (#31189)
* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan

* fix phpstan
2024-09-29 21:51:51 +02:00
Laurent Destailleur
bf697f83eb Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
develop
2024-09-12 21:50:31 +02:00
ptibogxiv
d40e0c6026 Fix api_setup.class.php (#30938)
new fix because old disappared
2024-09-12 21:09:28 +02:00
Laurent Destailleur
5797a0db3f Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-08-22 02:54:55 +02:00
ptibogxiv
99bcf84a31 Fix api_setup.class.php (#30682) 2024-08-20 03:18:40 +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
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
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
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
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
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
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
pascal
3134021875 Enhancing rest error messages 2024-01-17 20:41:25 +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
Laurent Destailleur
4501872f17 Clean code with rector 2 2024-01-05 04:33:58 +01:00
Fabian Heinz
b78632a20e api fixes
According to [RFC2616](https://www.rfc-editor.org/rfc/rfc2616#section-10.2), APIs should return 2xx status codes if the request was correct.
The response should be status 200 with an empty result array.
2023-12-31 14:11:05 +01:00
Laurent Destailleur
ab3737e569 Fix libxml_disable_entity_loader(true) must be called only if LIBXML is
lower than 20900 (disabled by default for libxml 2.9.0)
2023-12-29 17:55:09 +01:00