Commit Graph

11042 Commits

Author SHA1 Message Date
Laurent Destailleur
05914b4c78 Fix warning 2024-02-25 16:57:45 +01:00
MDW
a7eaa091dc Fix: Reviewed, fixed and optimized dol_dir_list (#28387)
# Fix: Reviewed, fixed and optimized dol_dir_list

Review: had some issues using the exclusion filter, may be unrelated to implementation.
Fixed: is_link was testing utf8 filename, not os filename version.
Optimized:
- Simplified is_dir branches
- Avoid computing the exclusion arrays multiple times
2024-02-24 13:09:13 +01:00
MDW
25617ab982 Fix: Protect from negative array index access (#28379)
# Fix: Protect from negative array index access

Negative array index access can happen when $i is 0.
While this raises a notice before PHP7.1 it would compare to the last
value in the string so it's invalid.

Detected with phan: PhanCompatibleNegativeStringOffset
2024-02-23 16:55:15 +01:00
Alban Durrheimer
36d364fb2d Add sendEmailsRemindersOnSupplierInvoiceDueDate cron function (#28378)
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-23 16:50:21 +01:00
MDW
f1f516f54c NEW: Global constant for deprecated module mapping (#28348)
* Qual: Add another deprecated module mapping

* NEW: Global constant for deprecated module mapping
2024-02-22 13:23:39 +01:00
Laurent Destailleur
2807c9410f Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-02-22 00:19:19 +01:00
Laurent Destailleur
9874d008aa Merge branch '17.0' of git@github.com:Dolibarr/dolibarr.git into 18.0 2024-02-22 00:16:59 +01:00
Laurent Destailleur
88da45d9dd Merge branch '16.0' of git@github.com:Dolibarr/dolibarr.git into 17.0 2024-02-22 00:16:14 +01:00
Laurent Destailleur
a76eafa0d4 Merge branch '15.0' of git@github.com:Dolibarr/dolibarr.git into 16.0 2024-02-22 00:15:35 +01:00
Laurent Destailleur
8c2a910a94 Merge branch '14.0' of git@github.com:Dolibarr/dolibarr.git into 15.0 2024-02-22 00:13:59 +01:00
Saami PERDRIX
52646ee9f5 fix aperçu/dl fichier quand il est dans {userid}/temp (#27211) 2024-02-22 00:10:04 +01:00
Laurent Destailleur
c396dcdfbb Fix from #27211 2024-02-22 00:09:45 +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
MDW
05527d3998 Fix: Allow new & old names to check if module is loaded. (#28297)
* Fix: Allow new & old names to check if module is loaded.

# Fix: Allow new & old names to check if module is loaded.

The method 'isModEnabled()' was already checking some modules for
their new name, but after transitioning Conf this was not working
for 'member'.  Now testing for both names as 'Conf' can handle
both and deprecation will be reported.

Several issues were discovered after removing deprecated values.

* Update functions.lib.php

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-21 17:31:08 +01:00
Laurent Destailleur
de789e03df QUAL Deprecated "domiciliation". Replaced with "address" 2024-02-21 16:43:41 +01:00
Laurent Destailleur
5e322d2807 Fix phpstan 2024-02-21 16:02:31 +01:00
Laurent Destailleur
85ed3ad6d0 restore dolPrintLabel() 2024-02-21 14:51:44 +01:00
MDW
db223a041f Qual: Optimisation in load criteria (dol_dir_list) (#28263)
# Qual: Optimisation in load criteria (dol_dir_list)

By moving the "$sortcriteria" conditions into the load conditions, the
comparison between strings is less frequent.

The original test can probably even be removed as it is part of load_*.

The only side-effect that I can see is with the hook, but I think
in theory there should not be a negative side-effect, only a positive
one as this tells the hook to load the data we need without relying
on the hook to make the proper interpretation of the searchcriteria.
2024-02-20 19:36:30 +01:00
Laurent Destailleur
8acd3451d1 Doc 2024-02-20 18:40:14 +01:00
Laurent Destailleur
e36c2b2e29 doc 2024-02-20 18:29:11 +01:00
Laurent Destailleur
ae49542197 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-02-20 14:50:51 +01:00
Laurent Destailleur
0492fb6098 FIX close #28279 2024-02-20 14:46:56 +01:00
MDW
246ec58531 Qual: Refactor for distinction between encodings (STEP6) (Was PR #28228 !) (#28281)
* Qual: Refactor for distinction between encodings

# Qual: Refactor for distinction between encodings

Renamed path/file variable to equivalents with prefix os_ and utf8.
Also added $utf8_fullpath to optimize.

* Fix: Fix mixed os_path/utf8_path

# Fix: Fix mixed os_path/utf8_path

This fixes the mixing of a os_path encoding en utf8_path encoding
by reorganising the statement order.

Also avoid a os_encode call by reusing data already available.
2024-02-20 02:09:00 +01:00
MDW
b2d90629e7 Qual: Apply php-cs-fixer to make only manual changes stand-out (#28300)
* Qual: Apply php-cs-fixer to make only manual changes stand-out

# Qual: Apply php-cs-fixer to make only manual changes stand-out

A few changes will be proposed in the future to these files.  This already commits
the esthetic changes using php-cs-fixes.

* Qual: Apply php-cs-fixer to make only manual changes stand-out

# Qual: Apply php-cs-fixer to make only manual changes stand-out

A few changes will be proposed in the future to these files.  This already commits
the esthetic changes using php-cs-fixes.

* Qual: Apply php-cs-fixer to make only manual changes stand-out

# Qual: Apply php-cs-fixer to make only manual changes stand-out

A few changes will be proposed in the future to these files.  This already commits
the esthetic changes using php-cs-fixes.
2024-02-20 01:27:46 +01:00
Laurent Destailleur
dff5d3ac93 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-02-19 18:24:57 +01:00
Laurent Destailleur
43996fff1f Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0 2024-02-19 18:23:48 +01:00
Laurent Destailleur
dbeb4427dd Close #28261 2024-02-19 18:06:05 +01:00
Laurent Destailleur
7a45255427 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2024-02-19 18:02:14 +01:00
Laurent Destailleur
ebae0f60fc Clean code 2024-02-19 18:01:16 +01:00
Lucas Marcouiller
f84ae10dbf Fix some php warnings (#28278)
Co-authored-by: Hystepik <lmarcouiller@nltechno.com>
2024-02-19 17:57:16 +01:00
notmarrco
2c3eff1896 NEW: API Add some api endpoints (#25126)
* feat(api): Add updateLine to Bank api + add salaries api

* feat(api): Add "deleteLine" to bank api

* fix(api): Remove unneeded mandatory field "salary"

* feat(api): Add PaymentSalaries and PaymentExpenseReports API

* fix(bankaccount): Fix bad phpdoc return type

* fix(bankaccount): Fix bad phpdoc return type and comments

* add updateLabel function to AccountLine

---------

Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
2024-02-19 17:03:07 +01:00
Regis Houssin
832284e710 FIX avoid error "Column 'entity' in where clause is ambiguous" (#28270) 2024-02-19 15:20:08 +01:00
MDW
fd674e6fe6 Qual: Fastest test first, and test object type (STEP2) (#28259)
* Qual: Remove useless ignore case on regex

# Qual: Remove useless ignore case on regex

The ignore case on this regex is useless and may have a performance impact.

* Qual: Fastest test first, and test object type

# Qual: Fastest test first, and test object type

The test on nohook should be fastest, and the instanceof test helps
static tool checkers and supposedly also helps performance
2024-02-19 15:18:20 +01:00
MDW
e24429ca2a Qual: Remove useless ignore case on regex (#28258)
# Qual: Remove useless ignore case on regex

The ignore case on this regex is useless and may have a performance impact.
2024-02-19 15:17:03 +01:00
Laurent Destailleur
978dd06c67 Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into develop 2024-02-19 15:02:37 +01:00
Laurent Destailleur
323063e5aa Removed dolPrintLabel(). Must use dolPrintHTML... 2024-02-19 14:30:02 +01:00
Laurent Destailleur
2365402137 NEW $noescapetags param of dol_escape_html works if attributes 2024-02-19 12:16:06 +01:00
Laurent Destailleur
5e4be61e7a Clean code 2024-02-19 10:16:50 +01:00
Laurent Destailleur
1ec1704de9 FIX Picto for mime 2024-02-19 09:58:42 +01:00
Lenin Rivas
a84ee2f1fb Contact phone mobile show Link to whatsapp (#28265)
* Contact phone mobile show Link to whatsapp

* Contact phone mobile with icon link to whatsapp

* Contact phone mobile show icon link to Whatsapp
2024-02-19 09:32:28 +01:00
MDW
275d190a2a Qual: Add verification on filters (dol_dir_list) (#28234)
# Qual: Add verification on filters (dol_dir_list)

As-is, '/' must be escaped in the regexes, this adds code to enforce
that requirement and avoid mistakes.

Even if the mathod using '{}' as delimiters is applied this check
could remain in place.

Also, returning empty array immediately - when the directory could
not be opened, closedir() can not be applied.
2024-02-18 23:44:35 +01:00
Laurent Destailleur
685cdecca5 FIX Picto for mime 2024-02-18 22:39:31 +01:00
Laurent Destailleur
50b4e6f81a NEW Add a link "Fill with layout" 2024-02-18 21:15:26 +01:00
Laurent Destailleur
1c0068c248 Doc 2024-02-18 18:27:10 +01:00
Laurent Destailleur
e6120d409f Clean code 2024-02-18 17:00:42 +01:00
Frédéric FRANCE
cb995b293d add photos in category banner (#28221) 2024-02-18 15:39:42 +01:00
Laurent Destailleur
f48ab54513 Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop 2024-02-18 15:16:22 +01:00
Laurent Destailleur
44f718232c Doc 2024-02-18 15:13:56 +01:00
MDW
f5dd7d7c93 FIX: Fix unneeded access outside open_basedir when looking for modules (#28237)
* FIX: Fix unneeded access outside open_basedir when looking for modules

# FIX: Fix unneeded access outside open_basedir when looking for modules

Change the order in which the if conditions are tested so that an is_dir("dir/..") is avoided
by first testing if the subpath starts with a dot.

Also changed uppercased the first 3 letters of the file before comparing to CVS.

Finally, improved the typing hint and documentation.

The PHPUNIT test failed like this:

```
35) ExportTest::testExportModulesDatasets
is_dir(): open_basedir restriction in effect. File(D:\a\dolibarr\dolibarr\htdocs/..) is not within the allowed path(s): (D:\a\dolibarr\dolibarr\htdocs;D:\a\dolibarr\dolibarr\documents;D:\a\dolibarr\dolibarr\test;D:\a\dolibarr\dolibarr\dev\initdemo;c:\tools\php)

D:\a\dolibarr\dolibarr\htdocs\core\lib\functions2.lib.php:100
D:\a\dolibarr\dolibarr\htdocs\exports\class\export.class.php:119
D:\a\dolibarr\dolibarr\test\phpunit\ExportTest.php:463
```

* Fix spelling
2024-02-18 15:09:01 +01:00
Laurent Destailleur
a72077731f FIX Bad CRLF when sending text only content. Fix dol_htmlwithnojs() 2024-02-18 02:23:04 +01:00