Advanced Project Status

Generated on 2024-05-12 22:15:54 in 947 seconds by apstats

Lines of code

LanguageBytesFilesLinesBlanksCommentsCode
All files without dependencies    
See detail per file type...
70 429 9673 6151 457 970169 438283 8031 004 729
All files of dependencies only    
See detail per file type...
67 630 7723 3261 086 35785 080167 661833 616
Total138 060 7396 9412 544 327254 518451 4641 838 345

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 organic model)
$69 870 054
COCOMO effort
(Basic organic model)
6 048 months people

Last security issues (last 3 months)

Commit IDDateReported on
Yogosha
Reported on
GIT
Reported on
CVE
TitleBranch
cc6cc18f…2024-05-06#yogosha22317Fix #yogosha22317 A user with read only permission can modify a debit or credit transfer.develop
a952a546…2024-05-06#yogosha22292Fix #yogosha22292 Permission check on stock read on page with stock per product.develop
47f87d2c…2024-04-23#yogosha22179FIX #yogosha22179 A user without permission "edit PHP" can load a website template that contains PHP codedevelop
cf58ac8b… 2024-04-23SEC: A user with export permission can export module data without permission on module by jumping to the export step 2 with URL IDOR attack.19.0, develop
082195b2…2024-04-09#yogosha21569Fix #yogosha21569develop
ebe8f251…2024-04-09#yogosha21561Fix #yogosha21561develop
fae202a6…2024-04-05Sec Possible html injection by corrupting external ICS links.develop
87bee3fb…2024-04-04#29231SEC Merge pull request #29231 from hregis/fix_14_security14.0, 15.0, 16.0, 17.0, 18.0, 19.0, develop
f2c70d95… 2024-04-04SEC Add a protection against installation of external module bypassing installmodules.lock19.0, develop
16e5d08b… 2024-03-14#yogosha21416FIX #yogosha2141619.0, develop
390f18f5…2024-03-14#yogosha20932FIX #yogosha20932develop
2d9801ff… 2024-03-06Fix sec more complete list of forbidden function18.0, 19.0, develop
3f99cce3…2024-02-17#yogosha20850Fix #yogosha20850develop
43967a83…2024-02-15#28168SEC: #28168 Correct protocol limitations (PHP7.4/Win) (#28172)develop

You can use this URL for RSS notifications: index-security.rss

Technical debt (PHPStan - PHP Static Analysis Tool 1.10.27 - level 4 -> 167 warnings)

FileLineType
htdocs/blockedlog/class/blockedlog.class.php818Dead catch - Exception is never thrown in the try block.
htdocs/categories/class/api_categories.class.php424Unreachable statement - code above always terminates.
htdocs/categories/class/api_categories.class.php504Unreachable statement - code above always terminates.
htdocs/categories/class/api_categories.class.php582Unreachable statement - code above always terminates.
htdocs/categories/class/api_categories.class.php660Unreachable statement - code above always terminates.
htdocs/categories/traduction.php183Property Categorie::$multilangs (array) in empty() is not falsy.
htdocs/categories/traduction.php259Property Categorie::$multilangs (array) in empty() is not falsy.
htdocs/categories/traduction.php290Property Categorie::$multilangs (array) in empty() is not falsy.
htdocs/comm/action/class/actioncomm.class.php127Property ActionComm::$libelle is unused.
htdocs/comm/action/class/actioncomm.class.php1278Call to function is_array() with (int|string) will always evaluate to false.
htdocs/comm/action/class/cactioncomm.class.php313Offset non-falsy-string on array{} in isset() does not exist.
htdocs/comm/propal/class/propal.class.php3678Instanceof between null and Project will always evaluate to false.
htdocs/commande/class/commande.class.php3759Instanceof between null and Project will always evaluate to false.
htdocs/compta/bank/class/account.class.php77Property Account::$courant is never read, only written.
htdocs/compta/bank/class/account.class.php281Property Account::$solde is never written, only read.
htdocs/compta/prelevement/class/bonprelevement.class.php1710Property BonPrelevement::$file (resource) in empty() is not falsy.
htdocs/contrat/class/contrat.class.php2089Instanceof between null and Project will always evaluate to false.
htdocs/core/class/commondocgenerator.class.php905Property Expedition::$commande (Commande) in empty() is not falsy.
htdocs/core/class/commondocgenerator.class.php1370Property CommonDocGenerator::$extrafieldsCache (ExtraFields) in empty() is not falsy.
htdocs/core/class/commondocgenerator.class.php1424Property CommonDocGenerator::$extrafieldsCache (ExtraFields) in empty() is not falsy.

Technical debt (PHAN 14164 warnings)

