Advanced Project Status

Generated on 2026-04-06 02:18:26 in 1100 seconds by apstats

Lines of code

LanguageBytesFilesLinesBlanksCommentsCode (SLOC)
All files without dependencies    
See detail per file type...
90 299 4774 0271 770 337191 988343 0271 235 322
All files of dependencies only    
See detail per file type...
70 223 3353 539830 18173 574165 679590 928
Total160 522 8127 5662 600 518265 562508 7061 826 250

Contributions

Pushes and Commits of Dolibarr/dolibarr Pull Request Size of Dolibarr/dolibarr

Contributors


Thumbs of most active contributors

Dolibarr


Star History of Dolibarr/dolibarr

Project value

COCOMO value
(Basic/Semi-detached model)
$140 932 963
COCOMO effort
(Basic/Semi-detached model)
12 295 months people

Last security issues (last 6 months)

Commit IDDateReported on a
VDP (GHSA, Yogosha...)
Reported on
GitHub issues
Reported on
CVE
TitleBranch of fix
9533677c…2026-04-03#ghsa-prg3-w5r4-h7g3FIX #GHSA-prg3-w5r4-h7g323.0, develop
b18f4ecc… 2026-04-03#ghsa-hq5j-39f9-qxcvFIX #GHSA-hq5j-39f9-qxcv22.0, 23.0, develop
ee8ded7c…2026-03-29#ghsa-5cfw-655w-vqp8Fix #GHSA-5cfw-655w-vqp823.0, develop
7113794c…2026-03-29#ghsa-7mvq-p95c-38fxFix #GHSA-7mvq-p95c-38fx23.0, develop
e263a85f…2026-03-26#ghsa-ph29-326p-chw4FIX #GHSA-ph29-326p-chw4 - disable+sanitize deprecated load/save files23.0, develop
fb251fee… 2026-03-26#ghsa-39vm-9q4p-6jjg#37629FIX #GHSA-39vm-9q4p-6jjg - force disabling module possible on demo only (#37629), FIX #GHSA-39vm-9q4p-6jjg - force disabling module possible on demo only22.0, 23.0, develop
1f1b6bf4… 2026-03-26#ghsa-hh5p-m24x-fwx2#37630FIX #GHSA-hh5p-m24x-fwx2 block ssrf when using webhooks (#37630), FIX #GHSA-hh5p-m24x-fwx2 block ssrf when using webhooks22.0, 23.0, develop
c83c1330… 2026-03-26#ghsa-v5fq-cf5m-vwv7#37632FIX #GHSA-v5fq-cf5m-vwv7 - Credit Grzegorz Tworek, Sec4check (#37632), FIX #GHSA-v5fq-cf5m-vwv7 - Credit Grzegorz Tworek, Sec4check (grzegorz.tworek@sec4check.pl)22.0, 23.0, develop
01297d0e… 2026-03-26#ghsa-crgg-h74r-2m8r#37637FIX #GHSA-crgg-h74r-2m8r (#37637), FIX #GHSA-crgg-h74r-2m8r22.0, 23.0, develop
11244390… 2026-03-26#ghsa-qjj8-wpvx-p54jFIX #GHSA-qjj8-wpvx-p54j - test on hierarchy not done on some api23.0, develop
18aa4442… 2026-03-26#ghsa-5jmx-352f-p5g3NEW use of rich editor is off by default on public page - #GHSA-5jmx-352f-p5g3, NEW Start implementation of MAIN_RESTRICTHTML_ONLY_VALID_HTML=2 for #GHSA-5jmx-352f-p5g3develop
67e35e3f…2026-03-26#ghsa-jc53-p98m-66wvFix #GHSA-jc53-p98m-66wv - SSRF better on servers with ipv6 onlydevelop
6d68a68b…2026-03-26#ghsa-5w4f-94xq-w36fFix #GHSA-5w4f-94xq-w36f - wrapper to download files in public ticket is too opendevelop
f98e60bd… 2026-03-25#ghsa-7hqv-pvw6-cw54FIX #GHSA-7hqv-pvw6-cw5423.0, develop
ea1d3605…2026-03-25#ghsa-3g6r-h9mx-5gg9FIX #GHSA-3g6r-h9mx-5gg9develop
6f425521…2026-03-25#ghsa-vmvw-qq8w-wqhgFIx #GHSA-vmvw-qq8w-wqhg23.0, develop
29c63752…2026-03-25#ghsa-mh66-3w5r-xg9jFix #GHSA-mh66-3w5r-xg9j23.0, develop
40374ec1…2026-03-25#ghsa-8qh8-6h88-q46pFIX #GHSA-8qh8-6h88-q46p23.0, develop
8ab83f3b…2026-03-25#ghsa-3j3p-jjf7-hm9gBackport fix #GHSA-3j3p-jjf7-hm9g22.0, 23.0, develop
d928b816…2026-03-02#ghsa-q29x-7fmx-7gq3Fix #GHSA-q29x-7fmx-7gq323.0, develop
743c22e5…2026-03-02#ghsa-2mfj-r695-5h9rSec: Fix #GHSA-2mfj-r695-5h9r23.0, develop
a8e05083…2026-02-12#37211Sec: Can init a page with php content without permission for php content (#37211)18.0, 19.0, 20.0, 21.0, 22.0, 23.0, develop
5846921e…2026-02-11Sec: Can init a page with php content without permission for php content edition (reported by phdwg1410)22.0, 23.0, develop
2e7ab21d… 2026-01-13#ghsa-w5j3-8fcr-h87w#36868FIX #GHSA-w5j3-8fcr-h87w (#36868), FIX #GHSA-w5j3-8fcr-h87w18.0, 19.0, 20.0, 21.0, 22.0, 23.0, develop
4bfda08f…2026-01-07#ghsa-px39-mwcr-hvxpFix #GHSA-px39-mwcr-hvxp23.0, develop
ac4a110c…2025-12-16Sec: Fix Dolibarr Stored XSS via Meta Tag Injection GHSA-59gv-36h7-qwh823.0, develop
a1476fd2…2025-12-03SEC: permissions not checked on other tabs of HRM evaluation card17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, develop
908880c8…2025-11-26SEC: fix IDOR attack on employee evaluation. Missing permision test https://github.com/atm-florianm/dolibarr/commit/7ed0af2a138a34e7c7005b95c85ffc791976a6cf17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, develop
3608e9b1…2025-11-26SEC: 7ed0af2a138a34e7c7005b95c85ffc791976a6cf17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, develop

