diff --git a/dev/tools/phan/baseline.txt b/dev/tools/phan/baseline.txt index f69251c12c049..eb6649f950700 100644 --- a/dev/tools/phan/baseline.txt +++ b/dev/tools/phan/baseline.txt @@ -9,13 +9,15 @@ */ return [ // # Issue statistics: + // PhanTypeMismatchArgument : 3800+ occurrences // PhanUndeclaredProperty : 540+ occurrences - // PhanPossiblyUndeclaredGlobalVariable : 210+ occurrences - // PhanUndeclaredGlobalVariable : 210+ occurrences + // PhanTypeMismatchArgumentNullable : 460+ occurrences + // PhanPossiblyUndeclaredGlobalVariable : 200+ occurrences + // PhanUndeclaredGlobalVariable : 190+ occurrences // PhanPluginUnknownArrayMethodReturnType : 180+ occurrences - // PhanTypeMismatchArgumentProbablyReal : 160+ occurrences - // PhanTypeMismatchProperty : 140+ occurrences - // PhanPluginUnknownArrayMethodParamType : 120+ occurrences + // PhanTypeMismatchArgumentProbablyReal : 150+ occurrences + // PhanTypeMismatchProperty : 130+ occurrences + // PhanPluginUnknownArrayMethodParamType : 110+ occurrences // PhanRedefineFunction : 45+ occurrences // PhanPluginUndeclaredVariableIsset : 40+ occurrences // PhanTypeExpectedObjectPropAccess : 40+ occurrences @@ -47,401 +49,900 @@ return [ // Currently, file_suppressions and directory_suppressions are the only supported suppressions 'file_suppressions' => [ - 'htdocs/accountancy/class/accountancyexport.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/adherents/list.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/adherents/type.php' => ['PhanTypeMismatchProperty'], - 'htdocs/admin/agenda_other.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/accountancy/admin/account.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/admin/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/admin/categories.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/admin/categories_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/admin/fiscalyear_card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/admin/journals_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/admin/productaccount.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/admin/report_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/admin/subaccount.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/bookkeeping/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/bookkeeping/export.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/bookkeeping/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/bookkeeping/listbyaccount.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/class/accountancycategory.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/class/accountancyexport.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/accountancy/class/accountancyimport.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/class/accountingjournal.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/class/bookkeeping.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/class/lettering.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/closure/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/customer/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/customer/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/expensereport/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/expensereport/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/journal/bankjournal.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/journal/expensereportsjournal.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/journal/purchasesjournal.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/journal/sellsjournal.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/journal/variousjournal.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/supplier/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/accountancy/supplier/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/accountancy/tpl/export_journal.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/admin/member.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/admin/website.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/canvas/actions_adherentcard_common.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/class/adherent.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/adherents/class/adherent_type.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/class/api_members.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/adherents/class/subscription.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/adherents/stats/geo.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/adherents/subscription.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/subscription/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/adherents/type.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/adherents/vcard.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/agenda_other.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/admin/agenda_reminder.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/bank.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/barcode.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/bom.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/boxes.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/chequereceipts.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/company.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/contract.php' => ['PhanTypeMismatchArgument'], 'htdocs/admin/defaultvalues.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/admin/delivery.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/dict.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/emailcollector_card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/emailcollector_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/eventorganization.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/expedition.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/expensereport.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/expensereport_rules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/external_rss.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/fckeditor.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/fichinter.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/holiday.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/hrm.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/invoice.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/knowledgemanagement.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/mails.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/mails_emailing.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/mails_passwordreset.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/mails_senderprofile_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/mails_templates.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/mails_ticket.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/menus/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/mrp.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/multicurrency.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/order.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/payment.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/paymentbybanktransfer.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/pdf_other.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/prelevement.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/propal.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/receiptprinter.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/reception_setup.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/remotestore/class/PSWebServiceLibrary.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/remotestore/class/dolistore.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/stock.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/stocktransfer.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/supplier_invoice.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/supplier_order.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/supplier_payment.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/supplier_proposal.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/system/filecheck.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/system/modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/taxes.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/admin/ticket.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/tools/export.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/user.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/usergroup.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/webhook.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/website.php' => ['PhanTypeMismatchArgument'], + 'htdocs/admin/workstation.php' => ['PhanTypeMismatchArgument'], 'htdocs/api/class/api_access.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanUndeclaredProperty'], - 'htdocs/api/class/api_documents.class.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/api/class/api_login.class.php' => ['PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/api/class/api_setup.class.php' => ['PhanPluginUnknownArrayMethodReturnType'], + 'htdocs/api/class/api_documents.class.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/api/class/api_login.class.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/api/class/api_setup.class.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], 'htdocs/api/class/api_status.class.php' => ['PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/asset/class/asset.class.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeInvalidDimOffset'], + 'htdocs/asset/admin/setup.php' => ['PhanTypeMismatchArgument'], + 'htdocs/asset/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/asset/class/asset.class.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/asset/class/assetdepreciationoptions.class.php' => ['PhanTypeInvalidDimOffset'], 'htdocs/asset/class/assetmodel.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/asset/tpl/accountancy_codes_edit.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/asset/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/asset/model/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/asset/tpl/accountancy_codes_edit.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/asset/tpl/depreciation_options_edit.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/asset/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/asterisk/wrapper.php' => ['PhanRedefineFunction'], - 'htdocs/barcode/printsheet.php' => ['PhanPluginDuplicateExpressionBinaryOp'], - 'htdocs/bom/bom_card.php' => ['PhanUndeclaredProperty'], + 'htdocs/barcode/printsheet.php' => ['PhanPluginDuplicateExpressionBinaryOp', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/blockedlog/admin/blockedlog_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/bom/bom_card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/bom/bom_list.php' => ['PhanTypeMismatchArgument'], 'htdocs/bom/class/api_boms.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/bom/tpl/objectline_edit.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/bom/tpl/objectline_view.tpl.php' => ['PhanUndeclaredProperty'], + 'htdocs/bom/class/bom.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/bom/tpl/linkedobjectblock.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/bom/tpl/objectline_create.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/bom/tpl/objectline_edit.tpl.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/bom/tpl/objectline_view.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], 'htdocs/bookcal/availabilities_card.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/bookcal/availabilities_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/bookcal/booking_list.php' => ['PhanTypeMismatchArgument'], 'htdocs/bookcal/calendar_card.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/bookcal/calendar_document.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/bookcal/calendar_list.php' => ['PhanTypeMismatchArgument'], 'htdocs/bookcal/class/availabilities.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'], 'htdocs/bookcal/class/calendar.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'], + 'htdocs/bookmarks/card.php' => ['PhanTypeMismatchArgument'], 'htdocs/categories/class/api_categories.class.php' => ['PhanAccessMethodProtected', 'PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/categories/viewcat.php' => ['PhanUndeclaredProperty'], + 'htdocs/categories/class/categorie.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/categories/edit.php' => ['PhanTypeMismatchArgument'], + 'htdocs/categories/photos.php' => ['PhanTypeMismatchArgument'], + 'htdocs/categories/viewcat.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], 'htdocs/collab/index.php' => ['PhanParamTooMany', 'PhanUndeclaredProperty'], - 'htdocs/comm/action/card.php' => ['PhanPluginBothLiteralsBinaryOp'], + 'htdocs/comm/action/card.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanTypeMismatchArgument'], + 'htdocs/comm/action/class/actioncomm.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/comm/action/class/api_agendaevents.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchProperty'], 'htdocs/comm/action/class/cactioncomm.class.php' => ['PhanPluginUnknownArrayPropertyType'], - 'htdocs/comm/action/index.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty'], - 'htdocs/comm/action/info.php' => ['PhanUndeclaredProperty'], - 'htdocs/comm/action/pertype.php' => ['PhanTypeComparisonFromArray', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchDimFetch'], - 'htdocs/comm/action/peruser.php' => ['PhanTypeComparisonFromArray'], - 'htdocs/comm/mailing/card.php' => ['PhanPluginSuspiciousParamPosition'], - 'htdocs/comm/mailing/cibles.php' => ['PhanUndeclaredProperty'], + 'htdocs/comm/action/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/action/index.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty'], + 'htdocs/comm/action/info.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/comm/action/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/action/pertype.php' => ['PhanTypeComparisonFromArray', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument', 'PhanTypeMismatchDimFetch'], + 'htdocs/comm/action/peruser.php' => ['PhanTypeComparisonFromArray', 'PhanTypeMismatchArgument'], + 'htdocs/comm/action/rapport/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/mailing/card.php' => ['PhanPluginSuspiciousParamPosition', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/comm/mailing/cibles.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/comm/mailing/class/advtargetemailing.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/comm/mailing/index.php' => ['PhanUndeclaredProperty'], - 'htdocs/comm/propal/card.php' => ['PhanTypeMismatchProperty'], + 'htdocs/comm/multiprix.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/propal/agenda.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/propal/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty'], 'htdocs/comm/propal/class/api_proposals.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/comm/propal/list.php' => ['PhanUndeclaredProperty'], + 'htdocs/comm/propal/class/propal.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/comm/propal/class/propaleligne.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/propal/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/propal/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/propal/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/comm/propal/note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/propal/stats/index.php' => ['PhanTypeMismatchArgument'], 'htdocs/comm/propal/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/commande/class/api_orders.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/commande/class/commande.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/comm/remise.php' => ['PhanTypeMismatchArgument'], + 'htdocs/comm/remx.php' => ['PhanTypeMismatchArgument'], + 'htdocs/commande/agenda.php' => ['PhanTypeMismatchArgument'], + 'htdocs/commande/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/commande/class/api_orders.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/commande/class/commande.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/commande/class/orderline.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/commande/contact.php' => ['PhanTypeMismatchArgument'], 'htdocs/commande/customer.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/commande/list.php' => ['PhanUndeclaredProperty'], - 'htdocs/commande/list_det.php' => ['PhanTypeInvalidDimOffset'], + 'htdocs/commande/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/commande/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/commande/list_det.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/commande/note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/commande/stats/index.php' => ['PhanTypeMismatchArgument'], 'htdocs/commande/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], + 'htdocs/compta/accounting-files.php' => ['PhanTypeMismatchArgument'], 'htdocs/compta/bank/account_statement_document.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/compta/bank/class/account.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/compta/bank/class/api_bankaccounts.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/compta/bank/line.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/compta/bank/various_payment/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/compta/bank/various_payment/document.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/compta/bank/various_payment/info.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/compta/bank/annuel.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/bankentries_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/bank/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/categ.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/class/account.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/compta/bank/class/api_bankaccounts.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/compta/bank/class/paymentvarious.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/graph.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/line.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/compta/bank/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/releve.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/transfer.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/treso.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/bank/various_payment/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/compta/bank/various_payment/document.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/compta/bank/various_payment/info.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/compta/bank/various_payment/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/compta/cashcontrol/cashcontrol_card.php' => ['PhanPluginDuplicateExpressionBinaryOp'], - 'htdocs/compta/cashcontrol/cashcontrol_list.php' => ['PhanTypeMismatchProperty'], - 'htdocs/compta/clients.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'], - 'htdocs/compta/facture/card.php' => ['PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/compta/facture/class/api_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/compta/facture/class/facture-rec.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/compta/facture/class/facture.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/compta/cashcontrol/cashcontrol_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/compta/charges/index.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/clients.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/compta/deplacement/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/deplacement/class/deplacement.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/deplacement/class/deplacementstats.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/deplacement/stats/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/agenda-rec.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/agenda.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/card-rec.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/facture/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/compta/facture/class/api_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/compta/facture/class/facture-rec.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/compta/facture/class/facture.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/compta/facture/class/factureligne.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/class/paymentterm.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/invoicetemplate_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/facture/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/facture/messaging.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/prelevement.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/facture/stats/index.php' => ['PhanTypeMismatchArgument'], 'htdocs/compta/facture/tpl/linkedobjectblock.tpl.php' => ['PhanEmptyFQSENInClasslike', 'PhanInvalidFQSENInClasslike', 'PhanTypeMismatchArgumentNullableInternal'], 'htdocs/compta/facture/tpl/linkedobjectblockForRec.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/compta/localtax/card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/compta/localtax/clients.php' => ['PhanTypeExpectedObjectPropAccess'], - 'htdocs/compta/localtax/list.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/compta/paiement.php' => ['PhanTypeMismatchDimFetch'], - 'htdocs/compta/paiement/card.php' => ['PhanUndeclaredProperty'], - 'htdocs/compta/paiement/cheque/list.php' => ['PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'], - 'htdocs/compta/paiement/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'], - 'htdocs/compta/sociales/card.php' => ['PhanUndeclaredProperty'], + 'htdocs/compta/localtax/clients.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument'], + 'htdocs/compta/localtax/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/localtax/list.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/compta/paiement.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchDimFetch'], + 'htdocs/compta/paiement/card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/compta/paiement/cheque/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/paiement/cheque/class/remisecheque.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/paiement/cheque/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'], + 'htdocs/compta/paiement/class/paiement.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/paiement/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'], + 'htdocs/compta/paiement/rapport.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/prelevement/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/prelevement/class/bonprelevement.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/prelevement/class/rejetprelevement.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/prelevement/create.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/prelevement/demandes.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/prelevement/line.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/prelevement/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/prelevement/orders_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/resultat/clientfourn.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/resultat/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/resultat/projects.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/resultat/result.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/sociales/card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/compta/sociales/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/sociales/payments.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/stats/cabyprodserv.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/stats/supplier_turnover_by_prodserv.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/compta/stats/supplier_turnover_by_thirdparty.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/tva/card.php' => ['PhanTypeMismatchArgument'], 'htdocs/compta/tva/class/paymentvat.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/compta/tva/clients.php' => ['PhanTypeArraySuspiciousNull', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty'], - 'htdocs/compta/tva/payments.php' => ['PhanTypeMismatchArgumentNullableInternal'], - 'htdocs/compta/tva/quadri_detail.php' => ['PhanTypeArraySuspiciousNull', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchProperty'], - 'htdocs/contrat/agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/contrat/card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/contrat/class/api_contracts.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], + 'htdocs/compta/tva/class/tva.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/tva/clients.php' => ['PhanTypeArraySuspiciousNull', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/compta/tva/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/tva/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/compta/tva/payments.php' => ['PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentNullableInternal'], + 'htdocs/compta/tva/quadri_detail.php' => ['PhanTypeArraySuspiciousNull', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/contact/ajax/contact.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/contact/canvas/actions_contactcard_common.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contact/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contact/class/contact.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/contact/consumption.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contact/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/contrat/agenda.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/contrat/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/contrat/class/api_contracts.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/contrat/class/contrat.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/class/contratligne.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/messaging.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/contrat/services_list.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/actions_addupdatedelete.inc.php' => ['PhanTypeMismatchDimFetch', 'PhanUndeclaredProperty'], - 'htdocs/core/actions_massactions.inc.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/actions_extrafields.inc.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/actions_lineupdown.inc.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/actions_massactions.inc.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], 'htdocs/core/actions_printing.inc.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/actions_sendmails.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/core/ajax/ajaxdirtree.php' => ['PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'], + 'htdocs/core/actions_sendmails.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/core/ajax/ajaxdirpreview.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/ajax/ajaxdirtree.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'], + 'htdocs/core/ajax/ajaxstatusprospect.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/ajax/contacts.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/ajax/editinline.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/ajax/loadinplace.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/ajax/saveinplace.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/ajax/selectobject.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/boxes/box_produits.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/boxes/box_produits_alerte_stock.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/CMailFile.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/core/class/canvas.class.php' => ['PhanParamTooMany', 'PhanUndeclaredMethod'], - 'htdocs/core/class/ccountry.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/ccountry.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/core/class/cgenericdic.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/class/commonobject.class.php' => ['PhanParamTooMany', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/core/class/commondocgenerator.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/commoninvoice.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/commonobject.class.php' => ['PhanParamTooMany', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/core/class/commonpeople.class.php' => ['PhanUndeclaredProperty'], 'htdocs/core/class/commonsocialnetworks.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/commonstickergenerator.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/conf.class.php' => ['PhanTypeMismatchArgumentNullableInternal', 'PhanTypeMismatchProperty'], + 'htdocs/core/class/cregion.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/cstate.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/ctypent.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/ctyperesource.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/cunits.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/doleditor.class.php' => ['PhanPluginDuplicateExpressionAssignmentOperation'], 'htdocs/core/class/dolgraph.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/dolreceiptprinter.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/emailsenderprofile.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/evalmath.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/extrafields.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/fileupload.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/fiscalyear.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/hookmanager.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/class/html.formcompany.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/class/html.formfile.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/class/html.formmail.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/html.form.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/class/html.formcategory.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/html.formcompany.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/class/html.formfile.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/class/html.formmail.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/class/html.formorder.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/html.formother.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/html.formprojet.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/html.formsetup.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/class/html.formticket.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/link.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/class/menubase.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/notify.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/class/openid.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/class/rssparser.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/class/timespent.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'], + 'htdocs/core/customreports.php' => ['PhanTypeMismatchArgumentNullable'], 'htdocs/core/lib/admin.lib.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/lib/files.lib.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/lib/agenda.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/ajax.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/barcode.lib.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/lib/company.lib.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/lib/date.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/expedition.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/files.lib.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/lib/functions.lib.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/core/lib/functions2.lib.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/lib/pdf.lib.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/lib/project.lib.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/lib/xcal.lib.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/lib/functionsnumtoword.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/images.lib.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/lib/invoice.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/loan.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/modulebuilder.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/pdf.lib.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/lib/product.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/project.lib.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/lib/security.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/sendings.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/website.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/lib/xcal.lib.php' => ['PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/login/functions_dolibarr.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/login/functions_ldap.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/menus/standard/auguria.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/menus/standard/eldy.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/action/doc/pdf_standard_actions.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/asset/doc/doc_generic_asset_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/asset/doc/pdf_standard_asset.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/core/modules/asset/mod_asset_advanced.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/bom/mod_bom_advanced.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/commande/doc/pdf_einstein.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/bank/doc/pdf_ban.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/barcode/mod_barcode_product_standard.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/barcode/mod_barcode_thirdparty_standard.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/bom/doc/doc_generic_bom_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/bom/mod_bom_advanced.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/cheque/doc/pdf_blochet.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/cheque/modules_chequereceipts.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/commande/doc/pdf_einstein.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/commande/mod_commande_saphir.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/contract/doc/pdf_strato.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/delivery/doc/pdf_storm.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/delivery/doc/pdf_typhon.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/core/modules/delivery/mod_delivery_saphir.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/facture/doc/pdf_crabe.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/facture/doc/pdf_octopus.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/facture/doc/pdf_sponge.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/expedition/doc/pdf_espadon.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/expedition/doc/pdf_merou.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/expedition/doc/pdf_rouget.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/expensereport/doc/pdf_standard_expensereport.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/expensereport/mod_expensereport_jade.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/facture/doc/pdf_crabe.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/facture/doc/pdf_octopus.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/facture/doc/pdf_sponge.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/facture/modules_facture.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/fichinter/mod_arctic.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/holiday/mod_holiday_immaculate.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/hrm/doc/pdf_standard_evaluation.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/core/modules/hrm/mod_evaluation_advanced.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/import/import_csv.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchProperty'], + 'htdocs/core/modules/import/import_csv.modules.php' => ['PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty'], 'htdocs/core/modules/import/import_xlsx.modules.php' => ['PhanTypeMismatchProperty'], - 'htdocs/core/modules/mrp/doc/pdf_vinci.modules.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/modules/mailings/eventorganization.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/mailings/modules_mailings.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/member/doc/pdf_standard_member.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/member/modules_cards.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modAdherent.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modAgenda.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modBlockedLog.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modCommande.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modContrat.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modDon.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modExpedition.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modExpenseReport.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modFacture.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modFicheinter.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modFournisseur.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modHRM.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modMrp.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modPrelevement.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modProjet.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modPropale.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modReceiptPrinter.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modReception.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modStock.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modSupplierProposal.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/modTicket.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/movement/doc/pdf_standard_movementstock.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/mrp/doc/pdf_vinci.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/core/modules/mrp/mod_mo_advanced.php' => ['PhanUndeclaredProperty'], 'htdocs/core/modules/oauth/github_oauthcallback.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/project/doc/pdf_timespent.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/propale/doc/pdf_azur.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/propale/doc/pdf_cyan.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/reception/doc/pdf_squille.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/product/doc/pdf_standard.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/project/doc/pdf_baleine.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/project/doc/pdf_beluga.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/project/doc/pdf_timespent.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/propale/doc/pdf_azur.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/propale/doc/pdf_cyan.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/rapport/pdf_paiement.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/reception/doc/pdf_squille.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/societe/doc/doc_generic_odt.modules.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/stock/doc/pdf_standard_stock.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/stocktransfer/doc/pdf_eagle.modules.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/stocktransfer/doc/pdf_eagle_proforma.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/core/modules/stocktransfer/mod_stocktransfer_advanced.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php' => ['PhanTypeMismatchProperty'], - 'htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], - 'htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php' => ['PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/supplier_invoice/doc/doc_generic_supplier_invoice_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/supplier_invoice/doc/pdf_canelle.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty'], + 'htdocs/core/modules/supplier_order/doc/doc_generic_supplier_order_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/supplier_order/doc/pdf_muscadet.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/supplier_payment/doc/pdf_standard_supplierpayment.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], + 'htdocs/core/modules/supplier_proposal/doc/pdf_zenith.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchDimFetch', 'PhanTypeMismatchProperty', 'PhanUndeclaredProperty'], 'htdocs/core/modules/syslog/mod_syslog_file.php' => ['PhanPluginDuplicateArrayKey'], + 'htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/modules/workstation/mod_workstation_advanced.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/tpl/extrafields_view.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/tpl/massactions_pre.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/tpl/objectline_view.tpl.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/multicompany_page.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/search_page.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/tpl/admin_extrafields_add.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/tpl/admin_extrafields_edit.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/tpl/advtarget.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/tpl/extrafields_list_array_fields.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/tpl/extrafields_list_print_fields.tpl.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/tpl/extrafields_view.tpl.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/tpl/massactions_pre.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/core/tpl/notes.tpl.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/core/tpl/object_discounts.tpl.php' => ['PhanTypeMismatchArgument'], + 'htdocs/core/tpl/objectline_create.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/tpl/objectline_edit.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/core/tpl/objectline_view.tpl.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/tpl/objectlinked_lineimport.tpl.php' => ['PhanTypeMismatchArgument'], 'htdocs/core/tpl/passwordreset.tpl.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/core/tpl/resource_view.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], 'htdocs/core/triggers/interface_50_modMailmanspip_Mailmanspipsynchro.class.php' => ['PhanUndeclaredProperty'], 'htdocs/core/triggers/interface_90_modSociete_ContactRoles.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/datapolicy/class/datapolicycron.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/dav/dav.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/debugbar/class/TraceableDB.php' => ['PhanTypeMismatchArgument'], 'htdocs/delivery/class/delivery.class.php' => ['PhanUndeclaredProperty'], 'htdocs/don/admin/donation.php' => ['PhanUndeclaredMethod'], 'htdocs/don/class/api_donations.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], 'htdocs/don/class/don.class.php' => ['PhanParamTooMany'], 'htdocs/don/document.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/don/info.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/don/list.php' => ['PhanTypeMismatchProperty'], + 'htdocs/don/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], 'htdocs/don/note.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/emailcollector/class/emailcollector.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/don/stats/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ecm/class/ecmdirectory.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ecm/class/ecmfiles.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ecm/dir_add_card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ecm/file_card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ecm/file_note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ecm/search.php' => ['PhanTypeMismatchArgument'], + 'htdocs/emailcollector/class/emailcollector.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], 'htdocs/eventorganization/class/conferenceorboothattendee.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'], 'htdocs/eventorganization/conferenceorbooth_card.php' => ['PhanUndeclaredGlobalVariable'], + 'htdocs/eventorganization/conferenceorbooth_contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/eventorganization/conferenceorbooth_document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/eventorganization/conferenceorbooth_list.php' => ['PhanTypeMismatchArgument'], 'htdocs/eventorganization/conferenceorboothattendee_card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/eventorganization/core/actions_massactions_mail.inc.php' => ['PhanUndeclaredProperty'], - 'htdocs/expedition/card.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/eventorganization/conferenceorboothattendee_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/eventorganization/core/actions_massactions_mail.inc.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/expedition/ajax/searchfrombarcode.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expedition/card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], 'htdocs/expedition/class/api_shipments.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/expedition/class/expedition.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/expensereport/card.php' => ['PhanUndeclaredProperty'], + 'htdocs/expedition/class/expedition.class.php' => ['PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/expedition/class/expeditionlinebatch.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/expedition/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expedition/stats/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expensereport/ajax/ajaxik.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expensereport/card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/expensereport/class/api_expensereports.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], + 'htdocs/expensereport/class/expensereport.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/expensereport/class/expensereportline.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expensereport/class/expensereportstats.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expensereport/class/paymentexpensereport.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/expensereport/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/expensereport/payment/card.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/expensereport/payment/info.php' => ['PhanUndeclaredGlobalVariable'], + 'htdocs/expensereport/payment/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/expensereport/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], + 'htdocs/exports/class/export.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/exports/export.php' => ['PhanTypeMismatchArgument'], 'htdocs/externalsite/frames.php' => ['PhanUndeclaredGlobalVariable'], + 'htdocs/fichinter/agenda.php' => ['PhanTypeMismatchArgument'], 'htdocs/fichinter/card-rec.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fichinter/class/api_interventions.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/fichinter/class/api_interventions.class.php' => ['PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/fichinter/class/fichinter.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/fichinter/class/fichinterrec.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/fichinter/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fichinter/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fichinter/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fichinter/note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fichinter/stats/index.php' => ['PhanTypeMismatchArgument'], 'htdocs/fichinter/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/filefunc.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/class/api_supplier_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], + 'htdocs/fourn/class/api_supplier_invoices.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], 'htdocs/fourn/class/api_supplier_orders.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/fourn/class/fournisseur.commande.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/fourn/commande/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchDimAssignment', 'PhanTypeMismatchProperty', 'PhanTypeSuspiciousStringExpression', 'PhanUndeclaredProperty'], - 'htdocs/fourn/commande/contact.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/commande/document.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/commande/info.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/commande/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/fourn/commande/note.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/contact.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/fourn/facture/card-rec.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/fourn/facture/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchProperty'], - 'htdocs/fourn/facture/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/fourn/class/fournisseur.commande.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/fourn/class/fournisseur.facture-rec.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fourn/class/fournisseur.facture-rec.ligne.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fourn/class/fournisseur.facture.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fourn/class/fournisseur.facture.ligne.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fourn/class/fournisseur.orderline.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fourn/class/fournisseur.product.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/fourn/commande/card.php' => ['PhanTypeMismatchDimAssignment', 'PhanTypeSuspiciousStringExpression', 'PhanUndeclaredProperty'], + 'htdocs/fourn/commande/dispatch.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/fourn/commande/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/fourn/facture/card-rec.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/fourn/facture/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/fourn/facture/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/fourn/facture/paiement.php' => ['PhanUndeclaredGlobalVariable'], + 'htdocs/fourn/facture/rapport.php' => ['PhanTypeMismatchArgument'], 'htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/fourn/paiement/card.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/fourn/paiement/document.php' => ['PhanTypeMismatchArgumentProbablyReal'], 'htdocs/ftp/admin/ftpclient.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/ftp/index.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/holiday/card_group.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], - 'htdocs/holiday/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'], - 'htdocs/holiday/view_log.php' => ['PhanTypeMismatchDimFetch'], + 'htdocs/ftp/index.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/holiday/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/holiday/card_group.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], + 'htdocs/holiday/class/holiday.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/holiday/define_holiday.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/holiday/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/holiday/month_report.php' => ['PhanTypeMismatchArgument'], + 'htdocs/holiday/view_log.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchDimFetch'], 'htdocs/hrm/admin/admin_hrm.php' => ['PhanEmptyForeach'], + 'htdocs/hrm/class/establishment.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/hrm/class/evaluation.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/hrm/class/evaluationdet.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/hrm/class/job.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/hrm/class/position.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/hrm/class/skill.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/hrm/class/skilldet.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/hrm/class/skillrank.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/hrm/class/evaluationdet.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/hrm/class/job.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/hrm/class/position.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/hrm/class/skill.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/hrm/class/skilldet.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/hrm/class/skillrank.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/hrm/compare.php' => ['PhanTypeMismatchArgument'], 'htdocs/hrm/core/tpl/objectline_view.tpl.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/hrm/evaluation_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/hrm/job_agenda.php' => ['PhanPossiblyUndeclaredGlobalVariable'], + 'htdocs/hrm/establishment/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/hrm/evaluation_card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/hrm/evaluation_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/hrm/job_agenda.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], 'htdocs/hrm/job_card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/hrm/job_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/hrm/position_list.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], - 'htdocs/hrm/skill_card.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/hrm/skill_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/hrm/job_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/hrm/position_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], + 'htdocs/hrm/skill_card.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/hrm/skill_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/imports/emptyexample.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/imports/import.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/install/check.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal'], + 'htdocs/imports/import.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/install/check.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullableInternal'], 'htdocs/install/fileconf.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable'], 'htdocs/install/inc.php' => ['PhanPluginUndeclaredVariableIsset'], 'htdocs/install/index.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/install/repair.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable'], + 'htdocs/install/repair.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument'], + 'htdocs/install/step1.php' => ['PhanTypeMismatchArgumentNullable'], 'htdocs/install/step2.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredProperty'], 'htdocs/install/step5.php' => ['PhanPluginUndeclaredVariableIsset'], 'htdocs/install/upgrade.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal'], + 'htdocs/install/upgrade2.php' => ['PhanTypeMismatchArgument'], 'htdocs/intracommreport/card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/knowledgemanagement/class/knowledgerecord.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/knowledgemanagement/knowledgerecord_card.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/knowledgemanagement/knowledgerecord_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/loan/card.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/loan/document.php' => ['PhanUndeclaredProperty'], - 'htdocs/loan/note.php' => ['PhanUndeclaredProperty'], + 'htdocs/intracommreport/class/intracommreport.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/intracommreport/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/knowledgemanagement/class/api_knowledgemanagement.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/knowledgemanagement/class/knowledgerecord.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/knowledgemanagement/core/modules/knowledgemanagement/mod_knowledgerecord_advanced.php' => ['PhanTypeMismatchArgument'], + 'htdocs/knowledgemanagement/knowledgerecord_card.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/knowledgemanagement/knowledgerecord_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/loan/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/loan/class/loan.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/loan/class/paymentloan.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/loan/document.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/loan/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/loan/note.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/loan/payment/payment.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/margin/customerMargins.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/margin/productMargins.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/master.inc.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/mrp/class/api_mos.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/mrp/class/mo.class.php' => ['PhanTypeMismatchProperty'], - 'htdocs/mrp/mo_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/mrp/mo_movements.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable'], - 'htdocs/mrp/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], + 'htdocs/loan/schedule.php' => ['PhanTypeMismatchArgument'], + 'htdocs/main.inc.php' => ['PhanTypeMismatchArgument'], + 'htdocs/margin/agentMargins.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/margin/customerMargins.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/margin/productMargins.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/margin/tabs/productMargins.php' => ['PhanTypeMismatchArgument'], + 'htdocs/master.inc.php' => ['PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/modulebuilder/index.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/modulebuilder/template/admin/setup.php' => ['PhanTypeMismatchArgument'], + 'htdocs/modulebuilder/template/ajax/myobject.php' => ['PhanTypeMismatchArgument'], + 'htdocs/modulebuilder/template/class/api_mymodule.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/modulebuilder/template/class/myobject.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/modulebuilder/template/core/modules/mymodule/doc/doc_generic_myobject_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/modulebuilder/template/core/modules/mymodule/mod_myobject_advanced.php' => ['PhanTypeMismatchArgument'], + 'htdocs/modulebuilder/template/myobject_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/mrp/ajax/ajax_bom.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/class/api_mos.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/mrp/class/mo.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/mrp/class/moline.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/mo_agenda.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/mo_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/mrp/mo_document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/mo_list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/mo_movements.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/mrp/mo_note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/mo_production.php' => ['PhanTypeMismatchArgument'], + 'htdocs/mrp/tpl/linkedobjectblock.tpl.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/mrp/tpl/originproductline.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/multicurrency/class/api_multicurrencies.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/multicurrency/class/multicurrency.class.php' => ['PhanTypeExpectedObjectPropAccess'], + 'htdocs/multicurrency/class/api_multicurrencies.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/multicurrency/class/multicurrency.class.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument'], + 'htdocs/multicurrency/multicurrency_rate.php' => ['PhanTypeMismatchArgument'], 'htdocs/opcachepreload.php' => ['PhanEmptyForeach'], - 'htdocs/opensurvey/card.php' => ['PhanPossiblyUndeclaredGlobalVariable'], + 'htdocs/opensurvey/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument'], 'htdocs/opensurvey/class/opensurveysondage.class.php' => ['PhanTypeMismatchProperty'], + 'htdocs/opensurvey/exportcsv.php' => ['PhanTypeMismatchArgument'], 'htdocs/opensurvey/list.php' => ['PhanPluginUndeclaredVariableIsset'], - 'htdocs/opensurvey/results.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'], - 'htdocs/opensurvey/wizard/choix_date.php' => ['PhanPossiblyUndeclaredGlobalVariable'], + 'htdocs/opensurvey/results.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullableInternal', 'PhanUndeclaredGlobalVariable'], + 'htdocs/opensurvey/wizard/choix_date.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument'], 'htdocs/opensurvey/wizard/create_survey.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/partnership/class/api_partnerships.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], + 'htdocs/partnership/class/api_partnerships.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], 'htdocs/partnership/class/partnership.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php' => ['PhanUndeclaredProperty'], + 'htdocs/partnership/core/modules/partnership/mod_partnership_advanced.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/partnership/partnership_card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/partnership/partnership_list.php' => ['PhanUndeclaredProperty'], + 'htdocs/partnership/partnership_contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/partnership/partnership_list.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/printing/index.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/admin/product.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/ajax/products.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/product/class/api_products.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanUndeclaredProperty'], + 'htdocs/product/admin/price_rules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/admin/product.php' => ['PhanPluginEmptyStatementIf', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/admin/product_lot.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/admin/product_tools.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/ajax/products.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/canvas/product/actions_card_product.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/canvas/service/actions_card_service.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/product/class/api_products.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/product/class/html.formproduct.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/product/class/product.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/class/productcustomerprice.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/product/class/productfournisseurprice.class.php' => ['PhanUndeclaredMethod', 'PhanUndeclaredProperty'], - 'htdocs/product/document.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/product/index.php' => ['PhanPluginUndeclaredVariableIsset'], - 'htdocs/product/inventory/card.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable'], + 'htdocs/product/composition/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/document.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/dynamic_price/class/price_parser.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/index.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeMismatchArgument'], + 'htdocs/product/inventory/ajax/searchfrombarcode.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/inventory/card.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], 'htdocs/product/inventory/class/inventory.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/inventory/inventory.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/inventory/list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/product/price.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/product/inventory/inventory.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/inventory/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/price.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/product/price_suppliers.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/product/reassort.php' => ['PhanTypeExpectedObjectPropAccessButGotNull'], - 'htdocs/product/stats/card.php' => ['PhanTypeComparisonFromArray'], - 'htdocs/product/stock/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], - 'htdocs/product/stock/class/api_stockmovements.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], + 'htdocs/product/stats/card.php' => ['PhanTypeComparisonFromArray', 'PhanTypeMismatchArgument'], + 'htdocs/product/stats/commande.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/commande_fournisseur.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/contrat.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/expedition.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/facture_fournisseur.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/facturerec.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/mo.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/propal.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/reception.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stats/supplier_proposal.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stock/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], + 'htdocs/product/stock/class/api_stockmovements.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], 'htdocs/product/stock/class/api_warehouses.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], 'htdocs/product/stock/class/entrepot.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/info.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/product/stock/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], - 'htdocs/product/stock/movement_card.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/product/stock/movement_list.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/product/stock/product.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/product/stock/productlot_card.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/productlot_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/stock/replenish.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/stock/stats/commande_fournisseur.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/stats/expedition.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/stats/mo.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/stats/reception.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/stockatdate.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/product/stock/stocktransfer/class/stocktransferline.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/product/stock/stocktransfer/stocktransfer_card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/product/stock/stocktransfer/stocktransfer_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/product/stock/tpl/stockcorrection.tpl.php' => ['PhanUndeclaredProperty'], + 'htdocs/product/stock/class/mouvementstock.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stock/info.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/massstockmove.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/stock/movement_card.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/movement_list.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanPluginUndeclaredVariableIsset', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/product.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/stock/productlot_card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/productlot_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/stock/replenish.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/stock/stats/commande_fournisseur.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/stats/expedition.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/stats/mo.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/stats/reception.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/stockatdate.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/product/stock/stocktransfer/class/stocktransferline.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/product/stock/stocktransfer/stocktransfer_card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/product/stock/stocktransfer/stocktransfer_contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/product/stock/stocktransfer/stocktransfer_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/product/stock/tpl/stockcorrection.tpl.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/product/stock/tpl/stocktransfer.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/projet/admin/project.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/ajax/projects.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/card.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/projet/class/api_tasks.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/projet/contact.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/element.php' => ['PhanUndeclaredProperty'], + 'htdocs/projet/activity/perday.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/activity/permonth.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/activity/perweek.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/admin/project.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/admin/website.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/ajax/projects.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/projet/class/api_projects.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/class/api_tasks.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument'], + 'htdocs/projet/class/project.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/class/projectstats.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/class/task.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/class/taskstats.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/projet/contact.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeComparisonFromArray', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/element.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], 'htdocs/projet/ganttchart.inc.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], 'htdocs/projet/ganttview.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/graph_opportunities.inc.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanUndeclaredGlobalVariable'], - 'htdocs/projet/stats/index.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/projet/tasks.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/projet/stats/index.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument'], + 'htdocs/projet/tasks.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/comment.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/tasks/contact.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/tasks/contact.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/projet/tasks/document.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/tasks/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/projet/tasks/note.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/tasks/task.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/projet/tasks/time.php' => ['PhanEmptyForeach', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/projet/tasks/task.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/projet/tasks/time.php' => ['PhanEmptyForeach', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/projet/tasks/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/public/agenda/agendaexport.php' => ['PhanRedefineFunction'], 'htdocs/public/bookcal/index.php' => ['PhanRedefineFunction'], - 'htdocs/public/company/new.php' => ['PhanRedefineFunction'], + 'htdocs/public/company/new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'], 'htdocs/public/cron/cron_run_jobs_by_url.php' => ['PhanUndeclaredProperty'], 'htdocs/public/demo/index.php' => ['PhanRedefineFunction'], 'htdocs/public/donations/donateurs_code.php' => ['PhanRedefineFunction'], 'htdocs/public/emailing/mailing-read.php' => ['PhanRedefineFunction'], - 'htdocs/public/eventorganization/attendee_new.php' => ['PhanRedefineFunction'], + 'htdocs/public/eventorganization/attendee_new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/public/eventorganization/subscriptionok.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable'], - 'htdocs/public/members/new.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable'], + 'htdocs/public/members/new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], 'htdocs/public/members/public_card.php' => ['PhanRedefineFunction'], 'htdocs/public/members/public_list.php' => ['PhanRedefineFunction'], - 'htdocs/public/onlinesign/newonlinesign.php' => ['PhanTypeMismatchArgumentNullableInternal'], - 'htdocs/public/opensurvey/studs.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/public/partnership/new.php' => ['PhanRedefineFunction'], - 'htdocs/public/payment/newpayment.php' => ['PhanUndeclaredProperty'], - 'htdocs/public/payment/paymentko.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/public/payment/paymentok.php' => ['PhanPluginSuspiciousParamPosition', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], + 'htdocs/public/onlinesign/newonlinesign.php' => ['PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentNullableInternal'], + 'htdocs/public/opensurvey/studs.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument'], + 'htdocs/public/partnership/new.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'], + 'htdocs/public/payment/newpayment.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/public/payment/paymentko.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/public/payment/paymentok.php' => ['PhanPluginSuspiciousParamPosition', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], 'htdocs/public/project/index.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable'], 'htdocs/public/project/new.php' => ['PhanRedefineFunction'], - 'htdocs/public/project/suggestbooth.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/public/project/suggestconference.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/public/project/viewandvote.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/public/project/suggestbooth.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/public/project/suggestconference.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/public/project/viewandvote.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], 'htdocs/public/recruitment/view.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], - 'htdocs/public/stripe/ipn.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], + 'htdocs/public/stripe/ipn.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], 'htdocs/public/test/test_arrays.php' => ['PhanPluginUndeclaredVariableIsset'], - 'htdocs/public/ticket/create_ticket.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty'], + 'htdocs/public/ticket/create_ticket.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty'], + 'htdocs/public/ticket/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/public/ticket/view.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/public/webportal/tpl/menu.tpl.php' => ['PhanUndeclaredProperty'], - 'htdocs/public/webportal/webportal.main.inc.php' => ['PhanRedefineFunction'], - 'htdocs/public/website/index.php' => ['PhanRedefineFunction'], + 'htdocs/public/webportal/webportal.main.inc.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'], + 'htdocs/public/website/index.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgument'], 'htdocs/public/website/javascript.js.php' => ['PhanRedefineFunction'], 'htdocs/public/website/styles.css.php' => ['PhanRedefineFunction'], - 'htdocs/reception/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/reception/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/reception/class/api_receptions.class.php' => ['PhanTypeMismatchArgumentNullable'], 'htdocs/reception/class/reception.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/reception/contact.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/reception/dispatch.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/reception/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/reception/note.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/recruitment/admin/setup.php' => ['PhanEmptyForeach'], - 'htdocs/recruitment/admin/setup_candidatures.php' => ['PhanEmptyForeach'], + 'htdocs/reception/contact.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/reception/dispatch.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/reception/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/reception/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/reception/note.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/reception/stats/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/recruitment/admin/setup.php' => ['PhanEmptyForeach', 'PhanTypeMismatchArgument'], + 'htdocs/recruitment/admin/setup_candidatures.php' => ['PhanEmptyForeach', 'PhanTypeMismatchArgument'], + 'htdocs/recruitment/class/api_recruitments.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], 'htdocs/recruitment/class/recruitmentcandidature.class.php' => ['PhanUndeclaredProperty'], 'htdocs/recruitment/class/recruitmentjobposition.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php' => ['PhanUndeclaredProperty'], - 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanUndeclaredProperty'], - 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanUndeclaredProperty'], + 'htdocs/recruitment/core/modules/recruitment/doc/doc_generic_recruitmentjobposition_odt.modules.php' => ['PhanTypeMismatchArgument'], + 'htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/recruitment/index.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/recruitment/recruitmentcandidature_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/recruitmentcandidature_list.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/recruitmentjobposition_agenda.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable'], - 'htdocs/recruitment/recruitmentjobposition_applications.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/recruitmentjobposition_card.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/recruitmentjobposition_document.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/recruitment/recruitmentjobposition_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/recruitment/recruitmentjobposition_note.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/recruitmentcandidature_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/recruitmentcandidature_list.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/recruitmentjobposition_agenda.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/recruitment/recruitmentjobposition_applications.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/recruitmentjobposition_card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/recruitmentjobposition_document.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/recruitment/recruitmentjobposition_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/recruitment/recruitmentjobposition_note.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/resource/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/resource/class/dolresource.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/resource/class/html.formresource.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/resource/element_resource.php' => ['PhanTypeMismatchArgument'], + 'htdocs/resource/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/salaries/admin/salaries.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/salaries/card.php' => ['PhanTypeMismatchArgument'], 'htdocs/salaries/class/api_salaries.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], - 'htdocs/salaries/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable'], - 'htdocs/salaries/paiement_salary.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], - 'htdocs/salaries/virement_request.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], - 'htdocs/societe/admin/societe.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredMethod'], - 'htdocs/societe/ajax/company.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/salaries/class/paymentsalary.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/class/salariesstats.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/class/salary.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/info.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable'], + 'htdocs/salaries/paiement_salary.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/salaries/payments.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/stats/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/salaries/virement_request.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/societe/admin/societe.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredMethod'], + 'htdocs/societe/ajax/company.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/societe/canvas/actions_card_common.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/societe/canvas/company/actions_card_company.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/societe/card.php' => ['PhanTypeMismatchArgument'], 'htdocs/societe/checkvat/checkVatPopup.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/societe/class/api_thirdparties.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], - 'htdocs/societe/class/societe.class.php' => ['PhanTypeMismatchProperty'], - 'htdocs/societe/consumption.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/societe/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/societe/paymentmodes.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredGlobalVariable'], - 'htdocs/societe/price.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/societe/tpl/linesalesrepresentative.tpl.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/societe/website.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/stripe/class/actions_stripe.class.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanPluginSuspiciousParamPosition'], + 'htdocs/societe/class/api_thirdparties.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty'], + 'htdocs/societe/class/companybankaccount.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/societe/class/societe.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty'], + 'htdocs/societe/consumption.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/societe/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/societe/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/societe/paymentmodes.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredGlobalVariable'], + 'htdocs/societe/price.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/societe/tpl/linesalesrepresentative.tpl.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/societe/website.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/stripe/admin/stripe.php' => ['PhanTypeMismatchArgument'], + 'htdocs/stripe/charge.php' => ['PhanTypeMismatchArgument'], + 'htdocs/stripe/class/actions_stripe.class.php' => ['PhanPluginBothLiteralsBinaryOp', 'PhanPluginSuspiciousParamPosition', 'PhanTypeMismatchArgument'], 'htdocs/stripe/class/stripe.class.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchProperty'], - 'htdocs/supplier_proposal/card.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], + 'htdocs/stripe/lib/stripe.lib.php' => ['PhanTypeMismatchArgument'], + 'htdocs/supplier_proposal/card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'], 'htdocs/supplier_proposal/class/api_supplier_proposals.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType', 'PhanUndeclaredProperty'], - 'htdocs/supplier_proposal/class/supplier_proposal.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/supplier_proposal/list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/takepos/ajax/ajax.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/supplier_proposal/class/supplier_proposal.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/supplier_proposal/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/supplier_proposal/document.php' => ['PhanTypeMismatchArgument'], + 'htdocs/supplier_proposal/info.php' => ['PhanTypeMismatchArgument'], + 'htdocs/supplier_proposal/list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/supplier_proposal/note.php' => ['PhanTypeMismatchArgument'], + 'htdocs/takepos/admin/bar.php' => ['PhanTypeMismatchArgument'], + 'htdocs/takepos/admin/setup.php' => ['PhanTypeMismatchArgument'], + 'htdocs/takepos/admin/terminal.php' => ['PhanTypeMismatchArgument'], + 'htdocs/takepos/ajax/ajax.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], 'htdocs/takepos/floors.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/takepos/freezone.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/takepos/index.php' => ['PhanPluginUndeclaredVariableIsset'], - 'htdocs/takepos/invoice.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], - 'htdocs/takepos/pay.php' => ['PhanPossiblyUndeclaredGlobalVariable'], + 'htdocs/takepos/freezone.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/takepos/index.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanTypeMismatchArgument'], + 'htdocs/takepos/invoice.php' => ['PhanPluginEmptyStatementIf', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], + 'htdocs/takepos/pay.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/takepos/phone.php' => ['PhanTypeMismatchArgument'], + 'htdocs/takepos/send.php' => ['PhanTypeMismatchArgument'], 'htdocs/takepos/split.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/theme/eldy/badges.inc.php' => ['PhanRedefineFunction'], 'htdocs/theme/eldy/btn.inc.php' => ['PhanUndeclaredGlobalVariable'], @@ -454,48 +955,70 @@ return [ 'htdocs/theme/md/dropdown.inc.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/theme/md/flags-sprite.inc.php' => ['PhanUndeclaredGlobalVariable'], 'htdocs/theme/md/progress.inc.php' => ['PhanUndeclaredGlobalVariable'], - 'htdocs/ticket/card.php' => ['PhanUndeclaredProperty'], - 'htdocs/ticket/class/actions_ticket.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/ticket/agenda.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ticket/card.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/ticket/class/actions_ticket.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/ticket/class/api_tickets.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], 'htdocs/ticket/class/cticketcategory.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/ticket/class/ticket.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/ticket/class/ticket.class.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/ticket/class/ticketstats.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ticket/contact.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ticket/document.php' => ['PhanTypeMismatchArgument'], 'htdocs/ticket/index.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentNullableInternal'], - 'htdocs/user/card.php' => ['PhanTypeMismatchProperty'], - 'htdocs/user/class/api_users.class.php' => ['PhanTypeMismatchProperty'], - 'htdocs/user/class/user.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/ticket/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ticket/messaging.php' => ['PhanTypeMismatchArgument'], + 'htdocs/ticket/stats/index.php' => ['PhanTypeMismatchArgument'], + 'htdocs/user/bank.php' => ['PhanTypeMismatchArgument'], + 'htdocs/user/card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanTypeMismatchProperty'], + 'htdocs/user/class/api_users.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/user/class/user.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/user/class/userbankaccount.class.php' => ['PhanTypeMismatchArgumentNullable'], 'htdocs/user/class/usergroup.class.php' => ['PhanUndeclaredProperty'], + 'htdocs/user/document.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/user/group/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/user/group/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/user/list.php' => ['PhanTypeMismatchArgument'], + 'htdocs/user/param_ihm.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/user/virtualcard.php' => ['PhanTypeMismatchArgument'], 'htdocs/variants/ajax/get_attribute_values.php' => ['PhanTypeComparisonFromArray'], - 'htdocs/variants/class/ProductCombination.class.php' => ['PhanPluginSuspiciousParamPosition'], - 'htdocs/variants/combinations.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchProperty'], + 'htdocs/variants/card.php' => ['PhanTypeMismatchArgument'], + 'htdocs/variants/class/ProductAttribute.class.php' => ['PhanTypeMismatchArgumentNullable'], + 'htdocs/variants/class/ProductCombination.class.php' => ['PhanPluginSuspiciousParamPosition', 'PhanTypeMismatchArgument'], + 'htdocs/variants/combinations.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchProperty'], + 'htdocs/variants/list.php' => ['PhanTypeMismatchArgument'], 'htdocs/variants/tpl/productattributevalueline_edit.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/variants/tpl/productattributevalueline_view.tpl.php' => ['PhanUndeclaredProperty'], 'htdocs/viewimage.php' => ['PhanRedefineFunction', 'PhanUndeclaredMethod'], 'htdocs/webhook/class/api_webhook.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], 'htdocs/webhook/class/target.class.php' => ['PhanUndeclaredMethod'], 'htdocs/webhook/target_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'], - 'htdocs/webhook/target_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], - 'htdocs/webportal/class/html.formcardwebportal.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/webportal/class/html.formlistwebportal.class.php' => ['PhanTypeInvalidDimOffset', 'PhanUndeclaredProperty'], + 'htdocs/webhook/target_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/webportal/admin/setup.php' => ['PhanTypeMismatchArgument'], + 'htdocs/webportal/class/html.formcardwebportal.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable', 'PhanUndeclaredProperty'], + 'htdocs/webportal/class/html.formlistwebportal.class.php' => ['PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webportal/class/html.formwebportal.class.php' => ['PhanTypeMismatchArgument'], 'htdocs/webportal/class/webportalpropal.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_actioncomm.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_category.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_contact.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_invoice.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_order.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeInvalidDimOffset', 'PhanTypeSuspiciousStringExpression', 'PhanUndeclaredProperty'], - 'htdocs/webservices/server_payment.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanUndeclaredProperty'], - 'htdocs/webservices/server_productorservice.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_project.php' => ['PhanUndeclaredProperty'], + 'htdocs/webportal/controllers/membercard.controller.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/webportal/controllers/partnershipcard.controller.class.php' => ['PhanTypeMismatchArgument'], + 'htdocs/webservices/server_actioncomm.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_category.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_contact.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_invoice.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_order.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeInvalidDimOffset', 'PhanTypeMismatchArgument', 'PhanTypeSuspiciousStringExpression', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_payment.php' => ['PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_productorservice.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_project.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], 'htdocs/webservices/server_supplier_invoice.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_thirdparty.php' => ['PhanUndeclaredProperty'], - 'htdocs/webservices/server_user.php' => ['PhanUndeclaredProperty'], - 'htdocs/website/class/website.class.php' => ['PhanTypeMismatchArgumentNullableInternal'], - 'htdocs/website/index.php' => ['PhanPossiblyUndeclaredGlobalVariable'], - 'htdocs/website/samples/wrapper.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/webservices/server_thirdparty.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/webservices/server_user.php' => ['PhanTypeMismatchArgument', 'PhanUndeclaredProperty'], + 'htdocs/website/class/website.class.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullableInternal'], + 'htdocs/website/index.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentNullable'], + 'htdocs/website/samples/wrapper.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/website/websiteaccount_card.php' => ['PhanUndeclaredProperty'], 'htdocs/workstation/class/api_workstations.class.php' => ['PhanPluginUnknownArrayMethodReturnType'], 'htdocs/workstation/class/workstation.class.php' => ['PhanUndeclaredProperty'], - 'htdocs/workstation/workstation_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], - 'htdocs/workstation/workstation_list.php' => ['PhanTypeMismatchArgumentProbablyReal'], + 'htdocs/workstation/workstation_card.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'], + 'htdocs/workstation/workstation_list.php' => ['PhanTypeMismatchArgument', 'PhanTypeMismatchArgumentProbablyReal'], 'htdocs/zapier/class/api_zapier.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'], 'htdocs/zapier/class/hook.class.php' => ['PhanUndeclaredProperty'], 'internal' => ['PhanUndeclaredConstant'], diff --git a/dev/tools/phan/config.php b/dev/tools/phan/config.php index b13c4c1e76947..a59ceeef32510 100644 --- a/dev/tools/phan/config.php +++ b/dev/tools/phan/config.php @@ -267,7 +267,7 @@ 'linkedObjectBlock' => '\CommonObject[]', // See htdocs/core/class/html.form.class.php 'mainmenu' => 'string', 'menumanager' => '\MenuManager', - 'mysoc' => '?\Societe', + 'mysoc' => '\Societe', 'nblines' => '\int', 'objectoffield' => '\CommonObject', 'objsoc' => '\Societe', @@ -440,7 +440,7 @@ 'PhanPluginNonBoolBranch', // Not essential - 31240+ occurrences 'PhanPluginNumericalComparison', // Not essential - 19870+ occurrences - 'PhanTypeMismatchArgument', // Also reported by phpstan < lvl6 - 12300+ occurrences + // 'PhanTypeMismatchArgument', // Can detect missing array keys, invalid types, objects being passed when scalar expected - Not all reported by phpstan - <=3800 cases (was: 12300+ before) 'PhanPluginNonBoolInLogicalArith', // Not essential - 11040+ occurrences 'PhanPluginConstantVariableScalar', // Not essential - 5180+ occurrences 'PhanPluginDuplicateAdjacentStatement', diff --git a/dev/tools/phan/config_extended.php b/dev/tools/phan/config_extended.php index 38cd62d20f60a..380493bbdd95a 100644 --- a/dev/tools/phan/config_extended.php +++ b/dev/tools/phan/config_extended.php @@ -85,7 +85,7 @@ 'PhanPluginNonBoolBranch', // Not essential - 31240+ occurrences 'PhanPluginNumericalComparison', // Not essential - 19870+ occurrences - 'PhanTypeMismatchArgument', // Not essential - 12300+ occurrences + 'PhanTypeMismatchArgument', // Not showing in cti.dolibarr until low count - Can detect missing array keys, invalid types, objects being passed when scalar expected - Not all reported by phpstan - <=3800 cases (was: 12300+ before) 'PhanPluginNonBoolInLogicalArith', // Not essential - 11040+ occurrences 'PhanPluginConstantVariableScalar', // Not essential - 5180+ occurrences 'PhanPluginDuplicateAdjacentStatement', diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index 3e9335a30d154..82cf1ba1d434b 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -8,7 +8,7 @@ * Copyright (C) 2015-2024 Alexandre Spangaro * Copyright (C) 2018-2024 Frédéric France * Copyright (C) 2021 Waël Almoman - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1563,14 +1563,14 @@ function initfieldrequired() { $fullname = $object->getFullName($langs); if ($object->morphy == 'mor') { - $companyname = $object->company; + $companyname = (string) $object->company; if (!empty($fullname)) { - $companyalias = $fullname; + $companyalias = (string) $fullname; } } else { $companyname = $fullname; if (!empty($object->company)) { - $companyalias = $object->company; + $companyalias = (string) $object->company; } } diff --git a/htdocs/bom/bom_net_needs.php b/htdocs/bom/bom_net_needs.php index ed592c8ff9169..1663a64d1bf97 100644 --- a/htdocs/bom/bom_net_needs.php +++ b/htdocs/bom/bom_net_needs.php @@ -1,6 +1,7 @@ * Copyright (C) 2019-2024 Frédéric France + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -135,7 +136,7 @@ $formfile = new FormFile($db); $title = $langs->trans('BOM'); -$help_url ='EN:Module_BOM'; +$help_url = 'EN:Module_BOM'; llxHeader('', $title, $help_url, '', 0, 0, '', '', '', 'mod-bom page-net_needs'); @@ -330,7 +331,7 @@ if ($useunit) { require_once DOL_DOCUMENT_ROOT.'/core/class/cunits.class.php'; $unit = new CUnits($db); - $unit->fetch($elem['fk_unit']); + $unit->fetch((int) $elem['fk_unit']); print(isset($unit->label) ? " ".$langs->trans(ucwords($unit->label))." " : ''); } print ''; diff --git a/htdocs/compta/bank/various_payment/card.php b/htdocs/compta/bank/various_payment/card.php index 783d2b02f6c84..fe6102bbf61ec 100644 --- a/htdocs/compta/bank/various_payment/card.php +++ b/htdocs/compta/bank/various_payment/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2018-2025 Frédéric France * Copyright (C) 2023 Laurent Destailleur * Copyright (C) 2023 Joachim Kueter - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -597,7 +597,7 @@ function setPaymentType() array('type' => 'date', 'name' => 'clone_date_value', 'label' => $langs->trans("DateValue"), 'value' => -1), array('type' => 'other', 'tdclass' => 'fieldrequired', 'name' => 'clone_accountid', 'label' => $langs->trans("BankAccount"), 'value' => $form->select_comptes($object->fk_account, "accountid", 0, '', 1, '', 0, 'minwidth200', 1)), array('type' => 'text', 'name' => 'clone_amount', 'label' => $langs->trans("Amount"), 'value' => price($object->amount)), - array('type' => 'select', 'name' => 'clone_sens', 'label' => $langs->trans("Sens").' '.$set_value_help, 'values' => $sensarray, 'default' => $object->sens), + array('type' => 'select', 'name' => 'clone_sens', 'label' => $langs->trans("Sens").' '.$set_value_help, 'values' => $sensarray, 'default' => (string) $object->sens), ); print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneVariousPayment', $object->ref), 'confirm_clone', $formquestion, 'yes', 1, 350); diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index cdc391e1ee8e7..01d22afb608c1 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -148,7 +148,7 @@ class FactureRec extends CommonInvoice public $user_author; /** - * @var int Frequency + * @var ?int Frequency */ public $frequency; @@ -1945,10 +1945,10 @@ public static function replaceProduct(DoliDB $dbs, $origin_id, $dest_id) /** * Update frequency and unit * - * @param int $frequency value of frequency - * @param string $unit unit of frequency (d, m, y) - * @param int $notrigger Disable the trigger - * @return int Return integer <0 if KO, >0 if OK + * @param ?int $frequency value of frequency + * @param string $unit unit of frequency (d, m, y) + * @param int<0,1> $notrigger Disable the trigger + * @return int Return integer <0 if KO, >0 if OK */ public function setFrequencyAndUnit($frequency, $unit, $notrigger = 0) { diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php index bc0cd86198c6d..d22f304ca0d92 100644 --- a/htdocs/core/class/commoninvoice.class.php +++ b/htdocs/core/class/commoninvoice.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2012-2014 Raphaël Doursenaud * Copyright (C) 2023 Nick Fragoulis * Copyright (C) 2024-2025 Frédéric France - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify @@ -1984,7 +1984,7 @@ public function buildSwitzerlandQRString() $s .= dol_trunc($mysoc->country_code, 2, 'right', 'UTF-8', 1)."\n";*/ } else { $s .= "S\n"; - $s .= dol_trunc($mysoc->name, 70, 'right', 'UTF-8', 1)."\n"; + $s .= dol_trunc((string) $mysoc->name, 70, 'right', 'UTF-8', 1)."\n"; $addresslinearray = explode("\n", $mysoc->address); $s .= dol_trunc(empty($addresslinearray[1]) ? '' : $addresslinearray[1], 70, 'right', 'UTF-8', 1)."\n"; // address line 1 $s .= dol_trunc(empty($addresslinearray[2]) ? '' : $addresslinearray[2], 70, 'right', 'UTF-8', 1)."\n"; // address line 2 @@ -2005,7 +2005,7 @@ public function buildSwitzerlandQRString() $s .= ($this->multicurrency_code ? $this->multicurrency_code : $conf->currency)."\n"; // Buyer $s .= "S\n"; - $s .= dol_trunc($this->thirdparty->name, 70, 'right', 'UTF-8', 1)."\n"; + $s .= dol_trunc((string) $this->thirdparty->name, 70, 'right', 'UTF-8', 1)."\n"; $addresslinearray = explode("\n", $this->thirdparty->address); $s .= dol_trunc(empty($addresslinearray[1]) ? '' : $addresslinearray[1], 70, 'right', 'UTF-8', 1)."\n"; // address line 1 $s .= dol_trunc(empty($addresslinearray[2]) ? '' : $addresslinearray[2], 70, 'right', 'UTF-8', 1)."\n"; // address line 2 diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 57769c5b7cd10..26971221bab66 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2968,7 +2968,7 @@ public function select_produits_list($selected = 0, $htmlname = 'productid', $fi if (count($warehouseStatusArray)) { $selectFieldsGrouped = ", sum(" . $this->db->ifsql("e.statut IS NULL", "0", "ps.reel") . ") as stock"; // e.statut is null if there is no record in stock } else { - $selectFieldsGrouped = ", " . $this->db->ifsql("p.stock IS NULL", 0, "p.stock") . " AS stock"; + $selectFieldsGrouped = ", " . $this->db->ifsql("p.stock IS NULL", '0', "p.stock") . " AS stock"; } $sql = "SELECT "; @@ -3262,7 +3262,7 @@ public function select_produits_list($selected = 0, $htmlname = 'productid', $fi } else { if (isModEnabled('dynamicprices') && !empty($objp->fk_price_expression)) { $price_product = new Product($this->db); - $price_product->fetch($objp->rowid, '', '', 1); + $price_product->fetch($objp->rowid, '', '', '1'); require_once DOL_DOCUMENT_ROOT . '/product/dynamic_price/class/price_parser.class.php'; $priceparser = new PriceParser($this->db); @@ -3341,7 +3341,7 @@ protected function constructProductListOption(&$objp, &$opt, &$optJson, $price_l $outtva_tx = ''; $outdefault_vat_code = ''; $outqty = 1; - $outdiscount = 0; + $outdiscount = '0'; $maxlengtharticle = (!getDolGlobalString('PRODUCT_MAX_LENGTH_COMBO') ? 48 : $conf->global->PRODUCT_MAX_LENGTH_COMBO); @@ -3711,7 +3711,7 @@ public function select_produits_fournisseurs($socid, $selected = '', $htmlname = if ($selected > 0) { require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; $producttmpselect = new Product($this->db); - $producttmpselect->fetch($selected); + $producttmpselect->fetch((int) $selected); $selected_input_value = $producttmpselect->ref; unset($producttmpselect); } @@ -4077,7 +4077,7 @@ public function select_produits_fournisseurs_list($socid, $selected = '', $htmln $optstart .= ' data-qty="' . dol_escape_htmltag($objp->quantity) . '"'; $optstart .= ' data-up="' . dol_escape_htmltag(price2num($objp->unitprice)) . '"'; // the price with numeric international format $optstart .= ' data-up-locale="' . dol_escape_htmltag(price($objp->unitprice)) . '"'; // the price formatted in user language - $optstart .= ' data-discount="' . dol_escape_htmltag($outdiscount) . '"'; + $optstart .= ' data-discount="' . dol_escape_htmltag((string) $outdiscount) . '"'; $optstart .= ' data-tvatx="' . dol_escape_htmltag(price2num($objp->tva_tx)) . '"'; // the rate with numeric international format $optstart .= ' data-tvatx-formated="' . dol_escape_htmltag(price($objp->tva_tx, 0, $langs, 1, -1, 2)) . '"'; // the rate formatted in user language $optstart .= ' data-default-vat-code="' . dol_escape_htmltag($objp->default_vat_code) . '"'; @@ -5172,14 +5172,14 @@ public function selectUnits($selected = '', $htmlname = 'units', $showempty = 0, * * @param int|'' $selected Id account preselected * @param string $htmlname Name of select zone - * @param int $status Status of searched accounts (0=open, 1=closed, 2=both) + * @param int<0,2> $status Status of searched accounts (0=open, 1=closed, 2=both) * @param string $filtre To filter the list. This parameter must not come from input of users - * @param int|string $useempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. + * @param int<0,2>|string $useempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. * @param string $moreattrib To add more attribute on select - * @param int $showcurrency Show currency in label + * @param int<0,1> $showcurrency Show currency in label * @param string $morecss More CSS * @param int<0,1> $nooutput 1=Return string, do not send to output - * @return int|string If noouput=0: Return integer <0 if error, Num of bank account found if OK (0, 1, 2, ...), If nooutput=1: Return a HTML select string. + * @return int|string If nooutput=0: Return integer <0 if error, Num of bank account found if OK (0, 1, 2, ...), If nooutput=1: Return a HTML select string. */ public function select_comptes($selected = '', $htmlname = 'accountid', $status = 0, $filtre = '', $useempty = 0, $moreattrib = '', $showcurrency = 0, $morecss = '', $nooutput = 0) { @@ -5274,7 +5274,7 @@ public function select_comptes($selected = '', $htmlname = 'accountid', $status * @param int $showibanbic Show iban/bic in label * @param string $morecss More CSS * @param int<0,1> $nooutput 1=Return string, do not send to output - * @return int|string If noouput=0: Return integer <0 if error, Num of bank account found if OK (0, 1, 2, ...), If nooutput=1: Return a HTML select string. + * @return int|string If nooutput=0: Return integer <0 if error, Num of bank account found if OK (0, 1, 2, ...), If nooutput=1: Return a HTML select string. */ public function selectRib($selected = '', $htmlname = 'ribcompanyid', $filtre = '', $useempty = 0, $moreattrib = '', $showibanbic = 0, $morecss = '', $nooutput = 0) { @@ -5418,7 +5418,7 @@ public function selectEstablishments($selected = '', $htmlname = 'entity', $stat * @param string $page Page * @param string $selected Id of bank account * @param string $htmlname Name of select html field - * @param int $addempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. + * @param int<0,2> $addempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. * @return void */ public function formSelectAccount($page, $selected = '', $htmlname = 'fk_account', $addempty = 0) @@ -5440,7 +5440,7 @@ public function formSelectAccount($page, $selected = '', $htmlname = 'fk_account if ($selected) { require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php'; $bankstatic = new Account($this->db); - $result = $bankstatic->fetch($selected); + $result = $bankstatic->fetch((int) $selected); if ($result) { print $bankstatic->getNomUrl(1); } @@ -5479,7 +5479,7 @@ public function formRib($page, $selected = '', $htmlname = 'ribcompanyid', $filt if ($selected) { require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php'; $bankstatic = new CompanyBankAccount($this->db); - $result = $bankstatic->fetch($selected); + $result = $bankstatic->fetch((int) $selected); if ($result) { print $bankstatic->label; if ($showibanbic) { @@ -5615,11 +5615,11 @@ public function select_all_categories($type, $selected = '', $htmlname = "parent * @param string $title Title * @param string $question Question * @param string $action Action - * @param array}>|string|null $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...')) - * 'type' can be 'text', 'password', 'checkbox', 'radio', 'date', 'datetime', 'select', 'multiselect', 'morecss', - * 'other', 'onecolumn' or 'hidden'... + * @param array}>|string|null $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...')) + * 'type' can be 'text', 'password', 'checkbox', 'radio', 'date', 'datetime', 'select', 'multiselect', 'morecss', + * 'other', 'onecolumn' or 'hidden'... * @param string $selectedchoice "" or "no" or "yes" - * @param int|string $useajax 0=No, 1=Yes use Ajax to show the popup, 2=Yes and also submit page with &confirm=no if choice is No, 'xxx'=Yes and preoutput confirm box with div id=dialog-confirm-xxx + * @param int<0,2>|string $useajax 0=No, 1=Yes use Ajax to show the popup, 2=Yes and also submit page with &confirm=no if choice is No, 'xxx'=Yes and preoutput confirm box with div id=dialog-confirm-xxx * @param int $height Force height of box * @param int $width Force width of box * @return void @@ -5648,9 +5648,9 @@ public function form_confirm($page, $title, $question, $action, $formquestion = * @param string $title Title * @param string $question Question * @param string $action Action - * @param array}>|string|null $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...')) - * 'type' can be 'text', 'password', 'checkbox', 'radio', 'date', 'datetime', 'select', 'multiselect', 'morecss', - * 'other', 'onecolumn' or 'hidden'... + * @param null|string|array,tdclass?:string}>|array{text:string,0?:array{name:string,value?:string|float|bool,values?:string[],default?:string,label?:string,type:string,size?:int|string,morecss?:string,moreattr?:string,style?:string,inputko?:int<0,1>,tdclass?:string},1?:array{name:string,value?:string|float|bool,values?:string[],default?:string,label?:string,type:string,size?:int|string,morecss?:string,moreattr?:string,style?:string,inputko?:int<0,1>,tdclass?:string}} $formquestion An array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , 'size'=>, 'morecss'=>, 'moreattr'=>'autofocus' or 'style=...')) + * 'type' can be 'text', 'password', 'checkbox', 'radio', 'date', 'datetime', 'select', 'multiselect', 'morecss', + * 'other', 'onecolumn' or 'hidden'... * @param int<0,1>|''|'no'|'yes'|'1'|'0' $selectedchoice '' or 'no', or 'yes' or '1', 1, '0' or 0 * @param int<0,2>|string $useajax 0=No, 1=Yes use Ajax to show the popup, 2=Yes and also submit page with &confirm=no if choice is No, 'xxx'=Yes and preoutput confirm box with div id=dialog-confirm-xxx * @param int|string $height Force height of box (0 = auto) @@ -6100,7 +6100,7 @@ public function form_project($page, $socid, $selected = '', $htmlname = 'project $out .= ''; if ($selected) { $projet = new Project($this->db); - $projet->fetch($selected); + $projet->fetch((int) $selected); $out .= $projet->getNomUrl(0, '', 1); } else { $out .= '' . $textifnoproject . ''; @@ -6123,8 +6123,8 @@ public function form_project($page, $socid, $selected = '', $htmlname = 'project * @param string $page Page * @param string $selected Id condition pre-selectionne * @param string $htmlname Name of select html field - * @param int $addempty Add empty entry - * @param string $type Type ('direct-debit' or 'bank-transfer') + * @param int<0,1> $addempty Add empty entry + * @param ''|'direct-debit'|'bank-transfer' $type Type ('direct-debit' or 'bank-transfer') * @param int $filtertype If > 0, include payment terms with deposit percentage (for objects other than invoices and invoice templates) * @param int $deposit_percent < 0 : deposit_percent input makes no sense (for example, in list filters) * 0 : use default deposit percentage from entry @@ -6146,7 +6146,7 @@ public function form_conditions_reglement($page, $selected = '', $htmlname = 'co if ($type) { $out .= ''; } - $out .= $this->getSelectConditionsPaiements($selected, $htmlname, $filtertype, $addempty, 0, '', $deposit_percent); + $out .= $this->getSelectConditionsPaiements((int) $selected, $htmlname, $filtertype, $addempty, 0, '', $deposit_percent); $out .= ''; $out .= ''; } else { @@ -6184,7 +6184,7 @@ public function form_conditions_reglement($page, $selected = '', $htmlname = 'co * @param string $page Page * @param string $selected Id condition pre-selectionne * @param string $htmlname Name of select html field - * @param int $addempty Add an empty entry + * @param int<0,1> $addempty Add an empty entry * @return void */ public function form_availability($page, $selected = '', $htmlname = 'availability', $addempty = 0) @@ -6322,7 +6322,7 @@ public function form_users($page, $selected = '', $htmlname = 'userid', $exclude if ($selected) { require_once DOL_DOCUMENT_ROOT . '/user/class/user.class.php'; $theuser = new User($this->db); - $theuser->fetch($selected); + $theuser->fetch((int) $selected); print $theuser->getNomUrl(1); } else { print " "; @@ -6340,8 +6340,8 @@ public function form_users($page, $selected = '', $htmlname = 'userid', $exclude * @param string $selected Id mode pre-selectionne * @param string $htmlname Name of select html field * @param string $filtertype To filter on field type in llx_c_paiement ('CRDT' or 'DBIT' or array('code'=>xx,'label'=>zz)) - * @param int $active Active or not, -1 = all - * @param int $addempty 1=Add empty entry + * @param int<-1,1> $active Active or not, -1 = all + * @param int<0,1> $addempty 1=Add empty entry * @param string $type Type ('direct-debit' or 'bank-transfer') * @param int<0,1> $nooutput 1=Return string, no output * @return string HTML output or '' @@ -6613,7 +6613,7 @@ public function form_contacts($page, $societe, $selected = '', $htmlname = 'cont if ($selected) { require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; $contact = new Contact($this->db); - $contact->fetch($selected); + $contact->fetch((int) $selected); print $contact->getFullName($langs); } else { print " "; @@ -6656,7 +6656,7 @@ public function form_thirdparty($page, $selected = '', $htmlname = 'socid', $fil if ($selected) { require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; $soc = new Societe($this->db); - $soc->fetch($selected); + $soc->fetch((int) $selected); $out .= $soc->getNomUrl(0, ''); } else { $out .= '' . $textifnothirdparty . ''; @@ -6982,7 +6982,7 @@ public function load_tva($htmlname = 'tauxtva', $selectedrate = '', $societe_ven // If SERVICE_ARE_ECOMMERCE_200238EC=1 combo list vat rate of purchaser and seller countries // If SERVICE_ARE_ECOMMERCE_200238EC=2 combo list only the vat rate of the purchaser country $selectVatComboMode = getDolGlobalString('SERVICE_ARE_ECOMMERCE_200238EC'); - if (isInEEC($societe_vendeuse) && isInEEC($societe_acheteuse) && !$societe_acheteuse->isACompany()) { + if (is_object($societe_vendeuse) && isInEEC($societe_vendeuse) && isInEEC($societe_acheteuse) && !$societe_acheteuse->isACompany()) { // We also add the buyer country code if (is_numeric($type)) { if ($type == 1) { // We know product is a service @@ -7029,7 +7029,7 @@ public function load_tva($htmlname = 'tauxtva', $selectedrate = '', $societe_ven if ($num > 0) { // Definition du taux a pre-selectionner (si defaulttx non force et donc vaut -1 ou '') - if ($defaulttx < 0 || dol_strlen($defaulttx) == 0) { + if (($defaulttx < 0 || dol_strlen($defaulttx) == 0) && is_object($societe_vendeuse)) { $tmpthirdparty = new Societe($this->db); $defaulttx = get_default_tva($societe_vendeuse, (is_object($societe_acheteuse) ? $societe_acheteuse : $tmpthirdparty), $idprod); @@ -7222,7 +7222,7 @@ public function selectDateToDate($set_time = '', $set_time_end = '', $prefix = ' * @param int<0,1> $disabled Disable input fields * @param int|string $fullday When a checkbox with id #fullday is checked, hours are set with 00:00 (if value if 'fulldaystart') or 23:59 (if value is 'fulldayend') * @param string $addplusone Add a link "+1 hour". Value must be name of another selectDate field. - * @param int|string|array $adddateof Add a link "Date of ..." using the following date. Must be array(array('adddateof' => ..., 'labeladddateof' => ...)) + * @param int|string|array $adddateof Add a link "Date of ..." using the following date. Must be array(array('adddateof' => ..., 'labeladddateof' => ...)) * @param string $openinghours Specify hour start and hour end for the select ex 8,20 * @param int $stepminutes Specify step for minutes between 1 and 30 * @param string $labeladddateof Label to use for the $adddateof parameter. Deprecated. Used only when $adddateof is not an array. @@ -7835,7 +7835,7 @@ public function selectTickets($selected = '', $htmlname = 'ticketid', $filtertyp if ($selected && empty($selected_input_value)) { require_once DOL_DOCUMENT_ROOT . '/ticket/class/ticket.class.php'; $tickettmpselect = new Ticket($this->db); - $tickettmpselect->fetch($selected); + $tickettmpselect->fetch((int) $selected); $selected_input_value = $tickettmpselect->ref; unset($tickettmpselect); } @@ -8031,7 +8031,7 @@ protected function constructTicketListOption(&$objp, &$opt, &$optJson, $selected * @param string $selected Preselected tickets * @param string $htmlname Name of HTML select field (must be unique in page). * @param string $filtertype To add a filter - * @param int $limit Limit on number of returned lines + * @param int<0,max> $limit Limit on number of returned lines * @param int $status Not used * @param string $selected_input_value Value of preselected input text (for use with ajax) * @param int<0,3> $hidelabel Hide label (0=no, 1=yes, 2=show search icon (before) and placeholder, 3 search icon after) @@ -8061,7 +8061,7 @@ public function selectProjects($selected = '', $htmlname = 'projectid', $filtert if ($selected && empty($selected_input_value)) { require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; $projecttmpselect = new Project($this->db); - $projecttmpselect->fetch($selected); + $projecttmpselect->fetch((int) $selected); $selected_input_value = $projecttmpselect->ref; unset($projecttmpselect); } @@ -8222,7 +8222,9 @@ public function selectProjectsList($selected = '', $htmlname = 'projectid', $fil * * @param stdClass $objp Result set of fetch * @param string $opt Option (var used for returned value in string option format) - * @param array{key:string,value:string,type:string} $optJson Option (var used for returned value in json format) + * @param array{} $optJson Option (var used for returned value in json format) @phan-output-reference + * @phan-param array{key:string,value:string,type:string} $optJson Option (var used for returned value in json format) @phan-output-reference + * @phpstan-param-out array{key:string,value:string,type:string} $optJson * @param string $selected Preselected value * @param string $filterkey Filter key to highlight * @return void @@ -8290,7 +8292,7 @@ public function selectMembers($selected = '', $htmlname = 'adherentid', $filtert if ($selected && empty($selected_input_value)) { require_once DOL_DOCUMENT_ROOT . '/adherents/class/adherent.class.php'; $adherenttmpselect = new Adherent($this->db); - $adherenttmpselect->fetch($selected); + $adherenttmpselect->fetch((int) $selected); $selected_input_value = $adherenttmpselect->ref; unset($adherenttmpselect); } @@ -8396,7 +8398,7 @@ public function selectMembersList($selected = '', $htmlname = 'adherentid', $fil if (!$forcecombo) { include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; - $out .= ajax_combobox($htmlname, $events, getDolGlobalString('PROJECT_USE_SEARCH_TO_SELECT') ? $conf->global->PROJECT_USE_SEARCH_TO_SELECT : ''); + $out .= ajax_combobox($htmlname, $events, getDolGlobalInt('PROJECT_USE_SEARCH_TO_SELECT')); } $out .= ''; $morehtmlref .= ''; - $morehtmlref .= $formproject->select_projects($object->socid, $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); + $morehtmlref .= $formproject->select_projects($object->socid, (string) $object->fk_project, 'projectid', $maxlength, 0, 1, 0, 1, 0, 0, '', 1); $morehtmlref .= ''; $morehtmlref .= ''; } else { - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, (string) $object->fk_project, 'none', 0, 0, 0, 1, '', 'maxwidth300'); } } else { if (!empty($object->fk_project)) { @@ -1238,7 +1244,7 @@ // Label print ''; - print '' . $form->editfieldkey("Label", 'libelle', $object->libelle, $object, $usercancreate) . ''; + print '' . $form->editfieldkey("Label", 'libelle', $object->libelle, $object, (int) $usercancreate) . ''; print '' . $form->editfieldval("Label", 'libelle', $object->libelle, $object, $usercancreate) . ''; print ''; @@ -1273,9 +1279,9 @@ print ''; print ''; if ($action == 'editconditions') { - $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id'); + $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, (string) $object->cond_reglement_id, 'cond_reglement_id'); } else { - $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'none'); + $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, (string) $object->cond_reglement_id, 'none'); } print ''; @@ -1291,9 +1297,9 @@ print ''; print ''; if ($action == 'editmode') { - $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id', 'CRDT', 1, 1); + $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, (string) $object->mode_reglement_id, 'mode_reglement_id', 'CRDT', 1, 1); } else { - $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'none'); + $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, (string) $object->mode_reglement_id, 'none'); } print ''; @@ -1308,9 +1314,9 @@ print ''; print ''; if ($action == 'editbankaccount') { - $form->formSelectAccount($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_account, 'fk_account', 1); + $form->formSelectAccount($_SERVER['PHP_SELF'] . '?id=' . $object->id, (string) $object->fk_account, 'fk_account', 1); } else { - $form->formSelectAccount($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->fk_account, 'none'); + $form->formSelectAccount($_SERVER['PHP_SELF'] . '?id=' . $object->id, (string) $object->fk_account, 'none'); } print ""; print ''; @@ -1397,7 +1403,7 @@ // Date when (next invoice generation) print ''; if ($action == 'date_when' || $object->frequency > 0) { - print $form->editfieldkey($langs->trans("NextDateToExecution"), 'date_when', $object->date_when, $object, $usercancreate, 'day'); + print $form->editfieldkey($langs->trans("NextDateToExecution"), 'date_when', (string) $object->date_when, $object, (int) $usercancreate, 'day'); } else { print $langs->trans("NextDateToExecution"); } @@ -1419,7 +1425,7 @@ // Max period / Rest period print ''; if ($action == 'nb_gen_max' || $object->frequency > 0) { - print $form->editfieldkey($langs->trans("MaxPeriodNumber"), 'nb_gen_max', $object->nb_gen_max, $object, $usercancreate); + print $form->editfieldkey($langs->trans("MaxPeriodNumber"), 'nb_gen_max', (string) $object->nb_gen_max, $object, (int) $usercancreate); } else { print $langs->trans("MaxPeriodNumber"); } @@ -1435,7 +1441,7 @@ // Status of generated invoices print ''; if ($action == 'auto_validate' || $object->frequency > 0) { - print $form->editfieldkey($langs->trans("StatusOfAutoGeneratedInvoices"), 'auto_validate', $object->auto_validate, $object, $usercancreate); + print $form->editfieldkey($langs->trans("StatusOfAutoGeneratedInvoices"), 'auto_validate', (string) $object->auto_validate, $object, (int) $usercancreate); } else { print $langs->trans("StatusOfAutoGeneratedInvoices"); } @@ -1450,7 +1456,7 @@ print ''; print ''; if ($action == 'generate_pdf' || $object->frequency > 0) { - print $form->editfieldkey($langs->trans("StatusOfGeneratedDocuments"), 'generate_pdf', $object->generate_pdf, $object, $usercancreate); + print $form->editfieldkey($langs->trans("StatusOfGeneratedDocuments"), 'generate_pdf', (string) $object->generate_pdf, $object, (int) $usercancreate); } else { print $langs->trans("StatusOfGeneratedDocuments"); } diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index f09264a5fa672..2076c1c998205 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -13,7 +13,7 @@ * Copyright (C) 2019 Ferran Marcet * Copyright (C) 2022 Gauthier VERDOL * Copyright (C) 2023 Nick Fragoulis - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -193,7 +193,7 @@ if (GETPOST('linkedOrder') && empty($cancel) && $id > 0 && $permissiontoadd) { $object->fetch($id); $object->fetch_thirdparty(); - $result = $object->add_object_linked('order_supplier', GETPOST('linkedOrder')); + $result = $object->add_object_linked('order_supplier', GETPOSTINT('linkedOrder')); } // Action clone object @@ -283,7 +283,7 @@ $revertstock = GETPOST('revertstock'); if ($revertstock) { - $idwarehouse = GETPOST('idwarehouse'); + $idwarehouse = GETPOSTINT('idwarehouse'); $qualified_for_stock_change = 0; if (!getDolGlobalString('STOCK_SUPPORTS_SERVICES')) { @@ -462,7 +462,7 @@ $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } elseif ($action == 'setmulticurrencyrate' && $usercancreate) { // Multicurrency rate - $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx', 'alpha')), GETPOSTINT('calculation_mode')); + $result = $object->setMulticurrencyRate((float) price2num(GETPOST('multicurrency_tx', 'alpha')), GETPOSTINT('calculation_mode')); } elseif ($action == 'setbankaccount' && $usercancreate) { // bank account $result = $object->setBankAccount(GETPOSTINT('fk_account')); @@ -762,7 +762,7 @@ $object->fetch($id); if ($object->status == FactureFournisseur::STATUS_VALIDATED && $object->paid == 0) { $paiementfourn = new PaiementFourn($db); - $result = $paiementfourn->fetch(GETPOST('paiement_id')); + $result = $paiementfourn->fetch(GETPOSTINT('paiement_id')); if ($result > 0) { $result = $paiementfourn->delete($user); if ($result > 0) { @@ -910,8 +910,8 @@ $object->date_echeance = $datedue; $object->note_public = GETPOST('note_public', 'restricthtml'); $object->note_private = GETPOST('note_private', 'restricthtml'); - $object->cond_reglement_id = GETPOST('cond_reglement_id'); - $object->mode_reglement_id = GETPOST('mode_reglement_id'); + $object->cond_reglement_id = GETPOSTINT('cond_reglement_id'); + $object->mode_reglement_id = GETPOSTINT('mode_reglement_id'); $object->fk_account = GETPOSTINT('fk_account'); $object->vat_reverse_charge = GETPOST('vat_reverse_charge') == 'on' ? 1 : 0; $object->fk_project = ($tmpproject > 0) ? $tmpproject : null; @@ -1080,8 +1080,8 @@ $object->date_echeance = $datedue; $object->note_public = GETPOST('note_public', 'restricthtml'); $object->note_private = GETPOST('note_private', 'restricthtml'); - $object->cond_reglement_id = GETPOST('cond_reglement_id'); - $object->mode_reglement_id = GETPOST('mode_reglement_id'); + $object->cond_reglement_id = GETPOSTINT('cond_reglement_id'); + $object->mode_reglement_id = GETPOSTINT('mode_reglement_id'); $object->fk_account = GETPOSTINT('fk_account'); $object->vat_reverse_charge = GETPOST('vat_reverse_charge') == 'on' ? 1 : 0; $object->fk_project = ($tmpproject > 0) ? $tmpproject : null; @@ -1253,7 +1253,7 @@ $descline .= ' - '.$srcobject->ref; $result = $object->addline( $descline, - $amount, // subprice + (float) $amount, // subprice $tva, // vat rate 0, // localtax1_tx 0, // localtax2_tx @@ -1273,7 +1273,7 @@ $object->origin, 0, '', - '0', // special_code + 0, // special_code 0, 0 //,$langs->trans('Deposit') //Deprecated @@ -1374,8 +1374,8 @@ $lines[$i]->qty, $lines[$i]->fk_product, $lines[$i]->remise_percent, - $date_start, - $date_end, + (int) $date_start, + (int) $date_end, 0, $lines[$i]->info_bits, 'HT', @@ -1458,13 +1458,13 @@ if (GETPOST('productid') > 0) { $productsupplier = new ProductFournisseur($db); if (getDolGlobalInt('SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY') == 1) { // Not the common case - if (GETPOST('productid') > 0 && $productsupplier->get_buyprice(0, price2num(GETPOST('qty')), GETPOSTINT('productid'), 'restricthtml', GETPOSTINT('socid')) < 0) { + if (GETPOST('productid') > 0 && $productsupplier->get_buyprice(0, (float) price2num(GETPOST('qty')), GETPOSTINT('productid'), 'restricthtml', GETPOSTINT('socid')) < 0) { setEventMessages($langs->trans("ErrorQtyTooLowForThisSupplier"), null, 'warnings'); } } $prod = new Product($db); - $prod->fetch(GETPOST('productid')); + $prod->fetch(GETPOSTINT('productid')); $label = $prod->description; if (trim(GETPOST('product_desc', 'restricthtml')) != trim($label)) { $label = GETPOST('product_desc', 'restricthtml'); @@ -1476,8 +1476,8 @@ $type = GETPOST("type") ? GETPOST("type") : 0; } - $date_start = dol_mktime(GETPOST('date_starthour'), GETPOST('date_startmin'), GETPOST('date_startsec'), GETPOST('date_startmonth'), GETPOST('date_startday'), GETPOST('date_startyear')); - $date_end = dol_mktime(GETPOST('date_endhour'), GETPOST('date_endmin'), GETPOST('date_endsec'), GETPOST('date_endmonth'), GETPOST('date_endday'), GETPOST('date_endyear')); + $date_start = dol_mktime(GETPOSTINT('date_starthour'), GETPOSTINT('date_startmin'), GETPOSTINT('date_startsec'), GETPOSTINT('date_startmonth'), GETPOSTINT('date_startday'), GETPOSTINT('date_startyear')); + $date_end = dol_mktime(GETPOSTINT('date_endhour'), GETPOSTINT('date_endmin'), GETPOSTINT('date_endsec'), GETPOSTINT('date_endmonth'), GETPOSTINT('date_endday'), GETPOSTINT('date_endyear')); // Define info_bits $info_bits = 0; @@ -1506,22 +1506,22 @@ $result = $object->updateline( GETPOSTINT('lineid'), $label, - $up, - $tva_tx, + (float) $up, + (float) $tva_tx, $localtax1_tx, $localtax2_tx, - price2num(GETPOST('qty'), 'MS'), + (float) price2num(GETPOST('qty'), 'MS'), GETPOSTINT('productid'), $price_base_type, $info_bits, $type, - $remise_percent, + (float) $remise_percent, 0, $date_start, $date_end, $array_options, - GETPOST('units', 'alpha'), - $pu_devise, + GETPOST('units') != '' ? GETPOSTINT('units') : null, + (float) $pu_devise, GETPOST('fourn_ref', 'alpha') ); if ($result >= 0) { @@ -1549,8 +1549,8 @@ } } elseif ($action == 'addline' && GETPOST('submitforalllines', 'aZ09') && (GETPOST('alldate_start', 'alpha') || GETPOST('alldate_end', 'alpha')) && $usercancreate) { // Define date start and date end for all line - $alldate_start = dol_mktime(GETPOST('alldate_starthour'), GETPOST('alldate_startmin'), 0, GETPOST('alldate_startmonth'), GETPOST('alldate_startday'), GETPOST('alldate_startyear')); - $alldate_end = dol_mktime(GETPOST('alldate_endhour'), GETPOST('alldate_endmin'), 0, GETPOST('alldate_endmonth'), GETPOST('alldate_endday'), GETPOST('alldate_endyear')); + $alldate_start = dol_mktime(GETPOSTINT('alldate_starthour'), GETPOSTINT('alldate_startmin'), 0, GETPOSTINT('alldate_startmonth'), GETPOSTINT('alldate_startday'), GETPOSTINT('alldate_startyear')); + $alldate_end = dol_mktime(GETPOSTINT('alldate_endhour'), GETPOSTINT('alldate_endmin'), 0, GETPOSTINT('alldate_endmonth'), GETPOSTINT('alldate_endday'), GETPOSTINT('alldate_endyear')); foreach ($object->lines as $line) { if ($line->product_type == 1) { // only service line $result = $object->updateline($line->id, $line->desc, $line->subprice, $line->tva_tx, $line->localtax1_tx, $line->localtax2_tx, $line->qty, $line->fk_product, 'HT', $line->info_bits, $line->product_type, $line->remise_percent, 0, $alldate_start, $alldate_end, $line->array_options, $line->fk_unit, $line->multicurrency_subprice, $line->ref_supplier, $line->rang); @@ -1563,7 +1563,7 @@ $localtax1_rate = get_localtax($vat_rate, 1, $object->thirdparty, $mysoc); $localtax2_rate = get_localtax($vat_rate, 2, $object->thirdparty, $mysoc); foreach ($object->lines as $line) { - $result = $object->updateline($line->id, $line->desc, $line->subprice, $vat_rate, $localtax1_rate, $localtax2_rate, $line->qty, $line->fk_product, 'HT', $line->info_bits, $line->product_type, $line->remise_percent, 0, $line->date_start, $line->date_end, $line->array_options, $line->fk_unit, $line->multicurrency_subprice, $line->ref_supplier, $line->rang); + $result = $object->updateline($line->id, $line->desc, $line->subprice, (float) $vat_rate, $localtax1_rate, $localtax2_rate, $line->qty, $line->fk_product, 'HT', $line->info_bits, $line->product_type, $line->remise_percent, 0, $line->date_start, $line->date_end, $line->array_options, $line->fk_unit, $line->multicurrency_subprice, $line->ref_supplier, $line->rang); } } elseif ($action == 'addline' && $usercancreate) { // Add a product line @@ -1582,8 +1582,8 @@ // Set if we used free entry or predefined product $predef = ''; $product_desc = (GETPOSTISSET('dp_desc') ? GETPOST('dp_desc', 'restricthtml') : ''); - $date_start = dol_mktime(GETPOST('date_start'.$predef.'hour'), GETPOST('date_start'.$predef.'min'), GETPOST('date_start'.$predef.'sec'), GETPOST('date_start'.$predef.'month'), GETPOST('date_start'.$predef.'day'), GETPOST('date_start'.$predef.'year')); - $date_end = dol_mktime(GETPOST('date_end'.$predef.'hour'), GETPOST('date_end'.$predef.'min'), GETPOST('date_end'.$predef.'sec'), GETPOST('date_end'.$predef.'month'), GETPOST('date_end'.$predef.'day'), GETPOST('date_end'.$predef.'year')); + $date_start = dol_mktime(GETPOSTINT('date_start'.$predef.'hour'), GETPOSTINT('date_start'.$predef.'min'), GETPOSTINT('date_start'.$predef.'sec'), GETPOSTINT('date_start'.$predef.'month'), GETPOSTINT('date_start'.$predef.'day'), GETPOSTINT('date_start'.$predef.'year')); + $date_end = dol_mktime(GETPOSTINT('date_end'.$predef.'hour'), GETPOSTINT('date_end'.$predef.'min'), GETPOSTINT('date_end'.$predef.'sec'), GETPOSTINT('date_end'.$predef.'month'), GETPOSTINT('date_end'.$predef.'day'), GETPOSTINT('date_end'.$predef.'year')); $prod_entry_mode = GETPOST('prod_entry_mode'); if ($prod_entry_mode == 'free') { @@ -1695,7 +1695,7 @@ $reg = array(); if (preg_match('/^idprod_([0-9]+)$/', GETPOST('idprodfournprice', 'alpha'), $reg)) { - $idprod = $reg[1]; + $idprod = (int) $reg[1]; $res = $productsupplier->fetch($idprod); // Load product from its id // Call to init some price properties of $productsupplier // So if a supplier price already exists for another thirdparty (first one found), we use it as reference price @@ -1709,10 +1709,10 @@ $fksoctosearch = $object->thirdparty->id; $productsupplier->get_buyprice(0, -1, $idprod, 'none', $fksoctosearch); // We force qty to -1 to be sure to find if a supplier price exist } - } elseif (GETPOST('idprodfournprice', 'alpha') > 0) { - $qtytosearch = $qty; // Just to see if a price exists for the quantity. Not used to found vat. + } elseif (GETPOSTINT('idprodfournprice') > 0) { // Should be an int at this point + $qtytosearch = (float) $qty; // Just to see if a price exists for the quantity. Not used to found vat. //$qtytosearch=-1; // We force qty to -1 to be sure to find if a supplier price exist - $idprod = $productsupplier->get_buyprice(GETPOST('idprodfournprice', 'alpha'), $qtytosearch); + $idprod = $productsupplier->get_buyprice(GETPOSTINT('idprodfournprice'), $qtytosearch); $res = $productsupplier->fetch($idprod); } @@ -1804,7 +1804,7 @@ $tva_tx, $localtax1_tx, $localtax2_tx, - $qty, + (float) $qty, $idprod, $remise_percent, $date_start, @@ -1840,10 +1840,10 @@ $tva_tx = str_replace('*', '', $tva_tx); $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); $desc = $product_desc; - $type = GETPOST('type'); + $type = GETPOSTINT('type'); $ref_supplier = GETPOST('fourn_ref', 'alpha'); - $fk_unit = GETPOST('units', 'alpha'); + $fk_unit = GETPOST('units') !== '' ? GETPOSTINT('units') : null; if (!preg_match('/\((.*)\)/', $tva_tx)) { $tva_tx = price2num($tva_tx); // $txtva can have format '5,1' or '5.1' or '5.1(XXX)', we must clean only if '5,1' @@ -1862,7 +1862,7 @@ $price_base_type = 'HT'; $pu_devise = price2num($price_ht_devise, 'CU'); - $result = $object->addline($product_desc, $pu_ht, $tva_tx, $localtax1_tx, $localtax2_tx, $qty, 0, $remise_percent, $date_start, $date_end, 0, $tva_npr, $price_base_type, $type, -1, 0, $array_options, $fk_unit, 0, $pu_devise, $ref_supplier); + $result = $object->addline($product_desc, (float) $pu_ht, (float) $tva_tx, $localtax1_tx, $localtax2_tx, (float) $qty, 0, $remise_percent, $date_start, $date_end, 0, $tva_npr, $price_base_type, $type, -1, 0, $array_options, $fk_unit, 0, (float) $pu_devise, $ref_supplier); } //print "xx".$tva_tx; exit; @@ -2065,8 +2065,8 @@ $result = $object->fetch($id); if ($result > 0 && $id > 0) { - $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); - $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); + $contactid = (GETPOST('userid') ? GETPOSTINT('userid') : GETPOSTINT('contactid')); + $typeid = (GETPOST('typecontact') ? GETPOSTINT('typecontact') : GETPOSTINT('type')); $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09')); } @@ -2135,6 +2135,7 @@ dol_htmloutput_events(); $currency_code = $conf->currency; + $vat_reverse_charge = 0; $societe = ''; if (GETPOSTINT('socid') > 0) { @@ -2695,7 +2696,7 @@ function setRadioForTypeOfInvoice() { // Invoice Subtype if (getDolGlobalInt('INVOICE_SUBTYPE_ENABLED')) { print ''.$langs->trans('InvoiceSubtype').''; - print $form->getSelectInvoiceSubtype(GETPOST('subtype'), 'subtype', 1, 0, ''); + print $form->getSelectInvoiceSubtype(GETPOSTINT('subtype'), 'subtype', 1, 0, ''); print ''; } @@ -2717,7 +2718,7 @@ function setRadioForTypeOfInvoice() { // Date invoice print ''.$langs->trans('DateInvoice').''; print img_picto('', 'action', 'class="pictofixedwidth"'); - print $form->selectDate($dateinvoice, '', 0, 0, 0, "add", 1, 1); + print $form->selectDate((int) $dateinvoice, '', 0, 0, 0, "add", 1, 1); print ''; // Payment term @@ -3271,7 +3272,7 @@ function setRadioForTypeOfInvoice() { $morehtmlref = '
'; // Ref supplier - $morehtmlref .= $form->editfieldkey("RefSupplierBill", 'ref_supplier', $object->ref_supplier, $object, $usercancreate, 'string', '', 0, 1); + $morehtmlref .= $form->editfieldkey("RefSupplierBill", 'ref_supplier', $object->ref_supplier, $object, (int) $usercancreate, 'string', '', 0, 1); $morehtmlref .= $form->editfieldval("RefSupplierBill", 'ref_supplier', $object->ref_supplier, $object, $usercancreate, 'string', '', null, null, '', 1); // Thirdparty $morehtmlref .= '
'.$object->thirdparty->getNomUrl(1, 'supplier'); @@ -3287,7 +3288,7 @@ function setRadioForTypeOfInvoice() { if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); @@ -3400,7 +3401,7 @@ function setRadioForTypeOfInvoice() { // Label print ''; - print ''.$form->editfieldkey("Label", 'label', $object->label, $object, $usercancreate).''; + print ''.$form->editfieldkey("Label", 'label', $object->label, $object, (int) $usercancreate).''; print ''.$form->editfieldval("Label", 'label', $object->label, $object, $usercancreate).''; print ''; @@ -3409,7 +3410,7 @@ function setRadioForTypeOfInvoice() { // Date print ''; - print $form->editfieldkey("DateInvoice", 'datef', $object->date, $object, $form_permission, 'datepicker'); + print $form->editfieldkey("DateInvoice", 'datef', (string) $object->date, $object, (int) $form_permission, 'datepicker'); print ''; print $form->editfieldval("Date", 'datef', $object->date, $object, $form_permission, 'datepicker'); print ''; @@ -3426,16 +3427,16 @@ function setRadioForTypeOfInvoice() { print ''; print ''; if ($action == 'editconditions') { - $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->cond_reglement_id, 'cond_reglement_id'); + $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->cond_reglement_id, 'cond_reglement_id'); } else { - $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->cond_reglement_id, 'none'); + $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->cond_reglement_id, 'none'); } print ""; print ''; // Due date print ''; - print $form->editfieldkey("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission, 'datepicker'); + print $form->editfieldkey("DateMaxPayment", 'date_lim_reglement', (string) $object->date_echeance, $object, (int) $form_permission, 'datepicker'); print ''; print $form->editfieldval("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission, 'datepicker'); if ($action != 'editdate_lim_reglement' && $object->hasDelay()) { @@ -3455,9 +3456,9 @@ function setRadioForTypeOfInvoice() { print ''; print ''; if ($action == 'editmode') { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'mode_reglement_id', 'DBIT', 1, 1); + $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->mode_reglement_id, 'mode_reglement_id', 'DBIT', 1, 1); } else { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'none'); + $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->mode_reglement_id, 'none'); } print ''; @@ -3473,9 +3474,9 @@ function setRadioForTypeOfInvoice() { print ''; print ''; if ($action == 'editbankaccount') { - $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_account, 'fk_account', 1); + $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->fk_account, 'fk_account', 1); } else { - $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_account, 'none'); + $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->fk_account, 'none'); } print ""; print ''; @@ -3544,9 +3545,9 @@ function setRadioForTypeOfInvoice() { print ''; print ''; if ($action == 'edittransportmode') { - $form->formSelectTransportMode($_SERVER['PHP_SELF'].'?id='.$object->id, $object->transport_mode_id, 'transport_mode_id', 1, 1); + $form->formSelectTransportMode($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->transport_mode_id, 'transport_mode_id', 1, 1); } else { - $form->formSelectTransportMode($_SERVER['PHP_SELF'].'?id='.$object->id, $object->transport_mode_id, 'none'); + $form->formSelectTransportMode($_SERVER['PHP_SELF'].'?id='.$object->id, (string) $object->transport_mode_id, 'none'); } print ''; } @@ -4194,7 +4195,7 @@ function setRadioForTypeOfInvoice() { $enableDelete = true; $htmltooltip = ''; } - print dolGetButtonAction($htmltooltip, $langs->trans("Delete"), 'delete', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete&token='.newToken(), $object->id, $enableDelete, $params); + print dolGetButtonAction($htmltooltip, $langs->trans("Delete"), 'delete', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete&token='.newToken(), (string) $object->id, $enableDelete, $params); } print '
'; @@ -4213,7 +4214,7 @@ function setRadioForTypeOfInvoice() { $modelpdf = (empty($object->model_pdf) ? getDolGlobalString('INVOICE_SUPPLIER_ADDON_PDF') : $object->model_pdf); $genifempty = 0; - print $formfile->showdocuments('facture_fournisseur', $subdir, $filedir, $urlsource, $genallowed, $delallowed, $modelpdf, $genifempty, 0, 0, 40, 0, '', '', '', $societe->default_lang); + print $formfile->showdocuments('facture_fournisseur', $subdir, $filedir, $urlsource, (int) $genallowed, (int) $delallowed, $modelpdf, $genifempty, 0, 0, 40, 0, '', '', '', $societe->default_lang); $somethingshown = $formfile->numoffiles; // Show links to link elements diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index 5fd197731088b..9a9c38ae0a5d0 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -5,6 +5,7 @@ * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2021-2024 Frédéric France * Copyright (C) 2023 Christian Foellmann + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -68,7 +69,7 @@ * Actions */ -$parameters = array('id'=>$id); +$parameters = array('id' => $id); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); if ($reshook < 0) { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); @@ -83,8 +84,8 @@ $result = $object->fetch($id, $ref); if ($result > 0 && $id > 0) { - $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); - $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); + $contactid = (GETPOST('userid') ? GETPOSTINT('userid') : GETPOSTINT('contactid')); + $typeid = (GETPOST('typecontact') ? GETPOSTINT('typecontact') : GETPOSTINT('type')); $result = $object->add_contact($contactid, $typeid, GETPOST("source", 'aZ09')); } @@ -170,7 +171,7 @@ if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index 75d961308b093..63d22994487e6 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -7,6 +7,7 @@ * Copyright (C) 2016 Alexandre Spangaro * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2021-2024 Frédéric France + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -134,7 +135,7 @@ if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); diff --git a/htdocs/fourn/facture/info.php b/htdocs/fourn/facture/info.php index 1888bffdf7361..a7e3a9d48407a 100644 --- a/htdocs/fourn/facture/info.php +++ b/htdocs/fourn/facture/info.php @@ -5,6 +5,7 @@ * Copyright (C) 2016 Alexandre Spangaro * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2024 Frédéric France + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -100,7 +101,7 @@ if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); diff --git a/htdocs/fourn/facture/list-rec.php b/htdocs/fourn/facture/list-rec.php index 105e2b08deb99..5362aa4bd4290 100644 --- a/htdocs/fourn/facture/list-rec.php +++ b/htdocs/fourn/facture/list-rec.php @@ -8,7 +8,7 @@ * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2015-2021 Alexandre Spangaro * Copyright (C) 2016 Meziane Sof - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Nick Fragoulis * Copyright (C) 2024 Frédéric France * @@ -84,7 +84,7 @@ $search_montant_vat = GETPOST('search_montant_vat'); $search_montant_ttc = GETPOST('search_montant_ttc'); $search_payment_mode = GETPOST('search_payment_mode'); -$search_payment_term = GETPOST('search_payment_term'); +$search_payment_term = GETPOST('search_payment_term', 'int'); $search_date_startday = GETPOSTINT('search_date_startday'); $search_date_startmonth = GETPOSTINT('search_date_startmonth'); $search_date_startyear = GETPOSTINT('search_date_startyear'); @@ -146,31 +146,31 @@ $sortfield = 'f.titre'; } $arrayfields = array( - 'f.titre' => array('label' => 'Ref', 'checked' => 1), - 's.nom' => array('label' => 'ThirdParty', 'checked' => 1), - 'f.total_ht' => array('label' => 'AmountHT', 'checked' => 1), - 'f.total_tva' => array('label' => 'AmountVAT', 'checked' => 1), - 'f.total_ttc' => array('label' => 'AmountTTC', 'checked' => 1), - 'f.fk_mode_reglement' => array('label' => 'PaymentMode', 'checked' => 0), - 'f.fk_cond_reglement' => array('label' => 'PaymentTerm', 'checked' => 0), - 'recurring' => array('label' => 'RecurringInvoice', 'checked' => 1), - 'f.frequency' => array('label' => 'Frequency', 'checked' => 1), - 'f.unit_frequency' => array('label' => 'FrequencyUnit', 'checked' => 1), - 'f.nb_gen_done' => array('label' => 'NbOfGenerationDoneShort', 'checked' => 1), - 'f.date_last_gen' => array('label' => 'DateLastGenerationShort', 'checked' => 1), - 'f.date_when' => array('label' => 'NextDateToExecutionShort', 'checked' => 1), - 'f.fk_user_author' => array('label' => 'UserCreation', 'checked' => 0, 'position' => 500), - 'f.fk_user_modif' => array('label' => 'UserModification', 'checked' => 0, 'position' => 505), - 'f.datec' => array('label' => 'DateCreation', 'checked' => 0, 'position' => 520), - 'f.tms' => array('label' => 'DateModificationShort', 'checked' => 0, 'position' => 525), - 'status' => array('label' => 'Status', 'checked' => 1, 'position' => 1000), + 'f.titre' => array('label' => 'Ref', 'checked' => '1'), + 's.nom' => array('label' => 'ThirdParty', 'checked' => '1'), + 'f.total_ht' => array('label' => 'AmountHT', 'checked' => '1'), + 'f.total_tva' => array('label' => 'AmountVAT', 'checked' => '1'), + 'f.total_ttc' => array('label' => 'AmountTTC', 'checked' => '1'), + 'f.fk_mode_reglement' => array('label' => 'PaymentMode', 'checked' => '0'), + 'f.fk_cond_reglement' => array('label' => 'PaymentTerm', 'checked' => '0'), + 'recurring' => array('label' => 'RecurringInvoice', 'checked' => '1'), + 'f.frequency' => array('label' => 'Frequency', 'checked' => '1'), + 'f.unit_frequency' => array('label' => 'FrequencyUnit', 'checked' => '1'), + 'f.nb_gen_done' => array('label' => 'NbOfGenerationDoneShort', 'checked' => '1'), + 'f.date_last_gen' => array('label' => 'DateLastGenerationShort', 'checked' => '1'), + 'f.date_when' => array('label' => 'NextDateToExecutionShort', 'checked' => '1'), + 'f.fk_user_author' => array('label' => 'UserCreation', 'checked' => '0', 'position' => 500), + 'f.fk_user_modif' => array('label' => 'UserModification', 'checked' => '0', 'position' => 505), + 'f.datec' => array('label' => 'DateCreation', 'checked' => '0', 'position' => 520), + 'f.tms' => array('label' => 'DateModificationShort', 'checked' => '0', 'position' => 525), + 'status' => array('label' => 'Status', 'checked' => '1', 'position' => 1000), ); // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); -'@phan-var-force array,position?:int,help?:string}> $arrayfields'; // dol_sort_array looses type for Phan +'@phan-var-force array $arrayfields'; // dol_sort_array looses type for Phan if ($socid > 0) { $tmpthirdparty = new Societe($db); @@ -610,7 +610,7 @@ } // Thirdparty if (!empty($arrayfields['s.nom']['checked'])) { - print ''; + print ''; } if (!empty($arrayfields['f.total_ht']['checked'])) { // Amount net @@ -633,7 +633,7 @@ if (!empty($arrayfields['f.fk_cond_reglement']['checked'])) { // Payment term print ''; - print $form->getSelectConditionsPaiements($search_payment_term, 'search_payment_term', -1, 1, 1, 'maxwidth100'); + print $form->getSelectConditionsPaiements((int) $search_payment_term, 'search_payment_term', -1, 1, 1, 'maxwidth100'); print ""; } if (!empty($arrayfields['f.fk_mode_reglement']['checked'])) { diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 883dfa9955f0b..da53f54dd3089 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -15,7 +15,7 @@ * Copyright (C) 2019-2024 Alexandre Spangaro * Copyright (C) 2023 Nick Fragoulis * Copyright (C) 2023 Joachim Kueter - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -95,7 +95,7 @@ $search_multicurrency_montant_ttc = GETPOST('search_multicurrency_montant_ttc', 'alpha'); $search_status = GETPOST('search_status', 'intcomma'); // Can be '' or a numeric $search_paymentmode = GETPOST('search_paymentmode', 'intcomma'); -$search_paymentcond = GETPOST('search_paymentcond', 'intcomma'); +$search_paymentcond = GETPOST('search_paymentcond') ? GETPOSTINT('search_paymentcond') : ''; $search_town = GETPOST('search_town', 'alpha'); $search_zip = GETPOST('search_zip', 'alpha'); $search_state = GETPOST("search_state"); @@ -179,42 +179,42 @@ $checkedtypetiers = 0; $arrayfields = array( - 'f.ref' => array('label' => "Ref", 'checked' => 1, 'position' => 5), - 'f.ref_supplier' => array('label' => "RefSupplier", 'checked' => 1, 'position' => 7), - 'f.type' => array('label' => "Type", 'checked' => 0, 'position' => 15), - 'f.subtype' => array('label' => "InvoiceSubtype", 'checked' => 0, 'position' => 17), - 'f.label' => array('label' => "Label", 'checked' => 0, 'position' => 20), - 'f.datef' => array('label' => "DateInvoice", 'checked' => 1, 'position' => 25), - 'f.date_lim_reglement' => array('label' => "DateDue", 'checked' => 1, 'position' => 27), - 'p.ref' => array('label' => "ProjectRef", 'checked' => 0, 'position' => 30), - 's.nom' => array('label' => "ThirdParty", 'checked' => 1, 'position' => 41), - 's.name_alias' => array('label' => "AliasNameShort", 'checked' => 0, 'position' => 42), - 's.town' => array('label' => "Town", 'checked' => -1, 'position' => 43), - 's.zip' => array('label' => "Zip", 'checked' => -1, 'position' => 44), - 'state.nom' => array('label' => "StateShort", 'checked' => 0, 'position' => 45), - 'country.code_iso' => array('label' => "Country", 'checked' => 0, 'position' => 46), + 'f.ref' => array('label' => "Ref", 'checked' => '1', 'position' => 5), + 'f.ref_supplier' => array('label' => "RefSupplier", 'checked' => '1', 'position' => 7), + 'f.type' => array('label' => "Type", 'checked' => '0', 'position' => 15), + 'f.subtype' => array('label' => "InvoiceSubtype", 'checked' => '0', 'position' => 17), + 'f.label' => array('label' => "Label", 'checked' => '0', 'position' => 20), + 'f.datef' => array('label' => "DateInvoice", 'checked' => '1', 'position' => 25), + 'f.date_lim_reglement' => array('label' => "DateDue", 'checked' => '1', 'position' => 27), + 'p.ref' => array('label' => "ProjectRef", 'checked' => '0', 'position' => 30), + 's.nom' => array('label' => "ThirdParty", 'checked' => '1', 'position' => 41), + 's.name_alias' => array('label' => "AliasNameShort", 'checked' => '0', 'position' => 42), + 's.town' => array('label' => "Town", 'checked' => '-1', 'position' => 43), + 's.zip' => array('label' => "Zip", 'checked' => '-1', 'position' => 44), + 'state.nom' => array('label' => "StateShort", 'checked' => '0', 'position' => 45), + 'country.code_iso' => array('label' => "Country", 'checked' => '0', 'position' => 46), 'typent.code' => array('label' => "ThirdPartyType", 'checked' => $checkedtypetiers, 'position' => 49), - 'f.fk_mode_reglement' => array('label' => "PaymentMode", 'checked' => 1, 'position' => 52), - 'f.fk_cond_reglement' => array('label' => "PaymentConditionsShort", 'checked' => 1, 'position' => 50), - 'f.total_ht' => array('label' => "AmountHT", 'checked' => 1, 'position' => 105), - 'f.total_vat' => array('label' => "AmountVAT", 'checked' => 0, 'position' => 110), - 'f.total_localtax1' => array('label' => $langs->transcountry("AmountLT1", $mysoc->country_code), 'checked' => 0, 'enabled' => $mysoc->localtax1_assuj == "1", 'position' => 95), - 'f.total_localtax2' => array('label' => $langs->transcountry("AmountLT2", $mysoc->country_code), 'checked' => 0, 'enabled' => $mysoc->localtax2_assuj == "1", 'position' => 100), - 'f.total_ttc' => array('label' => "AmountTTC", 'checked' => 1, 'position' => 115), - 'dynamount_payed' => array('label' => "Paid", 'checked' => 0, 'position' => 116), - 'rtp' => array('label' => "Rest", 'checked' => 0, 'position' => 117), - 'f.multicurrency_code' => array('label' => 'Currency', 'checked' => 0, 'position' => 205, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), - 'f.multicurrency_tx' => array('label' => 'CurrencyRate', 'checked' => 0, 'position' => 206, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), - 'f.multicurrency_total_ht' => array('label' => 'MulticurrencyAmountHT', 'position' => 207, 'checked' => 0, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), - 'f.multicurrency_total_vat' => array('label' => 'MulticurrencyAmountVAT', 'position' => 208, 'checked' => 0, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), - 'f.multicurrency_total_ttc' => array('label' => 'MulticurrencyAmountTTC', 'position' => 209, 'checked' => 0, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), - 'multicurrency_dynamount_payed' => array('label' => 'MulticurrencyAlreadyPaid', 'position' => 210, 'checked' => 0, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), - 'multicurrency_rtp' => array('label' => 'MulticurrencyRemainderToPay', 'checked' => 0, 'position' => 211, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), // Not enabled by default because slow - 'u.login' => array('label' => "Author", 'checked' => -1, 'position' => 500), - 'f.datec' => array('label' => "DateCreation", 'checked' => 0, 'position' => 501), - 'f.tms' => array('label' => "DateModificationShort", 'checked' => 0, 'position' => 502), - 'f.nb_docs' => array('label' => "Documents", 'checked' => -1, 'position' => 510), - 'f.fk_statut' => array('label' => "Status", 'checked' => 1, 'position' => 1000), + 'f.fk_mode_reglement' => array('label' => "PaymentMode", 'checked' => '1', 'position' => 52), + 'f.fk_cond_reglement' => array('label' => "PaymentConditionsShort", 'checked' => '1', 'position' => 50), + 'f.total_ht' => array('label' => "AmountHT", 'checked' => '1', 'position' => 105), + 'f.total_vat' => array('label' => "AmountVAT", 'checked' => '0', 'position' => 110), + 'f.total_localtax1' => array('label' => $langs->transcountry("AmountLT1", $mysoc->country_code), 'checked' => '0', 'enabled' => $mysoc->localtax1_assuj == "1", 'position' => 95), + 'f.total_localtax2' => array('label' => $langs->transcountry("AmountLT2", $mysoc->country_code), 'checked' => '0', 'enabled' => $mysoc->localtax2_assuj == "1", 'position' => 100), + 'f.total_ttc' => array('label' => "AmountTTC", 'checked' => '1', 'position' => 115), + 'dynamount_payed' => array('label' => "Paid", 'checked' => '0', 'position' => 116), + 'rtp' => array('label' => "Rest", 'checked' => '0', 'position' => 117), + 'f.multicurrency_code' => array('label' => 'Currency', 'checked' => '0', 'position' => 205, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), + 'f.multicurrency_tx' => array('label' => 'CurrencyRate', 'checked' => '0', 'position' => 206, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), + 'f.multicurrency_total_ht' => array('label' => 'MulticurrencyAmountHT', 'position' => 207, 'checked' => '0', 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), + 'f.multicurrency_total_vat' => array('label' => 'MulticurrencyAmountVAT', 'position' => 208, 'checked' => '0', 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), + 'f.multicurrency_total_ttc' => array('label' => 'MulticurrencyAmountTTC', 'position' => 209, 'checked' => '0', 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), + 'multicurrency_dynamount_payed' => array('label' => 'MulticurrencyAlreadyPaid', 'position' => 210, 'checked' => '0', 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), + 'multicurrency_rtp' => array('label' => 'MulticurrencyRemainderToPay', 'checked' => '0', 'position' => 211, 'enabled' => (!isModEnabled("multicurrency") ? 0 : 1)), // Not enabled by default because slow + 'u.login' => array('label' => "Author", 'checked' => '-1', 'position' => 500), + 'f.datec' => array('label' => "DateCreation", 'checked' => '0', 'position' => 501), + 'f.tms' => array('label' => "DateModificationShort", 'checked' => '0', 'position' => 502), + 'f.nb_docs' => array('label' => "Documents", 'checked' => '-1', 'position' => 510), + 'f.fk_statut' => array('label' => "Status", 'checked' => '1', 'position' => 1000), ); // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; @@ -226,7 +226,7 @@ $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); -'@phan-var-force array,position?:int,help?:string}> $arrayfields'; // dol_sort_array looses type for Phan +'@phan-var-force array $arrayfields'; // dol_sort_array looses type for Phan if (!isModEnabled('supplier_invoice')) { accessforbidden(); @@ -384,6 +384,7 @@ $rsql .= " AND pfd.traite = 0"; $rsql .= " ORDER BY pfd.date_demande DESC"; + $numprlv = 0; $result_sql = $db->query($rsql); if ($result_sql) { $numprlv = $db->num_rows($result_sql); @@ -439,6 +440,7 @@ $subtypearray = $object->getArrayOfInvoiceSubtypes(0); $now = dol_now(); +$soc = null; if ($socid > 0) { $soc = new Societe($db); $soc->fetch($socid); @@ -447,7 +449,7 @@ } } -$title = $langs->trans("BillsSuppliers").($socid ? ' - '.$soc->name : ''); +$title = $langs->trans("BillsSuppliers").($socid && ($soc !== null) ? ' - '.$soc->name : ''); $help_url = 'EN:Suppliers_Invoices|FR:FactureFournisseur|ES:Facturas_de_proveedores'; // Build and execute select @@ -1064,7 +1066,7 @@ if ($user->hasRight("user", "user", "lire")) { $moreforfilter .= '
'; $tmptitle = $langs->trans('LinkedToSpecificUsers'); - $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$form->select_dolusers($search_user, 'search_user', $tmptitle, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth200'); + $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$form->select_dolusers($search_user, 'search_user', $tmptitle, null, 0, '', '', '', 0, 0, '', 0, '', 'maxwidth200'); $moreforfilter .= '
'; } // If the user can view prospects other than his' @@ -1072,8 +1074,8 @@ include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $moreforfilter .= '
'; $tmptitle = $langs->trans('IncludingProductWithTag'); - $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1); - $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"').$form->selectarray('search_product_category', $cate_arbo, $search_product_category, $tmptitle, 0, 0, '', 0, 0, 0, 0, 'maxwidth300 widthcentpercentminusx', 1); + $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, '', 'parent', 0, 0, 1); + $moreforfilter .= img_picto($tmptitle, 'category', 'class="pictofixedwidth"').$form->selectarray('search_product_category', $cate_arbo, $search_product_category, $tmptitle, 0, 0, '', 0, 0, 0, '', 'maxwidth300 widthcentpercentminusx', 1); $moreforfilter .= '
'; } @@ -1185,7 +1187,7 @@ } // Thirpdarty if (!empty($arrayfields['s.nom']['checked'])) { - print ' 0 ? " disabled" : "").'>'; + print ' 0 ? " disabled" : "").'>'; } // Alias if (!empty($arrayfields['s.name_alias']['checked'])) { @@ -1208,7 +1210,7 @@ // Country if (!empty($arrayfields['country.code_iso']['checked'])) { print ''; - print $form->select_country($search_country, 'search_country', '', 0, 'minwidth150imp maxwidth150', 'code2', 1, 0, 1, null, 1); + print $form->select_country($search_country, 'search_country', '', 0, 'minwidth150imp maxwidth150', 'code2', 1, 0, 1, array(), 1); print ''; } // Company type @@ -1619,10 +1621,10 @@ $multicurrency_remaintopay = 0; } if ($facturestatic->type == FactureFournisseur::TYPE_CREDIT_NOTE && $obj->paye == 1) { // If credit note closed, we take into account the amount not yet consumed - $remaincreditnote = $discount->getAvailableDiscounts($thirdparty, '', 'rc.fk_facture_source='.$facturestatic->id); + $remaincreditnote = $discount->getAvailableDiscounts($thirdparty, null, 'rc.fk_facture_source='.$facturestatic->id); $remaintopay = -$remaincreditnote; $totalpay = price2num($facturestatic->total_ttc - $remaintopay); - $multicurrency_remaincreditnote = $discount->getAvailableDiscounts($thirdparty, '', 'rc.fk_facture_source='.$facturestatic->id, 0, 0, 1); + $multicurrency_remaincreditnote = $discount->getAvailableDiscounts($thirdparty, null, 'rc.fk_facture_source='.$facturestatic->id, 0, 0, 1); $multicurrency_remaintopay = -$multicurrency_remaincreditnote; $multicurrency_totalpay = price2num($facturestatic->multicurrency_total_ttc - $multicurrency_remaintopay); } @@ -2126,7 +2128,7 @@ $delallowed = $permissiontoadd; $title = ''; - print $formfile->showdocuments('massfilesarea_supplier_invoice', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); + print $formfile->showdocuments('massfilesarea_supplier_invoice', '', $filedir, $urlsource, 0, (int) $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); } // End of page diff --git a/htdocs/fourn/facture/messaging.php b/htdocs/fourn/facture/messaging.php index a860423e10c7d..c623bac5a5463 100644 --- a/htdocs/fourn/facture/messaging.php +++ b/htdocs/fourn/facture/messaging.php @@ -1,6 +1,6 @@ - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -169,7 +169,7 @@ $morehtmlref = '
'; // Ref customer - $morehtmlref .= $form->editfieldkey("RefSupplierBill", 'ref_supplier', $object->ref_supplier, $object, $usercancreate, 'string', '', 0, 1); + $morehtmlref .= $form->editfieldkey("RefSupplierBill", 'ref_supplier', $object->ref_supplier, $object, (int) $usercancreate, 'string', '', 0, 1); $morehtmlref .= $form->editfieldval("RefSupplierBill", 'ref_supplier', $object->ref_supplier, $object, $usercancreate, 'string', '', null, null, '', 1); // Thirdparty $morehtmlref .= '
'.$object->thirdparty->getNomUrl(1, 'supplier'); @@ -185,7 +185,7 @@ if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); diff --git a/htdocs/fourn/facture/note-rec.php b/htdocs/fourn/facture/note-rec.php index 12e4782886d80..8332324f9f566 100644 --- a/htdocs/fourn/facture/note-rec.php +++ b/htdocs/fourn/facture/note-rec.php @@ -157,7 +157,7 @@ if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); @@ -183,7 +183,7 @@ $dateexample = dol_now(); if (!empty($object->frequency) && !empty($object->date_when)) { - $dateexample = $object->date_when; + $dateexample = (int) $object->date_when; } $substitutionarray = getCommonSubstitutionArray($langs, 2, null, $object); diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index 001797dc5a66f..979d08f08f56e 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -5,6 +5,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2021-2024 Frédéric France + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -130,7 +131,7 @@ if ($action != 'classify') { $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' '; } - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); + $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, (!getDolGlobalString('PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS') ? $object->socid : -1), (string) $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300'); } else { if (!empty($object->fk_project)) { $proj = new Project($db); diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 8c52413f4a5d1..9b44a560d9f5e 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -13,7 +13,7 @@ * Copyright (C) 2021 Charlene Benke * Copyright (C) 2022 Udo Tamm * Copyright (C) 2023 Sylvain Legrand - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -171,7 +171,7 @@ $i = 0; foreach ($_POST as $key => $value) { if (substr($key, 0, 7) == 'amount_') { - $cursorfacid = substr($key, 7); + $cursorfacid = (int) substr($key, 7); $amounts[$cursorfacid] = price2num(GETPOST($key)); if (!empty($amounts[$cursorfacid])) { $atleastonepaymentnotnull++; @@ -202,7 +202,7 @@ $formquestion[$i++] = array('type' => 'hidden', 'name' => $key, 'value' => GETPOST($key)); } elseif (substr($key, 0, 21) == 'multicurrency_amount_') { - $cursorfacid = substr($key, 21); + $cursorfacid = (int) substr($key, 21); $multicurrency_amounts[$cursorfacid] = (GETPOST($key) ? price2num(GETPOST($key)) : 0); $multicurrency_totalpayment += $multicurrency_amounts[$cursorfacid]; if (!empty($multicurrency_amounts[$cursorfacid])) { diff --git a/htdocs/fourn/paiement/card.php b/htdocs/fourn/paiement/card.php index f2ba0fe9c18a9..f02479e7e9b26 100644 --- a/htdocs/fourn/paiement/card.php +++ b/htdocs/fourn/paiement/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2006-2010 Laurent Destailleur * Copyright (C) 2014 Marcos García - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -208,7 +208,7 @@ print '';*/ // Date of payment - print ''.$form->editfieldkey("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer"))).''; + print ''.$form->editfieldkey("Date", 'datep', $object->date, $object, (int) ($object->statut == 0 && ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer")))).''; print ''; print $form->editfieldval("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer")), 'datehourpicker', '', null, $langs->trans('PaymentDateUpdateSucceeded')); print ''; @@ -239,6 +239,7 @@ } $allow_delete = 1; + $title_button = ''; // Bank account if (isModEnabled("bank")) { if ($object->fk_account) { @@ -268,7 +269,7 @@ } // Note - print ''.$form->editfieldkey("Comments", 'note', $object->note_private, $object, ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer"))).''; + print ''.$form->editfieldkey("Comments", 'note', $object->note_private, $object, (int) ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer"))).''; print ''; print $form->editfieldval("Note", 'note', $object->note_private, $object, ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer")), 'textarea'); print ''; @@ -409,7 +410,7 @@ $delallowed = ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer")); $modelpdf = (!empty($object->model_pdf) ? $object->model_pdf : (!getDolGlobalString('SUPPLIER_PAYMENT_ADDON_PDF') ? '' : $conf->global->SUPPLIER_PAYMENT_ADDON_PDF)); - print $formfile->showdocuments('supplier_payment', $ref, $filedir, $urlsource, $genallowed, $delallowed, $modelpdf, 1, 0, 0, 40, 0, '', '', '', $object->thirdparty->default_lang); + print $formfile->showdocuments('supplier_payment', $ref, $filedir, $urlsource, (int) $genallowed, (int) $delallowed, $modelpdf, 1, 0, 0, 40, 0, '', '', '', $object->thirdparty->default_lang); $somethingshown = $formfile->numoffiles; } diff --git a/htdocs/fourn/paiement/document.php b/htdocs/fourn/paiement/document.php index ef68272e1c818..e0e51f8990eda 100644 --- a/htdocs/fourn/paiement/document.php +++ b/htdocs/fourn/paiement/document.php @@ -8,6 +8,7 @@ * Copyright (C) 2017 Ferran Marcet * Copyright (C) 2021 Jesus Jerez * Copyright (C) 2024 Frédéric France + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -107,7 +108,7 @@ * View */ -$form = new Form($db); +$form = new Form($db); $title = $langs->trans('Payment')." - ".$langs->trans('Documents'); llxHeader('', $title); @@ -122,7 +123,7 @@ $morehtmlref = '
'; // Date of payment - $morehtmlref .= $form->editfieldkey("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer")), 'datehourpicker', '', null, 3).': '; + $morehtmlref .= $form->editfieldkey("Date", 'datep', $object->date, $object, (int) ($object->statut == 0 && ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer"))), 'datehourpicker', '', 0, 3).': '; $morehtmlref .= $form->editfieldval("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->hasRight("fournisseur", "facture", "creer") || $user->hasRight("supplier_invoice", "creer")), 'datehourpicker', '', null, $langs->trans('PaymentDateUpdateSucceeded')); // Payment mode diff --git a/htdocs/fourn/paiement/list.php b/htdocs/fourn/paiement/list.php index b07b9a45add33..84cbf54fa2507 100644 --- a/htdocs/fourn/paiement/list.php +++ b/htdocs/fourn/paiement/list.php @@ -12,7 +12,7 @@ * Copyright (C) 2018-2024 Frédéric France * Copyright (C) 2020 Tobias Sekan * Copyright (C) 2021 Ferran Marcet - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,7 +30,7 @@ /** * \file htdocs/fourn/paiement/list.php -* \ingroup fournisseur,facture + * \ingroup fournisseur,facture * \brief Payment list for supplier invoices */ @@ -107,16 +107,16 @@ ); $arrayfields = array( - 'p.ref' => array('label' => "RefPayment", 'checked' => 1, 'position' => 10), - 'p.datep' => array('label' => "Date", 'checked' => 1, 'position' => 20), - 's.nom' => array('label' => "ThirdParty", 'checked' => 1, 'position' => 30), - 'c.libelle' => array('label' => "Type", 'checked' => 1, 'position' => 40), - 'p.num_paiement' => array('label' => "Numero", 'checked' => 1, 'position' => 50, 'tooltip' => "ChequeOrTransferNumber"), - 'ba.label' => array('label' => "BankAccount", 'checked' => 1, 'position' => 60, 'enable' => (isModEnabled("bank"))), - 'p.amount' => array('label' => "Amount", 'checked' => 1, 'position' => 70), + 'p.ref' => array('label' => "RefPayment", 'checked' => '1', 'position' => 10), + 'p.datep' => array('label' => "Date", 'checked' => '1', 'position' => 20), + 's.nom' => array('label' => "ThirdParty", 'checked' => '1', 'position' => 30), + 'c.libelle' => array('label' => "Type", 'checked' => '1', 'position' => 40), + 'p.num_paiement' => array('label' => "Numero", 'checked' => '1', 'position' => 50, 'tooltip' => "ChequeOrTransferNumber"), + 'ba.label' => array('label' => "BankAccount", 'checked' => '1', 'position' => 60, 'enable' => (isModEnabled("bank"))), + 'p.amount' => array('label' => "Amount", 'checked' => '1', 'position' => 70), ); $arrayfields = dol_sort_array($arrayfields, 'position'); -'@phan-var-force array,position?:int,help?:string}> $arrayfields'; // dol_sort_array looses type for Phan +'@phan-var-force array $arrayfields'; // dol_sort_array looses type for Phan // Initialize a technical object to manage hooks of page. Note that conf->hooks_modules contains an array of hook context $hookmanager->initHooks(array('paymentsupplierlist')); diff --git a/htdocs/recruitment/recruitmentcandidature_card.php b/htdocs/recruitment/recruitmentcandidature_card.php index b47557d5f456e..e71616a8879b6 100644 --- a/htdocs/recruitment/recruitmentcandidature_card.php +++ b/htdocs/recruitment/recruitmentcandidature_card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -419,7 +419,7 @@ if ($action == 'close') { $langs->load("propal"); - + $formquestion = array(); //Form to close proposal (signed or not) $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ConfirmClose'), $langs->trans('ConfirmCloseAsk'), 'confirm_close', $formquestion, '', 1, 250); } diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 0508e7ac72355..4d35651b3b211 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -3009,15 +3009,15 @@ public function getTooltipContentArray($params) /** * Return a link on thirdparty (with picto) * - * @param int $withpicto Add picto into link (0=No picto, 1=Include picto with link, 2=Picto only) - * @param string $option Target of link (''=auto, 'nolink'=no link, 'customer', 'prospect', 'supplier', 'project', 'agenda', ...) - * @param int $maxlen Max length of name - * @param int $notooltip 1=Disable tooltip - * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking - * @param int $noaliasinname 1=Do not add alias into the link ref - * @param string $target add attribute target - * @param string $morecss More CSS - * @return string String with URL + * @param int<0,2> $withpicto Add picto into link (0=No picto, 1=Include picto with link, 2=Picto only) + * @param string $option Target of link (''=auto, 'nolink'=no link, 'customer', 'prospect', 'supplier', 'project', 'agenda', ...) + * @param int<0,max> $maxlen Max length of name + * @param int<0,1> $notooltip 1=Disable tooltip + * @param int<-1,1> $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking + * @param int<0,1> $noaliasinname 1=Do not add alias into the link ref + * @param string $target add attribute target + * @param string $morecss More CSS + * @return string String with URL */ public function getNomUrl($withpicto = 0, $option = '', $maxlen = 0, $notooltip = 0, $save_lastsearch_value = -1, $noaliasinname = 0, $target = '', $morecss = '') { @@ -5443,7 +5443,6 @@ public function getKanbanView($option = '', $arraydata = array()) * @param string $code Filter on this code of contact type ('SHIPPING', 'BILLING', ...) * @param string $element Filter on this element of default contact type ('facture', 'propal', 'commande' ...) * @return array|int Array of contacts, -1 if error - * */ public function getContacts($list = 0, $code = '', $element = '') { diff --git a/htdocs/ticket/card.php b/htdocs/ticket/card.php index ec400e313ed93..84d5297f4c0e1 100644 --- a/htdocs/ticket/card.php +++ b/htdocs/ticket/card.php @@ -6,7 +6,7 @@ * Copyright (C) 2021 Alexandre Spangaro * Copyright (C) 2022-2023 Charlene Benke * Copyright (C) 2023 Benjamin Falière - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * Copyright (C) 2024 Irvine FLEITH * * This program is free software; you can redistribute it and/or modify @@ -787,7 +787,7 @@ } // Default select all or no contact - $default = (getDolGlobalString('TICKET_NOTIFY_AT_CLOSING') ? -2 : -3); + $default = (getDolGlobalString('TICKET_NOTIFY_AT_CLOSING') ? '-2' : '-3'); $formquestion = array( array( 'name' => 'contactid', @@ -987,7 +987,7 @@ } $morehtmlref .= $form->form_thirdparty($url_page_current.'?track_id='.$object->track_id, $object->socid, $action == 'editcustomer' ? 'editcustomer' : 'none', '', 1, 0, 0, array(), 1); if (!empty($object->socid)) { - $morehtmlref .= ' - '.img_picto($langs->trans("Tickets"), 'ticket', 'class="pictofixedwidth"').' '.$langs->trans("TicketHistory").''; + $morehtmlref .= ' - '.img_picto($langs->trans("Tickets"), 'ticket', 'class="pictofixedwidth"').' '.$langs->trans("TicketHistory").''; } } diff --git a/htdocs/website/class/website.class.php b/htdocs/website/class/website.class.php index d1efc20b1ea0c..ae56eae9af46b 100644 --- a/htdocs/website/class/website.class.php +++ b/htdocs/website/class/website.class.php @@ -1173,7 +1173,7 @@ public function exportWebSite() $line .= "'".$this->db->escape($objectpageold->status)."', "; $line .= "'".$this->db->idate($objectpageold->date_creation)."', "; $line .= "'".$this->db->idate($objectpageold->date_modification)."', "; - $line .= ($objectpageold->import_key ? "'".$this->db->escape($objectpageold->import_key)."'" : "null").", "; + $line .= ($objectpageold->import_key ? "'".$this->db->escape((string) $objectpageold->import_key)."'" : "null").", "; $line .= "'".$this->db->escape($objectpageold->grabbed_from)."', "; $line .= "'".$this->db->escape($objectpageold->type_container)."', "; diff --git a/htdocs/website/class/websitepage.class.php b/htdocs/website/class/websitepage.class.php index 59c5afa6c8d8a..b2ce563d33aa4 100644 --- a/htdocs/website/class/websitepage.class.php +++ b/htdocs/website/class/websitepage.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2020 Nicolas ZABOURI * Copyright (C) 2024 Frédéric France - * Copyright (C) 2024 MDW + * Copyright (C) 2024-2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -163,7 +163,7 @@ class WebsitePage extends CommonObject public $fk_object; /** - * @var int Another ID that is the $id but with an offset so that ID of pages of the website start at 1 + * @var int Another ID that is the but with an offset so that ID of pages of the website start at 1 */ public $newid; @@ -661,7 +661,7 @@ public function update(User $user, $notrigger = 0) return -1; } $tmppage = new WebsitePage($this->db); - $tmppage->fetch($this->fk_page); + $tmppage->fetch((int) $this->fk_page); if ($tmppage->lang == $this->lang) { $this->error = "ErrorLanguageOfTranslatedPageIsSameThanThisPage"; return -1; diff --git a/htdocs/workstation/workstation_card.php b/htdocs/workstation/workstation_card.php index 15e4f76a03420..c93b540984e75 100644 --- a/htdocs/workstation/workstation_card.php +++ b/htdocs/workstation/workstation_card.php @@ -2,6 +2,7 @@ /* Copyright (C) 2017 Laurent Destailleur * Copyright (C) 2024 Frédéric France + * Copyright (C) 2025 MDW * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -327,10 +328,10 @@ if ($action == 'delete' || ($conf->use_javascript_ajax && empty($conf->dol_use_jmobile))) { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteWorkstation'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 'action-delete'); } + $formquestion = array(); // Clone confirmation if ($action == 'clone') { // Create an array for form - $formquestion = array(); $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); }