diff --git a/src/module/phpstan/phpstan.bootstrap.php b/src/module/phpstan/phpstan.bootstrap.php index cb7d644..448b06d 100644 --- a/src/module/phpstan/phpstan.bootstrap.php +++ b/src/module/phpstan/phpstan.bootstrap.php @@ -49,3 +49,13 @@ define('DC_VAR', ''); define('DC_VENDOR_NAME', ''); define('DC_VERSION', ''); define('DC_XMLRPC_URL', ''); +define('DC_ADBLOCKER_CHECK', true); +define('DC_AKISMET_SUPER', true); +define('DC_ANTISPAM_CONF_SUPER', true); +define('DC_BACKUP_PATH', ''); +define('DC_CSP_LOGFILE', ''); +define('DC_DEV', true); +define('DC_DNSBL_SUPER', ''); +define('DC_ERRORFILE', ''); +define('DC_FORCE_SCHEME_443', false); +define('DC_REVERSE_PROXY', false); diff --git a/src/module/phpstan/phpstan.rules.conf b/src/module/phpstan/phpstan.rules.conf index a45cf6e..3ea1bc8 100644 --- a/src/module/phpstan/phpstan.rules.conf +++ b/src/module/phpstan/phpstan.rules.conf @@ -20,105 +20,191 @@ parameters: - php - in + dynamicConstantNames: + - DC_ADBLOCKER_CHECK + - DC_ADMIN_SSL + - DC_ADMIN_URL + - DC_AKISMET_SUPER + - DC_ALLOW_MULTI_MODULES + - DC_ALLOW_REPOSITORIES + - DC_ANTISPAM_CONF_SUPER + - DC_BACKUP_PATH + - DC_CRYPT_ALGO + - DC_CSP_LOGFILE + - DC_DBDRIVER + - DC_DBHOST + - DC_DBNAME + - DC_DBPASSWORD + - DC_DBPREFIX + - DC_DBUSER + - DC_DEBUG + - DC_DEFAULT_JQUERY + - DC_DEFAULT_THEME + - DC_DEFAULT_TPLSET + - DC_DEV + - DC_DIGESTS + - DC_DISTRIB_PLUGINS + - DC_DISTRIB_THEMES + - DC_DNSBL_SUPER + - DC_ERRORFILE + - DC_FAIRTRACKBACKS_FORCE + - DC_FORCE_SCHEME_443 + - DC_L10N_ROOT + - DC_L10N_UPDATE_URL + - DC_MASTER_KEY + - DC_MAX_UPLOAD_SIZE + - DC_NEXT_REQUIRED_PHP + - DC_NOT_UPDATE + - DC_PLUGINS_ROOT + - DC_QUERY_TIMEOUT + - DC_RC_PATH + - DC_REVERSE_PROXY + - DC_ROOT + - DC_SESSION_NAME + - DC_SESSION_TTL + - DC_STORE_NOT_UPDATE + - DC_TPL_CACHE + - DC_UPDATE_URL + - DC_UPDATE_VERSION + - DC_VAR + - DC_VENDOR_NAME + - DC_VERSION + - DC_XMLRPC_URL + checkMissingIterableValueType: false checkGenericClassInNonGenericObjectType: false reportUnmatchedIgnoredErrors: false ignoreErrors: - # $core variable may not be defined (globally) - - message: '#Variable \$core might not be defined#' - path: * - - # $_lang variable may not be defined (globally) - - message: '#Variable \$_lang might not be defined#' - path: * - - # $p_url variable may not be defined (plugins) - - message: '#Variable \$p_url might not be defined#' - path: *.php - - # $__widgets variable not may be defined (plugins) - - message: '#Variable \$__widgets might not be defined#' - path: *.php - - # $__default_widgets variable may not be defined (plugins) - - message: '#Variable \$__default_widgets might not be defined#' - path: *.php - # $this variable may not be defined (plugins/themes) - message: '#Variable \$this might not be defined#' - paths: - - */_define.php - - */_install.php - - */_uninstall.php + path: */*/_define.php - # $list variable may not be defined (plugins/themes) - - message: '#Variable \$list might not be defined#' - paths: - - */_config.php - - */index.php + # dcAdmin object and auto properties + - message: '#Access to an undefined property dcAdmin::#' + path: %currentWorkingDirectory% - # $_menu variable may not be defined (plugins/themes) - - message: '#Variable \$_menu might not be defined#' - path: */_admin.php + # dcNamespace object and auto properties + - message: '#Access to an undefined property dcNamespace::#' + path: %currentWorkingDirectory% + + # context object and auto properties + - message: '#Access to an undefined property context::#' + path: %currentWorkingDirectory% # record object and auto properties - message: '#Access to an undefined property record::#' - path: * + path: %currentWorkingDirectory% # dcWidgets object and auto properties - message: '#Access to an undefined property dcWidgets::#' - path: * + path: %currentWorkingDirectory% + + # dcWidgets object methods + - message: '#Call to an undefined method dcWidgets::#' + path: %currentWorkingDirectory% + + # dcWidget object and auto properties + - message: '#Access to an undefined property dcWidget::#' + path: %currentWorkingDirectory% + + # dcWidget object methods + - message: '#Call to an undefined method dcWidget::#' + path: %currentWorkingDirectory% # xmlTag object and auto properties - message : '#Access to an undefined property xmlTag::#' - path: * + path: %currentWorkingDirectory% # xmlTag object methods - message : '#Call to an undefined method xmlTag::#' - path: * + path: %currentWorkingDirectory% # dcSettings object and auto properties - message : '#Access to an undefined property dcSettings::#' - path: * + path: %currentWorkingDirectory% # dcPrefs object and auto properties - message : '#Access to an undefined property dcPrefs::#' - path: * + path: %currentWorkingDirectory% # dbStruct object and auto properties - message : '#Access to an undefined property dbStruct::#' - path: * + path: %currentWorkingDirectory% # fileItem object and auto properties - message : '#Access to an undefined property fileItem::#' - path: * + path: %currentWorkingDirectory% # cursor object and auto properties - message : '#Access to an undefined property cursor::#' - path: * + path: %currentWorkingDirectory% - # static record extensions - - message: '#Call to an undefined method record::#' - path: * + # dcRecord object and auto properties + - message: '#Access to an undefined property dcRecord::#' + path: %currentWorkingDirectory% + + # dcRecord object methods + - message: '#Call to an undefined method dcRecord::#' + path: %currentWorkingDirectory% # Intensive use of magic __set/__get/__call/__invoke causes theses wrong warnings - message: '#Call to an undefined method form[a-zA-Z0-9\\_]+::#' - path: * + path: %currentWorkingDirectory% # Intensive use of magic __set/__get/__call/__invoke causes theses wrong warnings - message: '#Access to an undefined property form[a-zA-Z0-9\\_]+::#' - path: * + path: %currentWorkingDirectory% # form<*>filters - message: '#Access to an undefined property admin[a-zA-Z0-9\\_]+Filter::\$[a-zA-Z0-9\\_]+.#' - path: * + path: %currentWorkingDirectory% # dcAdminfilters - message: '#Access to an undefined property dcAdminFilter::\$[a-zA-Z0-9\\_]+.#' - path: * + path: %currentWorkingDirectory% # adminMediaPage - message: '#Access to an undefined property adminMediaPage::\$[a-zA-Z0-9\\_]+.#' - path: * + path: %currentWorkingDirectory% + + # arrayObject/type + - message: '#ArrayObject\<\*NEVER\*, \*NEVER\*\> does not accept#' + path: %currentWorkingDirectory% + + # dcAdmin::$widgets user-defined properties + - message: '#Access to an undefined property dcCore::\$widgets.#' + path: %currentWorkingDirectory% + + # dcAdmin::$default_widgets user-defined properties + - message: '#Access to an undefined property dcCore::\$default_widgets.#' + path: %currentWorkingDirectory% + + # formXXX + - message: '#Access to an undefined property \$this\(form[a-zA-Z0-9\\_]+\)::#' + path: %currentWorkingDirectory% + + # 2.25+ + + # WidgetsStack object and auto properties + - message: '#Access to an undefined property Dotclear\\Plugin\\widgets\\WidgetsStack::#' + path: %currentWorkingDirectory% + + # WidgetsElement object and auto properties + - message: '#Access to an undefined property Dotclear\\Plugin\\widgets\\WidgetsElement::#' + path: %currentWorkingDirectory% + + # dcModuleDefine auto properties + - message: '#Access to an undefined property dcModuleDefine::#' + path: %currentWorkingDirectory% + + # 2.26+ + + # Intensive use of magic __set/__get/__call/__invoke causes theses wrong warnings + - message: '#Call to an undefined method Dotclear\\Helper\\Html\\Form\\[a-zA-Z0-9\\_]+::#' + path: %currentWorkingDirectory% + + # Intensive use of magic __set/__get/__call/__invoke causes theses wrong warnings + - message: '#Access to an undefined property Dotclear\\Helper\\Html\\Form\\[a-zA-Z0-9\\_]+::#' + path: %currentWorkingDirectory%