* fix phpstan Property Product::$oldcopy in empty() is not falsy
* add token
* doc
* fix phpstan Property Product::$oldcopy in empty() is not falsy
* fix phpstan Property Product::$oldcopy in empty() is not falsy
* fix phpstan
* NEW module user rights enhancement
* FIX syntax error
* FIX fuck
* FIX syntax error
* FIX Add label with the current language (key or with PermissionXXX)
* FIX wrong test
* FIX optimize
* FIX doc
* FIX add class "Rights" for constant
* FIX replace with constants
* FIX missing constant
* FIX wrong check
* TODO sql error : data too long for column 'libelle'
* FIX syntax error
* FIX synax error "the return"... i'll be back
* FIX use operator with double question mark
* FIX add comment
* FIX just remplace integer with constant
* FIX remove unused code
* FIX add an example
* FIX remove the possibility to have entity = 0 (too complicated)
* FIX perms must not be empty
* FIX sql syntax error
* FIX phpstan undefined property DolibarrModules::$modules
* FIX same fix of frederic34
* Update llx_rights_def.sql
* Update DolibarrModules.class.php
* Update DolibarrModules.class.php
* Update DolibarrModules.class.php
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
# Fix: note<->note_private aliasing is handled by DeprecationHandler
The extra copy is useless, the aliasing for the deprecated property is already handled
* Qual: Ignore some false positives for deprecated functions
# Qual: Ignore some false positives for deprecated functions
The Phan Deprecation Plugin for internal functions has mixed up some
mail functions and lists them as deprecated, this ignores that
* Qual: Enable detection and fixing of internal deprecations
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Replace 'join' with 'implode'
* Qual: Update codespell lines ignore list after format
# Qual: Update codespell lines ignore list after forma
Done using latest library, so also adds some exceptions that are needed
in the future;
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>