Note:Search is done in git repository on regex string "#ghsa|#yogosha|CVE[\s\-]*\d|Sec:|Sec |^Sec\s" (not case sensitive)
You can use this URL for RSS notifications: index-security.rss

Technical debt (PHPStan - PHP Static Analysis Tool 1.10.27 - level 9 -> 778 warnings)

FileLineType
htdocs/admin/limits.php343Parameter #12 $localtaxes_array of function calcul_price_total expects array{string, int|string, string, int|string, string, string}|array{string, int|string, string, string}, array{} given.
htdocs/admin/limits.php352Parameter #12 $localtaxes_array of function calcul_price_total expects array{string, int|string, string, int|string, string, string}|array{string, int|string, string, string}, array{} given.
htdocs/admin/tools/ui/class/documentation.class.php36Property Documentation::$view type has no value type specified in iterable type array.
htdocs/admin/tools/ui/class/documentation.class.php302Method Documentation::setMenu() should return mixed but return statement is missing.
htdocs/admin/tools/ui/class/documentation.class.php385Method Documentation::displayMenu() has parameter $menu with no value type specified in iterable type array.
htdocs/admin/tools/ui/class/documentation.class.php467Parameter #1 $menu of method Documentation::displaySummary() expects array{summary?: array, submenu?: array}, mixed given.
htdocs/admin/tools/ui/class/documentation.class.php482Method Documentation::displaySummary() has parameter $menu with no value type specified in iterable type array.
htdocs/asset/admin/setup.php643Variable $object might not be defined.
htdocs/asset/agenda.php207Variable $socid might not be defined.
htdocs/asset/class/assetmodel.class.php234Property AssetModel::$asset_depreciation_options (AssetDepreciationOptions) in empty() is not falsy.
htdocs/asset/class/assetmodel.class.php239Property AssetModel::$asset_accountancy_codes (AssetAccountancyCodes) in empty() is not falsy.
htdocs/asset/class/assetmodel.class.php424Property AssetModel::$asset_depreciation_options (AssetDepreciationOptions) in empty() is not falsy.
htdocs/asset/class/assetmodel.class.php429Property AssetModel::$asset_accountancy_codes (AssetAccountancyCodes) in empty() is not falsy.
htdocs/asset/tpl/accountancy_codes_edit.tpl.php58Variable $parameters might not be defined.
htdocs/asset/tpl/accountancy_codes_edit.tpl.php69Variable $assetaccountancycodes might not be defined.
htdocs/asset/tpl/accountancy_codes_view.tpl.php52Variable $parameters might not be defined.
htdocs/asset/tpl/accountancy_codes_view.tpl.php67Variable $assetaccountancycodes might not be defined.
htdocs/asset/tpl/depreciation_options_edit.tpl.php71Variable $parameters might not be defined.
htdocs/asset/tpl/depreciation_options_view.tpl.php58Variable $parameters might not be defined.
htdocs/asset/tpl/depreciation_view.tpl.php54Variable $parameters might not be defined.