FileLineDetail
htdocs/accountancy/admin/productaccount.php818TypeError PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $toselect of type ?''|?'0'|?0|?0.0|?array{}|?false|?non-empty-array but \in_array() takes array (expected type to be non-nullable)
htdocs/accountancy/admin/productaccount.php832TypeError PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $toselect of type ?''|?'0'|?0|?0.0|?array{}|?false|?non-empty-array but \in_array() takes array (expected type to be non-nullable)
htdocs/accountancy/admin/productaccount.php846TypeError PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $toselect of type ?''|?'0'|?0|?0.0|?array{}|?false|?non-empty-array but \in_array() takes array (expected type to be non-nullable)
htdocs/accountancy/admin/productaccount.php860TypeError PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $toselect of type ?''|?'0'|?0|?0.0|?array{}|?false|?non-empty-array but \in_array() takes array (expected type to be non-nullable)
htdocs/accountancy/admin/productaccount.php874TypeError PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $toselect of type ?''|?'0'|?0|?0.0|?array{}|?false|?non-empty-array but \in_array() takes array (expected type to be non-nullable)
htdocs/accountancy/admin/productaccount.php887TypeError PhanTypeMismatchArgumentNullableInternal Argument 2 ($haystack) is $toselect of type ?''|?'0'|?0|?0.0|?array{}|?false|?non-empty-array but \in_array() takes array (expected type to be non-nullable)
htdocs/accountancy/bookkeeping/balance.php322UndefError PhanPossiblyUndeclaredGlobalVariable Global variable $url_param is possibly undeclared
htdocs/accountancy/bookkeeping/balance.php323UndefError PhanPossiblyUndeclaredGlobalVariable Global variable $url_param is possibly undeclared
htdocs/accountancy/bookkeeping/balance.php325UndefError PhanPossiblyUndeclaredGlobalVariable Global variable $url_param is possibly undeclared
htdocs/accountancy/bookkeeping/balance.php326UndefError PhanPossiblyUndeclaredGlobalVariable Global variable $url_param is possibly undeclared
htdocs/accountancy/bookkeeping/card.php55TypeError PhanTypeMismatchArgumentProbablyReal Argument 1 ($rowid) is null of type null but \AccountingAccount::fetch() takes int (no real type) defined at htdocs/accountancy/class/accountingaccount.class.php:179 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
htdocs/accountancy/bookkeeping/card.php59TypeError PhanTypeMismatchArgumentProbablyReal Argument 1 ($rowid) is null of type null but \AccountingJournal::fetch() takes int (no real type) defined at htdocs/accountancy/class/accountingjournal.class.php:113 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
htdocs/accountancy/bookkeeping/card.php129TypeError PhanTypeMismatchArgumentProbablyReal Argument 2 ($ref) is null of type null but \BookKeeping::fetch() takes string (no real type) defined at htdocs/accountancy/class/bookkeeping.class.php:746 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
htdocs/accountancy/bookkeeping/card.php135TypeError PhanPossiblyNullTypeMismatchProperty Assigning $subledger_account of type ?array|?string to property but \BookKeeping->subledger_account is string (null is incompatible)
htdocs/accountancy/bookkeeping/card.php186TypeError PhanPossiblyNullTypeMismatchProperty Assigning $subledger_account of type ?array|?string to property but \BookKeeping->subledger_account is string (null is incompatible)
htdocs/accountancy/bookkeeping/card.php192TypeError PhanTypeMismatchProperty Assigning (string)(GETPOST('doc_date', 'alpha')) of type string to property but \BookKeeping->doc_date is int
htdocs/accountancy/bookkeeping/card.php230TypeError PhanTypeMismatchArgumentProbablyReal Argument 2 ($ref) is null of type null but \BookKeeping::fetch() takes string (no real type) defined at htdocs/accountancy/class/bookkeeping.class.php:746 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
htdocs/accountancy/bookkeeping/card.php516TypeError PhanTypeMismatchArgumentProbablyReal Argument 5 ($select_in) is [] of type array{} but \FormAccounting::select_journal() takes int (no real type) defined at htdocs/core/class/html.formaccounting.class.php:86 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
htdocs/accountancy/bookkeeping/card.php771TypeError PhanTypeMismatchArgumentProbablyReal Argument 1 ($rowid) is null of type null but \AccountingAccount::fetch() takes int (no real type) defined at htdocs/accountancy/class/accountingaccount.class.php:179 (the inferred real argument type has nothing in common with the parameter's phpdoc type)
htdocs/accountancy/bookkeeping/export.php645TypeError PhanTypeObjectUnsetDeclaredProperty Suspicious attempt to unset class \BookKeepingLine's property $lettering_code declared at htdocs/accountancy/class/bookkeeping.class.php:3143 (This can be done, but is more commonly done for dynamic properties and Phan does not expect this)