Technical debt (Phan 5.4.3 -> 640 warnings)

FileLineDetail
htdocs/ai/lib/ai.lib.php319Plugin PhanPluginRedundantReturnComment Redundant @return void on function ai_log_request(). Either add a description or remove the @return annotation: @return void
htdocs/ai/lib/ai.lib.php321CompatError PhanCompatibleVoidTypePHP70 Return type 'void' means the absence of a return value starting in PHP 7.1. In PHP 7.0, void refers to a class/interface with the name 'void'
htdocs/comm/action/index.php1135TypeError PhanTypeMismatchArgument Argument 1 ($string) is $event->datep of type int|non-zero-int but \DoliDB::jdate() takes ?string defined at htdocs/core/db/DoliDB.class.php:399
htdocs/comm/action/index.php1136TypeError PhanTypeMismatchArgument Argument 1 ($string) is $event->datef of type int|non-zero-int but \DoliDB::jdate() takes ?string defined at htdocs/core/db/DoliDB.class.php:399
htdocs/comm/action/index.php1472TypeError PhanTypeMismatchProperty Assigning ($userId as a field) of type array to property but \ActionComm->userassigned is array
htdocs/comm/action/pertype.php1054TypeError PhanTypeExpectedObjectPropAccess Expected an object instance when accessing an instance property, but saw an expression $username with type string
htdocs/comm/action/pertype.php1324TypeError PhanTypeExpectedObjectPropAccess Expected an object instance when accessing an instance property, but saw an expression $username with type string
htdocs/comm/action/pertype.php1326TypeError PhanTypeExpectedObjectPropAccess Expected an object instance when accessing an instance property, but saw an expression $username with type string
htdocs/comm/action/peruser.php1065TypeError PhanTypeMismatchArgument Argument 1 ($string) is $event->datep of type int|non-zero-int but \DoliDB::jdate() takes ?string defined at htdocs/core/db/DoliDB.class.php:399
htdocs/comm/action/peruser.php1066TypeError PhanTypeMismatchArgument Argument 1 ($string) is $event->datef of type int|non-zero-int but \DoliDB::jdate() takes ?string defined at htdocs/core/db/DoliDB.class.php:399
htdocs/comm/card.php1004TypeError PhanTypeMismatchArgument Argument 1 ($file) is $file_list of type array{name:string,path:string,level1name:string,relativename:string,fullname:string,date:string,size:int,perm:int,type:string,position_name:string,cover:string,keywords:string,acl:string,rowid:int,label:string,share:string}[]|non-empty-array but \FormFile::showPreview() takes array{name:string,path?:string,level1name?:string,relativename?:string,fullname:string,date?:string,size?:int,perm?:int,type?:string} defined at htdocs/core/class/html.formfile.class.php:2428
htdocs/comm/card.php1126TypeError PhanTypeMismatchArgument Argument 1 ($file) is $file_list of type array{name:string,path:string,level1name:string,relativename:string,fullname:string,date:string,size:int,perm:int,type:string,position_name:string,cover:string,keywords:string,acl:string,rowid:int,label:string,share:string}[]|non-empty-array but \FormFile::showPreview() takes array{name:string,path?:string,level1name?:string,relativename?:string,fullname:string,date?:string,size?:int,perm?:int,type?:string} defined at htdocs/core/class/html.formfile.class.php:2428
htdocs/comm/card.php1232TypeError PhanTypeMismatchArgument Argument 1 ($file) is $file_list of type array{name:string,path:string,level1name:string,relativename:string,fullname:string,date:string,size:int,perm:int,type:string,position_name:string,cover:string,keywords:string,acl:string,rowid:int,label:string,share:string}[]|non-empty-array but \FormFile::showPreview() takes array{name:string,path?:string,level1name?:string,relativename?:string,fullname:string,date?:string,size?:int,perm?:int,type?:string} defined at htdocs/core/class/html.formfile.class.php:2428
htdocs/comm/card.php1346TypeError PhanTypeMismatchArgument Argument 1 ($file) is $file_list of type array{name:string,path:string,level1name:string,relativename:string,fullname:string,date:string,size:int,perm:int,type:string,position_name:string,cover:string,keywords:string,acl:string,rowid:int,label:string,share:string}[]|non-empty-array but \FormFile::showPreview() takes array{name:string,path?:string,level1name?:string,relativename?:string,fullname:string,date?:string,size?:int,perm?:int,type?:string} defined at htdocs/core/class/html.formfile.class.php:2428
htdocs/comm/card.php1447TypeError PhanTypeMismatchArgument Argument 1 ($file) is $file_list of type array{name:string,path:string,level1name:string,relativename:string,fullname:string,date:string,size:int,perm:int,type:string,position_name:string,cover:string,keywords:string,acl:string,rowid:int,label:string,share:string}[]|non-empty-array but \FormFile::showPreview() takes array{name:string,path?:string,level1name?:string,relativename?:string,fullname:string,date?:string,size?:int,perm?:int,type?:string} defined at htdocs/core/class/html.formfile.class.php:2428
htdocs/comm/card.php1678TypeError PhanTypeMismatchArgument Argument 1 ($file) is $file_list of type array{name:string,path:string,level1name:string,relativename:string,fullname:string,date:string,size:int,perm:int,type:string,position_name:string,cover:string,keywords:string,acl:string,rowid:int,label:string,share:string}[]|non-empty-array but \FormFile::showPreview() takes array{name:string,path?:string,level1name?:string,relativename?:string,fullname:string,date?:string,size?:int,perm?:int,type?:string} defined at htdocs/core/class/html.formfile.class.php:2428
htdocs/comm/mailing/index.php121UndefError PhanUndeclaredProperty Reference to undeclared property \MailingTargets->require_module
htdocs/comm/mailing/index.php122UndefError PhanUndeclaredProperty Reference to undeclared property \MailingTargets->require_admin
htdocs/comm/mailing/index.php141UndefError PhanUndeclaredProperty Reference to undeclared property \MailingTargets->picto
htdocs/comm/mailing/targetemailing.php582UndefError PhanUndeclaredProperty Reference to undeclared property \MailingTargets->require_module