diff --git a/qodana.sarif.json b/qodana.sarif.json new file mode 100644 index 0000000..91b3c96 --- /dev/null +++ b/qodana.sarif.json @@ -0,0 +1,98492 @@ +{ + "$schema": "https://raw.githubusercontent.com/schemastore/schemastore/master/src/schemas/json/sarif-2.1.0-rtm.5.json", + "version": "2.1.0", + "runs": [ + { + "tool": { + "driver": { + "name": "QDPHP", + "fullName": "Qodana for PHP", + "version": "241.17570.152", + "rules": [], + "taxa": [ + { + "id": "PHP", + "name": "PHP" + }, + { + "id": "PHP/Code smell", + "name": "Code smell", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/PHPDoc", + "name": "PHPDoc", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Code style", + "name": "Code style", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Naming conventions", + "name": "Naming conventions", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Shell script", + "name": "Shell script" + }, + { + "id": "PHP/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript", + "name": "JavaScript and TypeScript" + }, + { + "id": "JavaScript and TypeScript/Unit testing", + "name": "Unit testing", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MySQL", + "name": "MySQL" + }, + { + "id": "PHP/PHPDoc/Code style", + "name": "Code style", + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Control flow", + "name": "Control flow", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Sass_SCSS", + "name": "Sass/SCSS" + }, + { + "id": "HTML", + "name": "HTML" + }, + { + "id": "JavaScript and TypeScript/Unused symbols", + "name": "Unused symbols", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Cucumber", + "name": "Cucumber" + }, + { + "id": "JavaScript and TypeScript/Flow type checker", + "name": "Flow type checker", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Data flow", + "name": "Data flow", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfig", + "name": "EditorConfig" + }, + { + "id": "PHP/PHPUnit", + "name": "PHPUnit", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCSS", + "name": "PostCSS" + }, + { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "name": "Bitwise operation issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Type compatibility", + "name": "Type compatibility", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "name": "ES2015 migration aids", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Undefined symbols", + "name": "Undefined symbols", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Symfony", + "name": "Symfony", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "General", + "name": "General" + }, + { + "id": "HTML/Accessibility", + "name": "Accessibility", + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/React", + "name": "React", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Validity issues", + "name": "Validity issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "name": "Potentially confusing code constructs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS", + "name": "CSS" + }, + { + "id": "CSS/Invalid elements", + "name": "Invalid elements", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SQL", + "name": "SQL" + }, + { + "id": "JavaScript and TypeScript/Try statement issues", + "name": "Try statement issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAML", + "name": "YAML" + }, + { + "id": "HTTP Client", + "name": "HTTP Client" + }, + { + "id": "PHP/Unused symbols", + "name": "Unused symbols", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Composer", + "name": "Composer", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Control flow issues", + "name": "Control flow issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XML", + "name": "XML" + }, + { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "name": "Potentially undesirable code constructs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS/Code style issues", + "name": "Code style issues", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Less", + "name": "Less" + }, + { + "id": "JavaScript and TypeScript/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Attributes", + "name": "Attributes", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XSLT", + "name": "XSLT" + }, + { + "id": "RegExp", + "name": "RegExp" + }, + { + "id": "JavaScript and TypeScript/Code style issues", + "name": "Code style issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Assignment issues", + "name": "Assignment issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Joomla!", + "name": "Joomla!" + }, + { + "id": "PHP/Refactoring opportunities", + "name": "Refactoring opportunities", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/TypeScript", + "name": "TypeScript", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Switch statement issues", + "name": "Switch statement issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/DOM issues", + "name": "DOM issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Async code and promises", + "name": "Async code and promises", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Code Coverage", + "name": "Code Coverage" + }, + { + "id": "Proofreading", + "name": "Proofreading" + }, + { + "id": "PHP/Behat", + "name": "Behat", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Imports and dependencies", + "name": "Imports and dependencies", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Ini files", + "name": "Ini files" + }, + { + "id": "PHP/Code style/PSR-12", + "name": "PSR-12", + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Psalm", + "name": "Psalm", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Naming conventions", + "name": "Naming conventions", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Taint analysis", + "name": "Taint analysis", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Code quality tools", + "name": "Code quality tools", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Blade files", + "name": "Blade files" + }, + { + "id": "PHP/PHP strict standards", + "name": "PHP strict standards", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Regular expressions", + "name": "Regular expressions", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Function metrics", + "name": "Function metrics", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PHP/Quality tools", + "name": "Quality tools", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Security", + "name": "Security" + }, + { + "id": "JSON and JSON5", + "name": "JSON and JSON5" + }, + { + "id": "PHP/Error handling", + "name": "Error handling", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XPath", + "name": "XPath" + }, + { + "id": "Oracle", + "name": "Oracle" + }, + { + "id": "Internationalization", + "name": "Internationalization" + }, + { + "id": "MongoJS", + "name": "MongoJS" + }, + { + "id": "Vue", + "name": "Vue" + }, + { + "id": "Version control", + "name": "Version control" + }, + { + "id": "Structural search", + "name": "Structural search" + }, + { + "id": "Dependency analysis", + "name": "Dependency analysis" + }, + { + "id": "JavaScript and TypeScript/Node.js", + "name": "Node.js", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 7, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RELAX NG", + "name": "RELAX NG" + }, + { + "id": "PHP/Replaceable assignments", + "name": "Replaceable assignments", + "relationships": [ + { + "target": { + "id": "PHP", + "index": 0, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostgreSQL", + "name": "PostgreSQL" + }, + { + "id": "SQL server", + "name": "SQL server" + }, + { + "id": "Qodana", + "name": "Qodana" + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + "extensions": [ + { + "name": "com.jetbrains.php", + "version": "241.17570", + "rules": [ + { + "id": "PhpLoopCanBeReplacedWithStrRepeatInspection", + "shortDescription": { + "text": "Loop can be replaced with 'str_repeat'" + }, + "fullDescription": { + "text": "Reports the 'for' loops that can be safely replaced with 'str_repeat()' calls.", + "markdown": "Reports the `for` loops that can be safely replaced with `str_repeat()` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopCanBeReplacedWithStrRepeatInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocDuplicateTypeInspection", + "shortDescription": { + "text": "Type already exists in PHPDoc tag" + }, + "fullDescription": { + "text": "Reports duplicate types in PHPDoc comments.", + "markdown": "Reports duplicate types in PHPDoc comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocDuplicateTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryCurlyVarSyntaxInspection", + "shortDescription": { + "text": "Unnecessary curly braces syntax for variable" + }, + "fullDescription": { + "text": "Reports unnecessary '{' and '}' used for interpolating variables in string literals. See Variable parsing (php.net) for details.", + "markdown": "Reports unnecessary `{` and `}` used for interpolating variables in string literals.\n\n\nSee [Variable parsing (php.net)](https://www.php.net/manual/en/language.types.string.php#language.types.string.parsing) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryCurlyVarSyntaxInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFunctionNamingConventionInspection", + "shortDescription": { + "text": "Function name is not following coding convention" + }, + "fullDescription": { + "text": "Reports the functions' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for functions. Use the inspection options to specify minimum/maximum length and the regular expression expected for functions' names. To ignore the names' length, specify 0. To learn more about regular expressions, refer to the Quick Start guide (regular-expressions.info).", + "markdown": "Reports the functions' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for functions.\n\n\nUse the inspection options to specify minimum/maximum length and the regular expression expected for functions' names.\nTo ignore the names' length, specify **0**.\n\n\nTo learn more about regular expressions, refer to the [Quick Start guide (regular-expressions.info)](https://www.regular-expressions.info/quickstart.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpFunctionNamingConventionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Naming conventions", + "index": 4, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayFillCanBeConvertedToLoopInspection", + "shortDescription": { + "text": "'array_fill' can be converted to loop" + }, + "fullDescription": { + "text": "Reports the 'array_fill()' calls that can be replaced with 'foreach' loops.", + "markdown": "Reports the `array_fill()` calls that can be replaced with `foreach` loops." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayFillCanBeConvertedToLoopInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIssetCanBeReplacedWithCoalesceInspection", + "shortDescription": { + "text": "'isset' can be replaced with coalesce" + }, + "fullDescription": { + "text": "Reports the conditions using 'isset' that can be safely replaced with expressions using the '??' null coalesce operator. See Null coalesce operator (php.net) for details.", + "markdown": "Reports the conditions using `isset` that can be safely replaced with expressions using the `??` null coalesce operator.\n\n\nSee [Null coalesce operator (php.net)](https://wiki.php.net/rfc/isset_ternary) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIssetCanBeReplacedWithCoalesceInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNestedTernaryExpressionUsageInspection", + "shortDescription": { + "text": "Nested ternary operator usage" + }, + "fullDescription": { + "text": "Reports nested ternary expressions, which are deprecated starting from PHP 7.4.", + "markdown": "Reports nested ternary expressions, which are deprecated starting from PHP 7.4." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpNestedTernaryExpressionUsageInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVoidFunctionResultUsedInspection", + "shortDescription": { + "text": "Invalid function result used" + }, + "fullDescription": { + "text": "Reports the usages of a 'void' or 'never' function's return value. Since 'void' functions do not have a return value and 'never' functions terminate execution or throw an exception, such usages are most likely a programming mistake.", + "markdown": "Reports the usages of a `void` or `never` function's return value.\n\n\nSince `void` functions do not have a return value and `never` functions terminate execution or throw an exception, such usages are most likely a programming mistake." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpVoidFunctionResultUsedInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConstantNamingConventionInspection", + "shortDescription": { + "text": "Constant name is not following coding convention" + }, + "fullDescription": { + "text": "Reports the constants' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for constants. Use the inspection options to specify minimum/maximum length and the regular expression expected for constants' names. To ignore the names' length, specify 0. To learn more about regular expressions, refer to the Quick Start guide (regular-expressions.info).", + "markdown": "Reports the constants' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for constants.\n\n\nUse the inspection options to specify minimum/maximum length and the regular expression expected for constants' names.\nTo ignore the names' length, specify **0**.\n\n\nTo learn more about regular expressions, refer to the [Quick Start guide (regular-expressions.info)](https://www.regular-expressions.info/quickstart.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpConstantNamingConventionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Naming conventions", + "index": 4, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTernaryExpressionCanBeReducedToShortVersionInspection", + "shortDescription": { + "text": "Ternary expression can be replaced with short version" + }, + "fullDescription": { + "text": "Reports the '?:' ternary expressions in which the condition and the 'true' statement are matching.", + "markdown": "Reports the `?:` ternary expressions in which the condition and the `true` statement are matching." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTernaryExpressionCanBeReducedToShortVersionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCatchWithInstanceOfCanBeReplacedWithSpecificCatchesInspection", + "shortDescription": { + "text": "'instanceof' checks in 'catch' block can be replaced with specific catches" + }, + "fullDescription": { + "text": "Reports the 'instanceof' checks in single 'catch' blocks that could be replaced with multiple 'catch' blocks specific for each exception instance.", + "markdown": "Reports the `instanceof` checks in single `catch` blocks that could be replaced with multiple `catch` blocks specific for each exception instance." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCatchWithInstanceOfCanBeReplacedWithSpecificCatchesInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDuplicateMatchArmBodyInspection", + "shortDescription": { + "text": "Duplicate arm in 'match' expression" + }, + "fullDescription": { + "text": "Reports duplicate bodies in 'match' arms. See Match expression (php.net) for details.", + "markdown": "Reports duplicate bodies in `match` arms.\n\n\nSee [Match expression (php.net)](https://wiki.php.net/rfc/match_expression_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpDuplicateMatchArmBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingDocCommentInspection", + "shortDescription": { + "text": "Missing PHPDoc comment" + }, + "fullDescription": { + "text": "Reports non-fully typed elements without a PHPDoc comment or with a PHPDoc comment only containing the '@noinspection' tag. You can use the Enforce PHPDoc Comment inspection to report fully typed elements.", + "markdown": "Reports non-fully typed elements without a PHPDoc comment or with a PHPDoc comment only containing the `@noinspection` tag.\n\nYou can use the *Enforce PHPDoc Comment* inspection to report fully typed elements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingDocCommentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc/Code style", + "index": 11, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpWriteAccessToReferencedArrayValueWithoutUnsetInspection", + "shortDescription": { + "text": "Write access to referenced array value without 'unset'" + }, + "fullDescription": { + "text": "Reports the write access expressions on variables that are still referencing the array value previously used in a 'foreach' statement. It is recommended to destroy such references by using 'unset'. See foreach (php.net) and unset (php.net) for details.", + "markdown": "Reports the write access expressions on variables that are still referencing the array value previously used in a `foreach` statement.\n\n\nIt is recommended to destroy such references by using `unset`.\n\n\nSee [foreach (php.net)](https://www.php.net/manual/en/control-structures.foreach.php) and [unset (php.net)](https://www.php.net/manual/en/function.unset.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpWriteAccessToReferencedArrayValueWithoutUnsetInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSameParameterValueInspection", + "shortDescription": { + "text": "Parameter's value is always the same" + }, + "fullDescription": { + "text": "Reports the parameters in private methods that have the same value across all method calls.", + "markdown": "Reports the parameters in private methods that have the same value across all method calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSameParameterValueInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitCoversFunctionWithoutScopeResolutionOperatorInspection", + "shortDescription": { + "text": "Covered function reference is provided without ‘::’" + }, + "fullDescription": { + "text": "Reports the references to functions/methods in the '@covers' PHPDoc tags that are not prepended with the scope resolution operator ('::').", + "markdown": "Reports the references to functions/methods in the `@covers` PHPDoc tags that are not prepended with the scope resolution operator (`::`)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitCoversFunctionWithoutScopeResolutionOperatorInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayAccessOnIllegalTypeInspection", + "shortDescription": { + "text": "Array offset access on illegal type" + }, + "fullDescription": { + "text": "Reports the array offset access expressions that are used on illegal types.", + "markdown": "Reports the array offset access expressions that are used on illegal types." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayAccessOnIllegalTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedGotoLabelInspection", + "shortDescription": { + "text": "Undefined goto label" + }, + "fullDescription": { + "text": "Reports the 'goto' labels that are not found in the current scope. The target 'goto' label must reside in the same file and context: you cannot jump into or out of a function or method, and cannot jump into a loop or switch structure. See goto (php.net) for details.", + "markdown": "Reports the `goto` labels that are not found in the current scope.\n\n\nThe target `goto` label must reside in the same file and context: you cannot jump into or out of a function or method, and cannot jump into a loop or switch structure.\n\n\nSee [goto (php.net)](https://www.php.net/manual/en/control-structures.goto.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUndefinedGotoLabelInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SymfonyLibraryIsNotDownloaded", + "shortDescription": { + "text": "Missed locally stored library for HTTP link" + }, + "fullDescription": { + "text": "Reports missed locally stored library", + "markdown": "Reports missed locally stored library" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SymfonyLibraryIsNotDownloaded", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Symfony", + "index": 27, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingClassConstantTypeInspection", + "shortDescription": { + "text": "Class constant type is missing" + }, + "fullDescription": { + "text": "In PHP 8.3 and later, reports a class constant that is missing a type declaration. Suggests inserting the correct class constant type.", + "markdown": "In PHP 8.3 and later, reports a class constant that is missing a type declaration. Suggests inserting the correct class constant type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingClassConstantTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedPartiallySupportedCallableInspection", + "shortDescription": { + "text": "Deprecated partially supported callables" + }, + "fullDescription": { + "text": "Reports deprecated usage of callables that are supported by 'call_user_func($callable)', but not by '$callable()'. Starting from PHP 8.2, the following callables are deprecated: '\"self::method\"'\n'\"parent::method\"'\n'\"static::method\"'\n'[\"self\", \"method\"]'\n'[\"parent\", \"method\"]'\n'[\"static\", \"method\"]'\n'[\"Foo\", \"Bar::method\"]'\n'[new Foo, \"Bar::method\"]' See Deprecate partially supported callables (php.net) for details.", + "markdown": "Reports deprecated usage of callables that are supported by `call_user_func($callable)`, but not by `$callable()`.\n\nStarting from PHP 8.2, the following callables are deprecated:\n\n \"self::method\"\n \"parent::method\"\n \"static::method\"\n [\"self\", \"method\"]\n [\"parent\", \"method\"]\n [\"static\", \"method\"]\n [\"Foo\", \"Bar::method\"]\n [new Foo, \"Bar::method\"]\n\n\nSee [Deprecate partially supported callables (php.net)](https://wiki.php.net/rfc/deprecate_partially_supported_callables) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDeprecatedPartiallySupportedCallableInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLoopCanBeConvertedToArrayFillInspection", + "shortDescription": { + "text": "Loop can be converted to 'array_fill()' call" + }, + "fullDescription": { + "text": "Reports the 'for' loops that can be replaced with 'array_fill()' calls.", + "markdown": "Reports the `for` loops that can be replaced with `array_fill()` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopCanBeConvertedToArrayFillInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayToStringConversionInspection", + "shortDescription": { + "text": "Array to string conversion" + }, + "fullDescription": { + "text": "Reports array to string conversions, that is, the arrays that are provided in the contexts where a string is expected. Prior to PHP 8.0, this would lead to a 'E_NOTICE' level error. In PHP 8.0, an 'E-WARNING' is emitted.", + "markdown": "Reports array to string conversions, that is, the arrays that are provided in the contexts where a string is expected.\n\n\nPrior to PHP 8.0, this would lead to a `E_NOTICE` level error. In PHP 8.0, an `E-WARNING` is emitted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpArrayToStringConversionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConstantReassignmentInspection", + "shortDescription": { + "text": "Constant reassignment" + }, + "fullDescription": { + "text": "Reports reassignments of constants. Since constants cannot be changed, such assignments will have no effect and will emit an 'E_NOTICE' (in PHP 7.4 and earlier) or 'E_WARNING' (in PHP 8.0 and later).", + "markdown": "Reports reassignments of constants.\n\n\nSince constants cannot be changed, such assignments will have no effect and will emit an `E_NOTICE` (in PHP 7.4 and earlier) or `E_WARNING` (in PHP 8.0 and later)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpConstantReassignmentInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedFieldInspection", + "shortDescription": { + "text": "Undefined property" + }, + "fullDescription": { + "text": "Reports the references to class properties that are not declared. The inspection skips the objects of the 'stdClass' or derived types.", + "markdown": "Reports the references to class properties that are not declared.\n\n\nThe inspection skips the objects of the `stdClass` or derived types." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUndefinedFieldInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedClassConstantInspection", + "shortDescription": { + "text": "Undefined class constant" + }, + "fullDescription": { + "text": "Reports the references to class constants that are not declared.", + "markdown": "Reports the references to class constants that are not declared." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpUndefinedClassConstantInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPregMatchWithoutEffectiveRegexpInspection", + "shortDescription": { + "text": "'preg_match' can be replaced with 'str_contains'" + }, + "fullDescription": { + "text": "Reports the 'preg_match()' calls with 'pattern' arguments that don't use any regexp facilities. Such calls can be replaced with 'str_starts_with()', 'str_ends_with()' or 'str_contains()' calls.", + "markdown": "Reports the `preg_match()` calls with `pattern` arguments that don't use any regexp facilities. Such calls can be replaced with `str_starts_with()`, `str_ends_with()` or `str_contains()` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPregMatchWithoutEffectiveRegexpInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpToStringReturnInspection", + "shortDescription": { + "text": "Method '__toString' return type" + }, + "fullDescription": { + "text": "Reports the '__toString' methods that do not return 'string'. Prior to PHP 7.4, this would lead to a fatal 'E_RECOVERABLE_ERROR' level error. In PHP 7.4, a fatal non-recoverable 'ERROR' is thrown. In PHP 8.0, the return value follows the standard PHP type semantics and will be coerced into a string if possible and if strict typing is disabled. See __toString (php.net) for details.", + "markdown": "Reports the `__toString` methods that do not return `string`.\n\nPrior to PHP 7.4, this would lead to a fatal `E_RECOVERABLE_ERROR` level error. In PHP 7.4, a fatal non-recoverable `ERROR` is thrown. In PHP 8.0, the return value follows the standard PHP type semantics and will be coerced into a string if possible and if strict typing is disabled.\n\n\nSee [__toString (php.net)](https://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpToStringReturnInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIfCanBeReplacedWithMatchExpressionInspection", + "shortDescription": { + "text": "'if' can be replaced with 'match' expression" + }, + "fullDescription": { + "text": "Reports the 'if' statements inside 'if-elseif-else' constructs that use strict comparisons ('===') and could be replaced with 'match' expressions.", + "markdown": "Reports the `if` statements inside `if-elseif-else` constructs that use strict comparisons (`===`) and could be replaced with `match` expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIfCanBeReplacedWithMatchExpressionInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUselessTrailingCommaInspection", + "shortDescription": { + "text": "Useless trailing comma" + }, + "fullDescription": { + "text": "Reports the trailing commas in parameters lists and closures' 'use' lists that do not bring any benefit. In a single-line list, a trailing comma is redundant and can be removed. In a multiline list, if no line break is provided after a trailing comma, it becomes impossible to easily add, remove, or move lines.", + "markdown": "Reports the trailing commas in parameters lists and closures' `use` lists that do not bring any benefit.\n\n* In a single-line list, a trailing comma is redundant and can be removed.\n* In a multiline list, if no line break is provided after a trailing comma, it becomes impossible to easily add, remove, or move lines." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUselessTrailingCommaInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpParamsInspection", + "shortDescription": { + "text": "Parameter type" + }, + "fullDescription": { + "text": "Reports the parameters passed to a function call, whose types do not match the ones specified in the function definition via type declaration or the PHPDoc '@param' tag. See Type declarations (php.net) and @param (phpdoc.org) for details.", + "markdown": "Reports the parameters passed to a function call, whose types do not match the ones specified in the function definition via type declaration or the PHPDoc `@param` tag.\n\nSee [Type declarations (php.net)](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration) and\n[@param (phpdoc.org)](https://docs.phpdoc.org/guide/references/phpdoc/tags/param.html#param) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpParamsInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClassCanBeReadonlyInspection", + "shortDescription": { + "text": "Class can be 'readonly'" + }, + "fullDescription": { + "text": "Reports classes which contain only 'readonly' properties.", + "markdown": "Reports classes which contain only `readonly` properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpClassCanBeReadonlyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCastIsUnnecessaryInspection", + "shortDescription": { + "text": "Type cast is unnecessary" + }, + "fullDescription": { + "text": "Reports the type cast operators used on the values that are already of the corresponding type. Such operators are redundant and can be safely removed. See Type juggling (php.net) for details.", + "markdown": "Reports the type cast operators used on the values that are already of the corresponding type. Such operators are redundant and can be safely removed.\n\n\nSee [Type juggling (php.net)](https://www.php.net/manual/en/language.types.type-juggling.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCastIsUnnecessaryInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocMissingThrowsInspection", + "shortDescription": { + "text": "Missing @throws tag(s)" + }, + "fullDescription": { + "text": "Reports missing PHPDoc '@throws' tags for exceptions thrown by functions or methods. The exception classes added to the Unchecked Exceptions list under Settings | PHP | Analysis are excluded from the inspection scope.", + "markdown": "Reports missing PHPDoc `@throws` tags for exceptions thrown by functions or methods.\n\nThe exception classes added to the **Unchecked Exceptions** list under\n[Settings \\| PHP \\| Analysis](settings://reference.webide.settings.project.settings.php?Unchecked%20Exceptions)\nare excluded from the inspection scope." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocMissingThrowsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc/Code style", + "index": 11, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedAliasInspection", + "shortDescription": { + "text": "Unused import" + }, + "fullDescription": { + "text": "Reports the imports that are never used.", + "markdown": "Reports the imports that are never used." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedAliasInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Unused symbols", + "index": 39, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposerJsonFileReferencesInspection", + "shortDescription": { + "text": "Unresolved file references" + }, + "fullDescription": { + "text": "Reports unresolved file references in composer.json.", + "markdown": "Reports unresolved file references in composer.json." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ComposerJsonFileReferencesInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Composer", + "index": 40, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIssetCanCheckNestedAccessDirectlyInspection", + "shortDescription": { + "text": "'isset' can check nested array access and sub properties directly" + }, + "fullDescription": { + "text": "Reports constructions like 'isset($a['a']) && isset($a['a']['b']) && isset($b) && isset($b->b)' that can be replaced with 'isset($a['a']['b']) && isset($b->b)'.", + "markdown": "Reports constructions like `isset($a['a']) && isset($a['a']['b']) && isset($b) && isset($b->b)` that can be replaced with `isset($a['a']['b']) && isset($b->b)`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIssetCanCheckNestedAccessDirectlyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantDefaultBreakContinueArgumentInspection", + "shortDescription": { + "text": "Redundant 'continue/break' argument" + }, + "fullDescription": { + "text": "Reports the redundant '1' argument of 'continue' and 'break' statements. Since this argument is optional and its default value is '1', such usages can be omitted. See continue (php.net) and break (php.net) for details.", + "markdown": "Reports the redundant `1` argument of `continue` and `break` statements. Since this argument is optional and its default value is `1`, such usages can be omitted.\n\n\nSee [continue (php.net)](https://www.php.net/manual/en/control-structures.continue.php) and [break (php.net)](https://www.php.net/manual/en/control-structures.break.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantDefaultBreakContinueArgumentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayUsedOnlyForWriteInspection", + "shortDescription": { + "text": "Array used only with write access" + }, + "fullDescription": { + "text": "Reports local arrays that are only updated, but never queried.", + "markdown": "Reports local arrays that are only updated, but never queried." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayUsedOnlyForWriteInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIllegalPsrClassPathInspection", + "shortDescription": { + "text": "Class path doesn't match project structure" + }, + "fullDescription": { + "text": "Reports the classes with the filepath not following the PSR-0/PSR-4 project structure. You can configure the project vendor roots under Settings/Preferences | Directories. See PSR-0/PSR-4 standards (php-fig.org) for details.", + "markdown": "Reports the classes with the filepath not following the PSR-0/PSR-4 project structure.\n\n\nYou can configure the project vendor roots under **Settings/Preferences \\| Directories**.\n\n\nSee [PSR-0/PSR-4 standards (php-fig.org)](https://www.php-fig.org/psr/psr-4/) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpIllegalPsrClassPathInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantMethodOverrideInspection", + "shortDescription": { + "text": "Redundant method override" + }, + "fullDescription": { + "text": "Reports the overriding methods that only consist of a single call to the parent method.", + "markdown": "Reports the overriding methods that only consist of a single call to the parent method." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantMethodOverrideInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDefineCanBeReplacedWithConstInspection", + "shortDescription": { + "text": "Define constant name can be replaced with 'const' syntax" + }, + "fullDescription": { + "text": "Reports the 'define()' calls that can be replaced with 'const' syntax.", + "markdown": "Reports the `define()` calls that can be replaced with `const` syntax." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDefineCanBeReplacedWithConstInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayAppendUsingCountInspection", + "shortDescription": { + "text": "Using 'count()' as index for appending value to array" + }, + "fullDescription": { + "text": "Reports the 'count($array)' calls that are used as an array index for appending an element to the array: '$array[count($array)] = 42'. In such cases, it is recommended to use square bracket syntax ('$array[] = 42') instead, which adds no overhead of calling a function.", + "markdown": "Reports the `count($array)` calls that are used as an array index for appending an element to the array: `$array[count($array)] = 42`. In such cases, it is recommended to use square bracket syntax (`$array[] = 42`) instead, which adds no overhead of calling a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayAppendUsingCountInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSwitchCanBeReplacedWithMatchExpressionInspection", + "shortDescription": { + "text": "'switch' can be replaced with 'match' expression" + }, + "fullDescription": { + "text": "Reports 'switch' statements that could be replaced with 'match' expression", + "markdown": "Reports 'switch' statements that could be replaced with 'match' expression" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSwitchCanBeReplacedWithMatchExpressionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPowCallCanBeReplacedWithOperatorInspection", + "shortDescription": { + "text": "'pow()' call can be replaced with '**' operator" + }, + "fullDescription": { + "text": "Reports the 'pow()' calls that can be replaced with the '**' operator, which adds no overhead of calling a function. See Power operator (php.net) for details.", + "markdown": "Reports the `pow()` calls that can be replaced with the `**` operator, which adds no overhead of calling a function.\n\n\nSee [Power operator (php.net)](https://wiki.php.net/rfc/pow-operator) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPowCallCanBeReplacedWithOperatorInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFormatFunctionParametersMismatchInspection", + "shortDescription": { + "text": "Format function parameters mismatch" + }, + "fullDescription": { + "text": "Reports the arguments of a format function (such as 'printf' or 'sprintf') that are not mapped to any parameters or specification conversions. See printf (php.net) and sprintf (php.net) for details.", + "markdown": "Reports the arguments of a format function (such as `printf` or `sprintf`) that are not mapped to any parameters or specification conversions.\n\n\nSee [printf (php.net)](https://www.php.net/manual/en/function.printf.php) and [sprintf (php.net)](https://www.php.net/manual/en/function.sprintf.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpFormatFunctionParametersMismatchInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpForeachVariableOverwritesAlreadyDefinedVariableInspection", + "shortDescription": { + "text": "'foreach' variable overwrites already defined variable" + }, + "fullDescription": { + "text": "Reports the keys and values in 'foreach' loops that are assigned a non-primitive value before the 'foreach' loop and are accessed after it. Such usages may unwillingly overwrite an already defined value and cause latent bugs.", + "markdown": "Reports the keys and values in `foreach` loops that are assigned a non-primitive value before the `foreach` loop and are accessed after it. Such usages may unwillingly overwrite an already defined value and cause latent bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpForeachVariableOverwritesAlreadyDefinedVariableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLoopCanBeReplacedWithStdFunctionCallsInspection", + "shortDescription": { + "text": "Loop can be replaced with 'in_array()' or 'array_key_exists()' call" + }, + "fullDescription": { + "text": "Reports the 'foreach' loops that can be safely replaced with 'in_array()' or 'array_key_exists()' calls. See in_array (php.net) and array_key_exists (php.net) for details.", + "markdown": "Reports the `foreach` loops that can be safely replaced with `in_array()` or `array_key_exists()` calls.\n\n\nSee [in_array (php.net)](https://www.php.net/manual/en/function.in-array) and [array_key_exists (php.net)](https://www.php.net/manual/en/function.array-key-exists) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopCanBeReplacedWithStdFunctionCallsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayKeyDoesNotMatchArrayShapeInspection", + "shortDescription": { + "text": "Array key does not match array shape " + }, + "fullDescription": { + "text": "Reports the array keys that do not match the keys specified via the '#[ArrayShape]' attribute.", + "markdown": "Reports the array keys that do not match the keys specified via the `#[ArrayShape]` attribute." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayKeyDoesNotMatchArrayShapeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpComposerExtensionStubsInspection", + "shortDescription": { + "text": "Extension is missing in composer.json" + }, + "fullDescription": { + "text": "Reports the usages of classes, functions, and constants from the PHP extensions not specified in composer.json. If an extension is listed in the 'require-dev' section of composer.json, the inspection reports the corresponding symbols' usages located outside of the folders marked as test roots.", + "markdown": "Reports the usages of classes, functions, and constants from the PHP extensions not specified in *composer.json* . If an extension is listed in the `require-dev` section of *composer.json*, the inspection reports the corresponding symbols' usages located outside of the folders marked as test roots." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpComposerExtensionStubsInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Composer", + "index": 40, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedParameterInspection", + "shortDescription": { + "text": "Unused parameter" + }, + "fullDescription": { + "text": "Reports the parameters that are considered unused in the following cases: The parameter is passed by value, and the value is not used anywhere or is overwritten immediately. The parameter is passed by reference, and the reference is not used anywhere or is overwritten immediately.", + "markdown": "Reports the parameters that are considered unused in the following cases:\n\n* The parameter is passed by value, and the value is not used anywhere or is overwritten immediately.\n* The parameter is passed by reference, and the reference is not used anywhere or is overwritten immediately." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedParameterInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Unused symbols", + "index": 39, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDisabledExtensionStubsInspection", + "shortDescription": { + "text": "Disabled extension stubs" + }, + "fullDescription": { + "text": "Reports the usages of classes, functions, and constants, for which the stubs for the corresponding PHP interpreter extensions are disabled. You can configure the set of stubs under Settings | PHP | PHP Runtime. See PhpStorm stubs (blog.jetbrains.com/phpstorm) for details.", + "markdown": "Reports the usages of classes, functions, and constants, for which the stubs for the corresponding PHP interpreter extensions are disabled.\n\n\nYou can configure the set of stubs under\n[Settings \\| PHP \\| PHP Runtime](settings://reference.webide.settings.project.settings.php?PHP%20Runtime).\n\n\nSee [PhpStorm stubs (blog.jetbrains.com/phpstorm)](https://blog.jetbrains.com/phpstorm/2018/03/how-to-provide-stubs-for-phpstorm/) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDisabledExtensionStubsInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTernaryExpressionCanBeReplacedWithConditionInspection", + "shortDescription": { + "text": "Ternary expression can be replaced with condition" + }, + "fullDescription": { + "text": "Reports the ternary expressions specified as 'condition ? true : false' that can be safely replaced with just 'condition'.", + "markdown": "Reports the ternary expressions specified as `condition ? true : false` that can be safely replaced with just `condition`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTernaryExpressionCanBeReplacedWithConditionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPregMatchReplaceWithComparisonInspection", + "shortDescription": { + "text": "'preg_match()' can be replaced with comparison" + }, + "fullDescription": { + "text": "Reports the 'preg_match()' calls that are provided with a string argument starting with '^' (Start of String anchor) and ending with '$' (End of String anchor). Such calls can be replaced with a comparison operation.", + "markdown": "Reports the `preg_match()` calls that are provided with a string argument starting with `^` (Start of String anchor) and ending with `$` (End of String anchor). Such calls can be replaced with a comparison operation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPregMatchReplaceWithComparisonInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMethodMayBeInaccessibleInLateStaticBindingInspection", + "shortDescription": { + "text": "Private method may be inaccessible during late static binding call" + }, + "fullDescription": { + "text": "Reports the late static binding method calls (that is, performed via 'static::') that may be resolved to inaccessible private methods from child classes. See Late Static Bindings (php.net) for details.", + "markdown": "Reports the late static binding method calls (that is, performed via `static::`) that may be resolved to inaccessible private methods from child classes.\n\n\nSee [Late Static Bindings (php.net)](https://www.php.net/manual/en/language.oop5.late-static-bindings.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpMethodMayBeInaccessibleInLateStaticBindingInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClassConstantCanBeFinalInspection", + "shortDescription": { + "text": "Class constant can be 'final'" + }, + "fullDescription": { + "text": "Reports the non-'final' class constants that are not redefined in child classes. In PHP 8.1 and later, such constants can be made 'final'. See Final class constants (php.net) for details.", + "markdown": "Reports the non-`final` class constants that are not redefined in child classes. In PHP 8.1 and later, such constants can be made `final`.\n\n\nSee [Final class constants (php.net)](https://wiki.php.net/rfc/final_class_const) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpClassConstantCanBeFinalInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClosureCanBeConvertedToFirstClassCallableInspection", + "shortDescription": { + "text": "'Closure::fromCallable()' can be converted to the first-class callable syntax" + }, + "fullDescription": { + "text": "Reports the 'callable' creation expressions that use 'Closure::fromCallable' but can be replaced with first-class callable syntax 'f(...)' available since PHP 8.1. See First-class callable syntax (php.net) for details.", + "markdown": "Reports the `callable` creation expressions that use `Closure::fromCallable` but can be replaced with first-class callable syntax `f(...)` available since PHP 8.1.\n\n\nSee [First-class callable syntax (php.net)](https://wiki.php.net/rfc/first_class_callable_syntax) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpClosureCanBeConvertedToFirstClassCallableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantArrayCallInForeachIteratedValueInspection", + "shortDescription": { + "text": "Redundant 'array_values' call on a value iterated in 'foreach'" + }, + "fullDescription": { + "text": "Reports the 'array_values()' calls inside 'foreach' loops in which the iterated value is used without a key. Such calls are redundant and can be safely removed.", + "markdown": "Reports the `array_values()` calls inside `foreach` loops in which the iterated value is used without a key. Such calls are redundant and can be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantArrayCallInForeachIteratedValueInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpExpressionAlwaysNullInspection", + "shortDescription": { + "text": "Expression is always 'null'" + }, + "fullDescription": { + "text": "Reports the variables in 'return' statements that are always 'null'.", + "markdown": "Reports the variables in `return` statements that are always `null`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpExpressionAlwaysNullInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertCountInspection", + "shortDescription": { + "text": "Usage 'assertCount/assertSameSize' methods instead of assertEquals" + }, + "fullDescription": { + "text": "Reports alternative usage of the 'assertEquals' and 'assertNotEquals' methods with 'count' function as a parameter See Usage of the assertCount for details. See Usage of the assertSameSize for details.", + "markdown": "Reports alternative usage of the `assertEquals` and `assertNotEquals` methods with `count` function as a parameter\n\n\nSee [Usage of the assertCount](https://phpunit.readthedocs.io/en/stable/assertions.html#assertcount) for details.\n\n\nSee [Usage of the assertSameSize](https://hotexamples.com/examples/-/PHPUnit_Framework_Assert/assertSameSize/php-phpunit_framework_assert-assertsamesize-method-examples.html) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertCountInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDefineConstantNameStartsWithLeadingSlashInspection", + "shortDescription": { + "text": "Constant name defined with a leading slash" + }, + "fullDescription": { + "text": "Reports the 'define' constructs in which the constant's FQN starts with a leading slash. Such constants will not be correctly registered by PHP.", + "markdown": "Reports the `define` constructs in which the constant's FQN starts with a leading slash. Such constants will not be correctly registered by PHP." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDefineConstantNameStartsWithLeadingSlashInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryParenthesesInspection", + "shortDescription": { + "text": "Unnecessary parentheses" + }, + "fullDescription": { + "text": "Reports the expressions containing redundant parenthesis, which can be safely removed.", + "markdown": "Reports the expressions containing redundant parenthesis, which can be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryParenthesesInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIfCanBeMergedWithSequentialConditionInspection", + "shortDescription": { + "text": "'if' can be merged with subsequent condition" + }, + "fullDescription": { + "text": "Reports the 'if' statements that are followed by 'elseif' or other 'if' statements having the same bodies. Such statements can be merged together.", + "markdown": "Reports the `if` statements that are followed by `elseif` or other `if` statements having the same bodies. Such statements can be merged together." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIfCanBeMergedWithSequentialConditionInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayModificationWillNotHaveEffectInspection", + "shortDescription": { + "text": "Modification of the array returned from function by value won't have any effect" + }, + "fullDescription": { + "text": "Reports call to a function that returns array by value, which makes the assignment operation non-working. Return by reference shall be used instead. For example: 'values;\n }\n}\n$config = new A();\n$config->getValues()['a'] = 'a';'", + "markdown": "Reports call to a function that returns array by value, which makes the assignment operation non-working. Return by reference shall be used instead.\n\n**For example:**\n\n\n values;\n }\n }\n $config = new A();\n $config->getValues()['a'] = 'a';\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayModificationWillNotHaveEffectInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConstructorStyleInspection", + "shortDescription": { + "text": "Old style constructor" + }, + "fullDescription": { + "text": "Reports old-style constructor declarations ('ClassName()') and suggests replacing them with new-style constructors ('__construct()'). Prior to PHP 8.0, old-style constructor syntax used in the classes in the global namespace is treated as deprecated and will result in an 'E_DEPRECATED' error. If both a '__construct()' and a 'ClassName()' method are defined, '__construct()' will be called. In namespaced classes, or any classes as of PHP 8.0, a 'ClassName()' method never has any special meaning and will never be called as a constructor. As a result, the inspection does not report such cases if the PHP language level is set to 8.0 or later. See Constructors and destructors (php.net) for details.", + "markdown": "Reports old-style constructor declarations (`ClassName()`) and suggests replacing them with new-style constructors (`__construct()`).\n\n\nPrior to PHP 8.0, old-style constructor syntax used in the classes in the global namespace is treated as deprecated and will result in an `E_DEPRECATED` error. If both a `__construct()` and a `ClassName()` method are defined, `__construct()` will be called.\n\nIn namespaced classes, or any classes as of PHP 8.0, a `ClassName()` method never has any special meaning and will never be called as a constructor. As a result, the inspection does not report such cases if the PHP language level is set to 8.0 or later.\n\n\nSee [Constructors and destructors (php.net)](https://www.php.net/manual/en/language.oop5.decon.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpConstructorStyleInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNonStrictObjectEqualityInspection", + "shortDescription": { + "text": "Non-strict object equality" + }, + "fullDescription": { + "text": "Reports the usages of the comparison operator ('==') for comparing object variables. Object variables are compared as follows: When using the comparison operator ('=='), two object instances are considered equal if they have the same attributes and values (values are compared with '=='), and are instances of the same class. When using the identity operator ('==='), object variables are considered identical if and only if they refer to the same instance of the same class. See Comparing Objects (php.net) for details.", + "markdown": "Reports the usages of the comparison operator (`==`) for comparing object variables.\n\n\nObject variables are compared as follows:\n\n* When using the comparison operator (`==`), two object instances are considered equal if they have the same attributes and values (values are compared with `==`), and are instances of the same class.\n* When using the identity operator (`===`), object variables are considered identical if and only if they refer to the same instance of the same class.\n\n\nSee [Comparing Objects (php.net)](http://www.php.net/manual/en/language.oop5.object-comparison.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpNonStrictObjectEqualityInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUsageOfSilenceOperatorInspection", + "shortDescription": { + "text": "Usage of a silence operator" + }, + "fullDescription": { + "text": "Reports the usages of the silence operator ('@'), which is highly discouraged. See Error Control Operators (php.net) for details.", + "markdown": "Reports the usages of the silence operator (`@`), which is highly discouraged.\n\nSee [Error Control Operators (php.net)](https://www.php.net/manual/en/language.operators.errorcontrol.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUsageOfSilenceOperatorInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedVariableInspection", + "shortDescription": { + "text": "Undefined variable" + }, + "fullDescription": { + "text": "Produces two types of warnings: Undefined variable: the variable's definition is not found in the project files, configured include paths, or among the PHP predefined variables. Variable might have not been defined: there are one or more paths to reach the line with the variable usage without defining it. Use the options below to customize the inspection: Report that variable is probably undefined: clear the checkbox to disable the Variable might have not been defined warnings. Enable inspection in global space: by default, the inspection is enabled for global space. Clear the checkbox to only report undefined variables from functions' local scope. Search for variable's definition outside the current file: if selected, the IDE reports a global variable as undefined only in case there are no 'include' or 'require' statements in the current file and the variable's definition cannot be found in the project. Note that the IDE does not examine the actual content of included files but only checks the presence of 'include' or 'require' statements. Otherwise, if not selected, the IDE searches for the variable's definition only in the current file and ignores the 'include' or 'require' statements if any.", + "markdown": "Produces two types of warnings:\n\n* *Undefined variable*: the variable's definition is not found in the project files, configured include paths, or among the PHP predefined variables.\n* *Variable might have not been defined*: there are one or more paths to reach the line with the variable usage without defining it.\n\n\nUse the options below to customize the inspection:\n\n* **Report that variable is probably undefined** : clear the checkbox to disable the *Variable might have not been defined* warnings.\n* **Enable inspection in global space**: by default, the inspection is enabled for global space. Clear the checkbox to only report undefined variables from functions' local scope.\n*\n **Search for variable's definition outside the current file** : if selected, the IDE reports a global variable as undefined only in case there are no `include` or `require` statements in the current file and the variable's definition cannot be found in the project. Note that the IDE does not examine the actual content of included files but only checks the presence of `include` or `require` statements.\n\n\n Otherwise, if not selected, the IDE searches for the variable's definition only in the current file and ignores the `include` or `require` statements if any." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpUndefinedVariableInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpShortOpenTagInspection", + "shortDescription": { + "text": "Short open tag usage" + }, + "fullDescription": { + "text": "Reports short PHP opening tag '' PHPDoc syntax.", + "markdown": "Reports the assignments and return statements whose arguments do not match the expected ranges specified via `int` PHPDoc syntax." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpIntRangesMismatchInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpReturnDocTypeMismatchInspection", + "shortDescription": { + "text": "Return type in PHPDoc comment does not match the actual return type" + }, + "fullDescription": { + "text": "Reports the return types in PHPDoc comments that do not match the actual return type of a function.", + "markdown": "Reports the return types in PHPDoc comments that do not match the actual return type of a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpReturnDocTypeMismatchInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpElementIsNotAvailableInCurrentPhpVersionInspection", + "shortDescription": { + "text": "Element is not available in configured PHP version" + }, + "fullDescription": { + "text": "Reports the usages of entities which were introduced in PHP version later than configured one.", + "markdown": "Reports the usages of entities which were introduced in PHP version later than configured one." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpElementIsNotAvailableInCurrentPhpVersionInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFieldCanBePromotedInspection", + "shortDescription": { + "text": "Property can be promoted" + }, + "fullDescription": { + "text": "Reports the properties that can be replaced with promoted versions. See Constructor Property Promotion (php.net) for details.", + "markdown": "Reports the properties that can be replaced with promoted versions.\n\n\nSee [Constructor Property Promotion (php.net)](https://wiki.php.net/rfc/constructor_promotion) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpFieldCanBePromotedInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPrivateFieldCanBeLocalVariableInspection", + "shortDescription": { + "text": "Private property can be local" + }, + "fullDescription": { + "text": "Reports the private properties that are used only in a single method. Such properties can be replaced with local variables.", + "markdown": "Reports the private properties that are used only in a single method. Such properties can be replaced with local variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPrivateFieldCanBeLocalVariableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTypedPropertyMightBeUninitializedInspection", + "shortDescription": { + "text": "Typed property might be uninitialized" + }, + "fullDescription": { + "text": "Reports the attempts to read from an uninitialized typed property. Such attempts will result in 'TypeError'. Typed properties should be initialized in any of the following ways: by a default value in the constructor by the '__get()' magic getter in-place, at the moment of usage See Uninitialized and Unset Properties (php.net) for details.", + "markdown": "Reports the attempts to read from an uninitialized typed property. Such attempts will result in `TypeError`.\n\n\nTyped properties should be initialized in any of the following ways:\n\n* by a default value\n* in the constructor\n* by the `__get()` magic getter\n* in-place, at the moment of usage\n\n\nSee [Uninitialized and Unset Properties (php.net)](https://wiki.php.net/rfc/typed_properties_v2#uninitialized_and_unset_properties) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpTypedPropertyMightBeUninitializedInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingParamTypeInspection", + "shortDescription": { + "text": "Missing parameter's type declaration" + }, + "fullDescription": { + "text": "Reports the parameters that have no type declaration specified.", + "markdown": "Reports the parameters that have no type declaration specified." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingParamTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryFullyQualifiedNameInspection", + "shortDescription": { + "text": "Unnecessary fully qualified name" + }, + "fullDescription": { + "text": "Reports the usages of fully qualified class names, which can be shortened without adding the 'use' statement.", + "markdown": "Reports the usages of fully qualified class names, which can be shortened without adding the `use` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryFullyQualifiedNameInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingParentCallCommonInspection", + "shortDescription": { + "text": "Missing parent call for method" + }, + "fullDescription": { + "text": "Reports the methods that do not call their parent method.", + "markdown": "Reports the methods that do not call their parent method." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingParentCallCommonInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMixedReturnTypeCanBeReducedInspection", + "shortDescription": { + "text": "'mixed' return type can be narrowed" + }, + "fullDescription": { + "text": "Reports 'mixed' return types that can be narrowed down to more concrete types.", + "markdown": "Reports 'mixed' return types that can be narrowed down to more concrete types." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMixedReturnTypeCanBeReducedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTraditionalSyntaxArrayLiteralInspection", + "shortDescription": { + "text": "Traditional syntax array literal detected" + }, + "fullDescription": { + "text": "Reports traditional array syntax ('array()') usages in array literals and suggests replacing them with short array syntax ('[]').", + "markdown": "Reports traditional array syntax (`array()`) usages in array literals and suggests replacing them with short array syntax (`[]`)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTraditionalSyntaxArrayLiteralInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConditionCheckedByNextConditionInspection", + "shortDescription": { + "text": "Condition inside logical expression checked by subsequent condition" + }, + "fullDescription": { + "text": "Reports the conditions inside logical binary expressions that are covered by subsequent conditions and are therefore redundant.", + "markdown": "Reports the conditions inside logical binary expressions that are covered by subsequent conditions and are therefore redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpConditionCheckedByNextConditionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInconsistentReturnPointsInspection", + "shortDescription": { + "text": "Inconsistent return points" + }, + "fullDescription": { + "text": "Reports inconsistencies in function/method exit points. The following types of inconsistencies are reported: The function/method contains the 'return' statements both with and without arguments. The function/method may return a value or otherwise end its execution without returning anything. Technically these are not errors, but practically they usually indicate a programming mistake.", + "markdown": "Reports inconsistencies in function/method exit points.\n\n\nThe following types of inconsistencies are reported:\n\n* The function/method contains the `return` statements both with and without arguments.\n* The function/method may return a value or otherwise end its execution without returning anything.\n\n\nTechnically these are not errors, but practically they usually indicate a programming mistake." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpInconsistentReturnPointsInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNoReturnAttributeCanBeAddedInspection", + "shortDescription": { + "text": "NoReturn attribute can be added" + }, + "fullDescription": { + "text": "Reports function without '#[NoReturn]' that are always halting their execution by calling other exitPoint functions attribute.", + "markdown": "Reports function without `#[NoReturn]` that are always halting their execution by calling other exitPoint functions attribute." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpNoReturnAttributeCanBeAddedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConditionCanBeReplacedWithMinMaxCallInspection", + "shortDescription": { + "text": "Condition can be replaced with 'min()'/'max()' call" + }, + "fullDescription": { + "text": "Reports the conditions that perform manual min/max calculation instead of calling 'min'/'max' functions.", + "markdown": "Reports the conditions that perform manual min/max calculation instead of calling `min`/`max` functions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpConditionCanBeReplacedWithMinMaxCallInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInapplicableAttributeTargetDeclarationInspection", + "shortDescription": { + "text": "Non-applicable attribute target declaration" + }, + "fullDescription": { + "text": "Reports the attributes that do not have the appropriate 'Attribute::TARGET_*' flag in their arguments declaration. See Attributes (php.net) for details.", + "markdown": "Reports the attributes that do not have the appropriate `Attribute::TARGET_*` flag in their arguments declaration.\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpInapplicableAttributeTargetDeclarationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingParentCallMagicInspection", + "shortDescription": { + "text": "Missing parent call for magic methods" + }, + "fullDescription": { + "text": "Reports the magic methods that do not call their parent magic method.", + "markdown": "Reports the magic methods that do not call their parent magic method." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingParentCallMagicInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpGotoIntoLoopInspection", + "shortDescription": { + "text": "Goto into loop statement" + }, + "fullDescription": { + "text": "Reports the 'goto' labels that are located inside loops or 'switch' statements. See goto (php.net) for details.", + "markdown": "Reports the `goto` labels that are located inside loops or `switch` statements.\n\n\nSee [goto (php.net)](https://www.php.net/manual/en/control-structures.goto.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpGotoIntoLoopInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMatchExpressionCanBeReplacedWithTernaryInspection", + "shortDescription": { + "text": "'match' expression can be replace with ternary expression" + }, + "fullDescription": { + "text": "Reports the 'match' expressions containing a default arm and a single non-default arm. Such 'match' expressions can be replaced with ternary expressions. See Match expression (php.net) for details.", + "markdown": "Reports the `match` expressions containing a default arm and a single non-default arm. Such `match` expressions can be replaced with ternary expressions.\n\n\nSee [Match expression (php.net)](https://wiki.php.net/rfc/match_expression_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMatchExpressionCanBeReplacedWithTernaryInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedStdLibCallInspection", + "shortDescription": { + "text": "Deprecated Standard Library call" + }, + "fullDescription": { + "text": "Reports the calls to Standard PHP Library functions that are deprecated starting from PHP 8.1. The following calls are reported: 'key()', 'current()', 'next()', 'prev()', and 'reset()' calls with objects as arguments. 'mb_check_encoding()' calls without arguments. 'get_class()', 'get_parent_class()' and 'get_called_class()' calls without arguments. 'IntlCalendar::roll()' calls with a Boolean passed as the '$value' argument. 'ctype_*()' calls with non-string arguments. See PHP RFC: Deprecations for PHP 8.1 for details.", + "markdown": "Reports the calls to Standard PHP Library functions that are deprecated starting from PHP 8.1.\n\n\nThe following calls are reported:\n\n* `key()`, `current()`, `next()`, `prev()`, and `reset()` calls with objects as arguments.\n* `mb_check_encoding()` calls without arguments.\n* `get_class()`, `get_parent_class()` and `get_called_class()` calls without arguments.\n* `IntlCalendar::roll()` calls with a Boolean passed as the `$value` argument.\n* `ctype_*()` calls with non-string arguments.\n\n\nSee [PHP RFC: Deprecations for PHP 8.1](https://wiki.php.net/rfc/deprecations_php_8_1) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDeprecatedStdLibCallInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingBreakStatementInspection", + "shortDescription": { + "text": "Missing 'break' statement" + }, + "fullDescription": { + "text": "Reports the 'case' clauses in 'switch' statements that do not end with a 'break' or a 'return' statement. If a 'case' clause does not end with 'break' or 'return', its execution can unintentionally fall through the next case.", + "markdown": "Reports the `case` clauses in `switch` statements that do not end with a `break` or a `return` statement.\n\n\nIf a `case` clause does not end with `break` or `return`, its execution can unintentionally fall through the next case." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingBreakStatementInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMethodMayBeStaticInspection", + "shortDescription": { + "text": "Method can be made 'static'" + }, + "fullDescription": { + "text": "Reports the methods that don't use any instance references and thus may be converted to static methods.", + "markdown": "Reports the methods that don't use any instance references and thus may be converted to static methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMethodMayBeStaticInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpToStringMayProduceExceptionInspection", + "shortDescription": { + "text": "'__toString' may throw an exception" + }, + "fullDescription": { + "text": "Reports the usages of '__toString' that may throw an exception, which is not allowed for PHP language level lower than 7.4.", + "markdown": "Reports the usages of `__toString` that may throw an exception, which is not allowed for PHP language level lower than 7.4." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpToStringMayProduceExceptionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpForeachArrayIsUsedAsValueInspection", + "shortDescription": { + "text": "Foreach array is used as value" + }, + "fullDescription": { + "text": "Reports the variables that are used in a 'foreach' loop as both an array expression and an array's key or value (for example, 'foreach ($items as $items) {}'). Commonly, this is the result of a typing error.", + "markdown": "Reports the variables that are used in a `foreach` loop as both an array expression and an array's key or value (for example, `foreach ($items as $items) {}`).\n\n\nCommonly, this is the result of a typing error." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpForeachArrayIsUsedAsValueInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedDollarBraceStringInterpolationInspection", + "shortDescription": { + "text": "Deprecated '${' string interpolation" + }, + "fullDescription": { + "text": "Reports '${var}' and '${expr}' interpolations in strings. Such interpolations are deprecated starting from PHP 8.2. See Deprecate ${} string interpolation (php.net) for details.", + "markdown": "Reports `${var}` and `${expr}` interpolations in strings. Such interpolations are deprecated starting from PHP 8.2.\n\n\nSee [Deprecate ${} string interpolation (php.net)](https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDeprecatedDollarBraceStringInterpolationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSeparateElseIfInspection", + "shortDescription": { + "text": "Else if" + }, + "fullDescription": { + "text": "Reports the usages of the 'else if' constructs specified in two words. According to PSR-12, the keyword 'elseif' SHOULD be used instead of 'else if' so that all control keywords look like single words. See PSR-12: Extended Coding Style (php-fig.org) for details.", + "markdown": "Reports the usages of the `else if` constructs specified in two words.\n\nAccording to PSR-12, the keyword `elseif` SHOULD be used instead of `else if` so that all control keywords look like single words.\n\n\nSee [PSR-12: Extended Coding Style (php-fig.org)](https://www.php-fig.org/psr/psr-12/#51-if-elseif-else) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSeparateElseIfInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style/PSR-12", + "index": 64, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedFunctionInspection", + "shortDescription": { + "text": "Undefined function" + }, + "fullDescription": { + "text": "Reports the references to functions that are not defined in the project files, configured include paths, or among the PHP predefined functions.", + "markdown": "Reports the references to functions that are not defined in the project files, configured include paths, or among the PHP predefined functions." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUndefinedFunctionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDuplicateArrayKeysInspection", + "shortDescription": { + "text": "Duplicate array keys" + }, + "fullDescription": { + "text": "Reports duplicate keys in array declarations. If multiple elements in the array declaration use the same key, only the last one will be used, and all others will be overwritten.", + "markdown": "Reports duplicate keys in array declarations.\n\nIf multiple elements in the array declaration use the same key, only the last one will be used, and all others will be overwritten." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDuplicateArrayKeysInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitDeprecatedExpectExceptionInspection", + "shortDescription": { + "text": "Deprecated expectException usage" + }, + "fullDescription": { + "text": "Reports deprecated usages of 'expectException()'. Support for using the 'expectException()' method with '\\PHPUnit\\Framework\\Error\\Deprecated', '\\PHPUnit\\Framework\\Error\\Error', '\\PHPUnit\\Framework\\Error\\Notice', and '\\PHPUnit\\Framework\\Error\\Warning' is deprecated and will be removed in PHPUnit 10. Instead, the 'expectDeprecation()', 'expectError()', 'expectNotice()', and 'expectWarning()' methods should be used. See Testing PHP Errors, Warnings, and Notices (phpunit.readthedocs.io) for details.", + "markdown": "Reports deprecated usages of `expectException()`.\n\n\nSupport for using the `expectException()` method with\n`\\PHPUnit\\Framework\\Error\\Deprecated`,\n`\\PHPUnit\\Framework\\Error\\Error`,\n`\\PHPUnit\\Framework\\Error\\Notice`, and\n`\\PHPUnit\\Framework\\Error\\Warning` is deprecated and will be removed in PHPUnit 10.\n\n\nInstead, the `expectDeprecation()`, `expectError()`, `expectNotice()`, and\n`expectWarning()` methods should be used.\n\n\nSee [Testing PHP Errors, Warnings, and Notices (phpunit.readthedocs.io)](https://phpunit.readthedocs.io/en/stable/writing-tests-for-phpunit.html#testing-php-errors-warnings-and-notices) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitDeprecatedExpectExceptionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitTestFailedLineInspection", + "shortDescription": { + "text": "Failed line in test" + }, + "fullDescription": { + "text": "Reports failed method calls or assertions in tests. It helps detect the failed line in code faster and start debugging it immediately. Example: 'function test() {\n $this->assertEquals(1,2); //highlighted\n }'", + "markdown": "Reports failed method calls or assertions in tests. It helps detect the failed line in code faster and start debugging it immediately.\n\n**Example:**\n\n\n function test() {\n $this->assertEquals(1,2); //highlighted\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnitTestFailedLineInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMatchCanBeReplacedWithSwitchStatementInspection", + "shortDescription": { + "text": "'match' can be replaced with 'switch' statement" + }, + "fullDescription": { + "text": "Reports the 'match' expressions that can be replaced with 'switch' statements. Note that 'match' expressions use strict type comparison, while 'switch' statements rely on loose comparison. As a result, the expression semantics may change after replacement. See match (php.net) and switch (php.net) for details.", + "markdown": "Reports the `match` expressions that can be replaced with `switch` statements.\n\n\nNote that `match` expressions use strict type comparison, while `switch` statements rely on loose comparison. As a\nresult, the expression semantics may change after replacement.\n\n\nSee [match (php.net)](https://www.php.net/manual/en/control-structures.match.php) and [switch (php.net)](https://www.php.net/manual/en/control-structures.switch.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMatchCanBeReplacedWithSwitchStatementInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSecondWriteToReadonlyPropertyInspection", + "shortDescription": { + "text": "Second write to 'readonly' property" + }, + "fullDescription": { + "text": "Reports reassignments of 'readonly' properties. Such properties cannot be modified after initialization. See Readonly properties (php.net) for details.", + "markdown": "Reports reassignments of `readonly` properties. Such properties cannot be modified after initialization.\n\n\nSee [Readonly properties (php.net)](https://wiki.php.net/rfc/readonly_properties_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpSecondWriteToReadonlyPropertyInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpEnforceDocCommentInspection", + "shortDescription": { + "text": "Enforce PHPDoc comment" + }, + "fullDescription": { + "text": "Reports the elements without a PHPDoc comment or with a PHPDoc comment only containing the '@noinspection' tag. You can use Missing PHPDoc Comment inspection to report only non-fully typed elements.", + "markdown": "Reports the elements without a PHPDoc comment or with a PHPDoc comment only containing the `@noinspection` tag.\n\nYou can use *Missing PHPDoc Comment* inspection to report only non-fully typed elements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpEnforceDocCommentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc/Code style", + "index": 11, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocFinalChecksInspection", + "shortDescription": { + "text": "Overriding method/extending class marked as '@final'" + }, + "fullDescription": { + "text": "Reports override of method or extending of class with '@final' in the PHPDoc.", + "markdown": "Reports override of method or extending of class with `@final` in the PHPDoc." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocFinalChecksInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPureAttributeCanBeAddedInspection", + "shortDescription": { + "text": "'#[Pure]' attribute can be added" + }, + "fullDescription": { + "text": "Reports the functions that are non-trivially pure. Such functions have other functions calls in their body, but all such calls do not produce any side effects.", + "markdown": "Reports the functions that are non-trivially pure. Such functions have other functions calls in their body, but all such calls do not produce any side effects." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPureAttributeCanBeAddedInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVarTagWithoutVariableNameInspection", + "shortDescription": { + "text": "Type tag without variable name" + }, + "fullDescription": { + "text": "Reports the PHPDoc type tags ('@var','@type','@param') that are provided without a specified variable/parameter name. Such tags do not provide any type information for expressions and should be either deleted or expanded to include a concrete variable name for which the type is provided.", + "markdown": "Reports the PHPDoc type tags (`@var`,`@type`,`@param`) that are provided without a specified variable/parameter name. Such tags do not provide any type information for expressions and should be either deleted or expanded to include a concrete variable name for which the type is provided." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpVarTagWithoutVariableNameInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpImmutablePropertyIsWrittenInspection", + "shortDescription": { + "text": "Immutable property written in invalid scope" + }, + "fullDescription": { + "text": "Highlights write access references to properties, for which the write access scope declared via '#[Immutable]' is stricter than the reference scope.", + "markdown": "Highlights write access references to properties, for which the write access scope declared via `#[Immutable]` is stricter than the reference scope." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpImmutablePropertyIsWrittenInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedAssertDeclarationInspection", + "shortDescription": { + "text": "Deprecated 'assert()' function declaration" + }, + "fullDescription": { + "text": "Reports the 'assert()' function declarations. Declaring the 'assert()' function is global namespace is forbidden. Starting from PHP 7.3, declaring the 'assert()' function in non-global namespace is deprecated. See assert (php.net) for details.", + "markdown": "Reports the `assert()` function declarations.\n\n* Declaring the `assert()` function is global namespace is forbidden.\n* Starting from PHP 7.3, declaring the `assert()` function in non-global namespace is deprecated.\n\n\nSee [assert (php.net)](https://www.php.net/manual/en/function.assert.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpDeprecatedAssertDeclarationInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAutovivificationOnFalseValuesInspection", + "shortDescription": { + "text": "Automatic conversion of 'false' to array is deprecated" + }, + "fullDescription": { + "text": "Reports automatic conversions of 'false' values to arrays. Such expressions are deprecated starting from PHP 8.1. See Deprecate autovivification on false for details.", + "markdown": "Reports automatic conversions of `false` values to arrays. Such expressions are deprecated starting from PHP 8.1.\n\n\nSee [Deprecate autovivification on false](https://wiki.php.net/rfc/autovivification_false) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpAutovivificationOnFalseValuesInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocSignatureIsNotCompleteInspection", + "shortDescription": { + "text": "PHPDoc comment signature is not complete" + }, + "fullDescription": { + "text": "Reports the PHPDoc comments that contain at least one '@param' or '@return' tag but are missing some of the '@param' or '@return' tags for parameters or return types specified in the function/method declaration.", + "markdown": "Reports the PHPDoc comments that contain at least one `@param` or `@return` tag but are missing some of the `@param` or `@return` tags for parameters or return types specified in the function/method declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocSignatureIsNotCompleteInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc/Code style", + "index": 11, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSignatureMismatchDuringInheritanceInspection", + "shortDescription": { + "text": "Declaration of overridden method should be compatible with parent class" + }, + "fullDescription": { + "text": "Reports the overridden methods declarations that are not compatible with the parent class. The inspection is enabled only for the PHP language level lower than 8.0.", + "markdown": "Reports the overridden methods declarations that are not compatible with the parent class. The inspection is enabled only for the PHP language level lower than 8.0." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpSignatureMismatchDuringInheritanceInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHP strict standards", + "index": 70, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTraitUsageOutsideUseInspection", + "shortDescription": { + "text": "Trait usage is not allowed" + }, + "fullDescription": { + "text": "Reports the class references that are resolved to traits but are specified outside 'use' statements. Such usages are most probably the result of a programming mistake, since traits cannot be instantiated and any 'instanceof'-like behaviour is not supported for traits by design. See Traits (php.net) for details.", + "markdown": "Reports the class references that are resolved to traits but are specified outside `use` statements. Such usages are most probably the result of a programming mistake, since traits cannot be instantiated and any `instanceof`-like behaviour is not supported for traits by design.\n\n\nSee [Traits (php.net)](https://www.php.net/manual/en/language.oop5.traits.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTraitUsageOutsideUseInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpStrictTypeCheckingInspection", + "shortDescription": { + "text": "Strict type checking rules violation" + }, + "fullDescription": { + "text": "Reports violations of the strict type checking rules. In strict mode, only the variables exactly matching the declaration types are accepted. Strict type-checking mode can be enabled: Per file, if the 'declare(strict_types=1)' directive is specified. The directive must be the first statement in a file, block mode is explicitly disallowed. For all files, if the Enable for all files inspection option is enabled. See Strict typing (php.net) for details.", + "markdown": "Reports violations of the strict type checking rules.\n\n\nIn strict mode, only the variables exactly matching the declaration types are accepted. Strict type-checking mode can be enabled:\n\n* Per file, if the `declare(strict_types=1)` directive is specified. The directive must be the first statement in a file, block mode is explicitly disallowed.\n* For all files, if the **Enable for all files** inspection option is enabled.\n\n\nSee [Strict typing (php.net)](https://www.php.net/manual/en/language.types.declarations.php#language.types.declarations.strict) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpStrictTypeCheckingInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFieldReferenceDoesNotMatchObjectShapeInspection", + "shortDescription": { + "text": "Field reference does not match object shape " + }, + "fullDescription": { + "text": "Reports reference to a property whose name does not match the name specified via an '#[ObjectShape]' attribute or in the PHPDoc comment.", + "markdown": "Reports reference to a property whose name does not match the name specified via an `#[ObjectShape]` attribute or in the PHPDoc comment." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpFieldReferenceDoesNotMatchObjectShapeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIfWithCommonPartsInspection", + "shortDescription": { + "text": "'if' with common parts" + }, + "fullDescription": { + "text": "Reports the 'if' statements with duplicated common parts.", + "markdown": "Reports the `if` statements with duplicated common parts." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIfWithCommonPartsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAddOverrideAttributeInspection", + "shortDescription": { + "text": "Mark overridden method with #[Override]" + }, + "fullDescription": { + "text": "Suggests adding the '#[Override]' attribute to the methods that override same name methods in the parent class or any of the implemented interfaces. The '#[Override]' attribute is available only since PHP 8.3. See PHP RFC: Marking overridden methods (wiki.php.net) for details.", + "markdown": "Suggests adding the `#[Override]` attribute to the methods that override same name methods in the parent class or any of the implemented interfaces.\n\n\nThe `#[Override]` attribute is available only since PHP 8.3. See [PHP RFC: Marking overridden methods (wiki.php.net)](https://wiki.php.net/rfc/marking_overriden_methods) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpAddOverrideAttributeInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpStaticAsDynamicMethodCallInspection", + "shortDescription": { + "text": "Static method called as dynamic" + }, + "fullDescription": { + "text": "Reports dynamic calls to static class methods. If the target has the magic method '__call', a separate inspection severity and highlighting level can be set.", + "markdown": "Reports dynamic calls to static class methods.\n\nIf the target has the magic method `__call`, a separate inspection severity and highlighting level can be set." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpStaticAsDynamicMethodCallInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDangerousArrayInitializationInspection", + "shortDescription": { + "text": "Dangerous array initialization" + }, + "fullDescription": { + "text": "Reports dangerous array initializations (such as '$arr[] = value'). This practice is discouraged because if '$arr' already contains some value (for example, a string from a request variable), then this value will stay in place and '[]' may actually stand for string access operator. It is always preferable to initialize a variable by direct assignment. See Creating/modifying with square bracket syntax (php.net) for details.", + "markdown": "Reports dangerous array initializations (such as `$arr[] = value`).\n\n\nThis practice is discouraged because if `$arr` already contains some value (for example, a string from a request variable), then this value will stay in place and `[]` may actually stand for string access operator. It is always preferable to initialize a variable by direct assignment.\n\nSee [Creating/modifying with square bracket syntax (php.net)](https://www.php.net/manual/en/language.types.array.php#language.types.array.syntax.modifying) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDangerousArrayInitializationInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedImplodeUsageInspection", + "shortDescription": { + "text": "Deprecated 'implode/join' usage" + }, + "fullDescription": { + "text": "Reports deprecated usage of the 'implode' and 'join' functions. Starting from PHP 7.4, using 'implode' and 'join' with an array as the first argument and a string as the second argument is deprecated. See Deprecations for PHP 7.4 (php.net) for details.", + "markdown": "Reports deprecated usage of the `implode` and `join` functions.\n\nStarting from PHP 7.4, using `implode` and `join` with an array as the first argument and a string as the second argument is deprecated.\n\n\nSee [Deprecations for PHP 7.4 (php.net)](https://wiki.php.net/rfc/deprecations_php_7_4#implode_parameter_order_mix) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDeprecatedImplodeUsageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpOverridingMethodVisibilityInspection", + "shortDescription": { + "text": "Method visibility should not be overridden" + }, + "fullDescription": { + "text": "Checks that the methods don't override visibility. Overriding a 'protected' method with a 'public' method in a child class makes this method accessible from everywhere. This violates the encapsulation principle and is considered bad practice. See Method Visibility (php.net) for details.", + "markdown": "Checks that the methods don't override visibility.\n\n\nOverriding a `protected` method with a `public` method in a child class makes this method accessible from everywhere.\nThis violates the encapsulation principle and is considered bad practice.\n\n\nSee [Method Visibility (php.net)](https://www.php.net/manual/en/language.oop5.visibility.php#language.oop5.visiblity-methods) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpOverridingMethodVisibilityInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMockeryInvalidMockingMethodInspection", + "shortDescription": { + "text": "Invalid Mockery mocking target" + }, + "fullDescription": { + "text": "Reports the methods and classes that are incorrectly mocked in Mockery tests. The following entities are reported: 'private' methods 'protected' methods without appropriate '\\Mockery\\Mock::shouldAllowMockingProtectedMethods' call", + "markdown": "Reports the methods and classes that are incorrectly mocked in Mockery tests.\n\n\nThe following entities are reported:\n\n* `private` methods\n* `protected` methods without appropriate `\\Mockery\\Mock::shouldAllowMockingProtectedMethods` call" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PhpMockeryInvalidMockingMethodInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpForeachOverSingleElementArrayLiteralInspection", + "shortDescription": { + "text": "Foreach over array literal with single element" + }, + "fullDescription": { + "text": "Reports the 'foreach' statements that iterate over an array literal containing a single element.", + "markdown": "Reports the `foreach` statements that iterate over an array literal containing a single element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpForeachOverSingleElementArrayLiteralInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClassNamingConventionInspection", + "shortDescription": { + "text": "Class name is not following coding convention" + }, + "fullDescription": { + "text": "Reports the classes' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for classes. Use the inspection options to specify minimum/maximum length and the regular expression expected for classes' names. To ignore the names' length, specify 0. To learn more about regular expressions, refer to the Quick Start guide (regular-expressions.info).", + "markdown": "Reports the classes' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for classes.\n\n\nUse the inspection options to specify minimum/maximum length and the regular expression expected for classes' names.\nTo ignore the names' length, specify **0**.\n\n\nTo learn more about regular expressions, refer to the [Quick Start guide (regular-expressions.info)](https://www.regular-expressions.info/quickstart.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpClassNamingConventionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Naming conventions", + "index": 4, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCoveredCharacterInClassInspection", + "shortDescription": { + "text": "Element in class is already covered" + }, + "fullDescription": { + "text": "Reports the elements in regular expression character classes that are already covered by another element in the same class. Such elements are redundant and can be safely removed.", + "markdown": "Reports the elements in regular expression character classes that are already covered by another element in the same class. Such elements are redundant and can be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCoveredCharacterInClassInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Regular expressions", + "index": 71, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVariableIsUsedOnlyInClosureInspection", + "shortDescription": { + "text": "Variable is only used inside closure" + }, + "fullDescription": { + "text": "Reports variables in closures' 'use' list that are only used inside closure.", + "markdown": "Reports variables in closures' `use` list that are only used inside closure." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpVariableIsUsedOnlyInClosureInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLongTypeFormInspection", + "shortDescription": { + "text": "Short form of type keywords" + }, + "fullDescription": { + "text": "Reports usages of long form type keywords. According to PSR-12, short form of type keywords MUST be used, that is 'bool' instead of 'boolean', 'int' instead of 'integer', and so on. See Keywords and Types (php-fig.org) for details.", + "markdown": "Reports usages of long form type keywords.\n\n\nAccording to PSR-12, short form of type keywords MUST be used, that is `bool` instead of `boolean`, `int` instead of `integer`, and so on.\n\n\nSee [Keywords and Types (php-fig.org)](https://www.php-fig.org/psr/psr-12/#25-keywords-and-types) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLongTypeFormInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style/PSR-12", + "index": 64, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnreachableStatementInspection", + "shortDescription": { + "text": "Unreachable statement" + }, + "fullDescription": { + "text": "Reports the statements that cannot be reached.", + "markdown": "Reports the statements that cannot be reached." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnreachableStatementInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCSFixerValidationInspection", + "shortDescription": { + "text": "PHP CS Fixer validation" + }, + "fullDescription": { + "text": "Reports coding style problems detected by PHP CS Fixer. The inspection requires PHP CS Fixer to be properly installed and set up in the IDE under Settings | PHP | Quality Tools | PHP CS Fixer. To learn more about installing PHP CS Fixer, see PHP-CS-Fixer installation (GitHub).", + "markdown": "Reports coding style problems detected by PHP CS Fixer.\n\n\nThe inspection requires PHP CS Fixer to be properly installed and set up in the IDE under\n[Settings \\| PHP \\| Quality Tools \\| PHP CS Fixer](settings://settings.php.quality.tools.php.cs.fixer).\n\n\nTo learn more about installing PHP CS Fixer, see [PHP-CS-Fixer installation (GitHub)](https://github.com/FriendsOfPHP/PHP-CS-Fixer#installation)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCSFixerValidationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Quality tools", + "index": 73, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClosureCanBeConvertedToShortArrowFunctionInspection", + "shortDescription": { + "text": "Closure can be converted to arrow function" + }, + "fullDescription": { + "text": "Reports the anonymous functions that can be transformed to short arrow functions. Support for short arrow functions is available since PHP 7.4. See PHP RFC: Arrow Functions 2.0 (php.net) for details.", + "markdown": "Reports the anonymous functions that can be transformed to short arrow functions. Support for short arrow functions is available since PHP 7.4.\n\n\nSee [PHP RFC: Arrow Functions 2.0 (php.net)](https://wiki.php.net/rfc/arrow_functions_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpClosureCanBeConvertedToShortArrowFunctionInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitDeprecatedCallsIn10VersionInspection", + "shortDescription": { + "text": "Method is deprecated in PHPUnit 10" + }, + "fullDescription": { + "text": "Reports the calls to the PHPUnit assertion methods that are removed in PHPUnit 10.", + "markdown": "Reports the calls to the PHPUnit assertion methods that are removed in PHPUnit 10." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnitDeprecatedCallsIn10VersionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnhandledExceptionInspection", + "shortDescription": { + "text": "Unhandled exception" + }, + "fullDescription": { + "text": "Reports the exceptions that are neither enclosed in a 'try-catch' block nor documented via the '@throws' tag.", + "markdown": "Reports the exceptions that are neither enclosed in a `try-catch` block nor documented via the `@throws` tag." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnhandledExceptionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Error handling", + "index": 76, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIncludeInspection", + "shortDescription": { + "text": "Unresolved include" + }, + "fullDescription": { + "text": "Reports non-resolved 'include', 'include_once', 'require', and 'require_once' expressions.", + "markdown": "Reports non-resolved `include`, `include_once`, `require`, and `require_once` expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIncludeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitUndefinedDataProviderInspection", + "shortDescription": { + "text": "Undefined PHPUnit data provider" + }, + "fullDescription": { + "text": "Reports the references to functions/methods in the '@dataProvider' PHPDoc tag that are not resolved. Note that when resolving 'dataProvider', PHPUnit doesn't take 'use' statements into account.", + "markdown": "Reports the references to functions/methods in the `@dataProvider` PHPDoc tag that are not resolved.\n\nNote that when resolving `dataProvider`, PHPUnit doesn't take `use` statements into account." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnitUndefinedDataProviderInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFieldAssignmentTypeMismatchInspection", + "shortDescription": { + "text": "Type mismatch in property assignment" + }, + "fullDescription": { + "text": "Reports type violations in properties assignments.", + "markdown": "Reports type violations in properties assignments." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpFieldAssignmentTypeMismatchInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingParentConstructorInspection", + "shortDescription": { + "text": "Missing parent call for constructor" + }, + "fullDescription": { + "text": "Reports the constructors that do not call their parent constructor.", + "markdown": "Reports the constructors that do not call their parent constructor." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpMissingParentConstructorInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertEqualsCanBeReplacedWithAssertTrueOrFalseInspection", + "shortDescription": { + "text": "Assertion can be replaced with 'assertTrue/assertFalse'" + }, + "fullDescription": { + "text": "Reports the 'assertEquals()' calls with the 'true'/'false' arguments in PHPUnit tests. Such usages can be replaced with 'assertTrue()'/'assertFalse()' calls.", + "markdown": "Reports the `assertEquals()` calls with the `true`/`false` arguments in PHPUnit tests. Such usages can be replaced with `assertTrue()`/`assertFalse()` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertEqualsCanBeReplacedWithAssertTrueOrFalseInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDynamicAsStaticMethodCallInspection", + "shortDescription": { + "text": "Dynamic method called as static" + }, + "fullDescription": { + "text": "Reports static calls to dynamic class methods. For classes having the magic method '__callStatic', a separate inspection severity and highlighting level can be set.", + "markdown": "Reports static calls to dynamic class methods.\n\nFor classes having the magic method `__callStatic`, a separate inspection severity and highlighting level can be set." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDynamicAsStaticMethodCallInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpReadonlyPropertyWrittenOutsideDeclarationScopeInspection", + "shortDescription": { + "text": "Write access to 'readonly' property outside of declaration scope" + }, + "fullDescription": { + "text": "Reports the write accesses to 'readonly' properties that are made outside the declaration scope. A declaration scope effectively means non-static methods of the class in which a property is declared. See Readonly properties (php.net) for details.", + "markdown": "Reports the write accesses to `readonly` properties that are made outside the declaration scope. A declaration scope effectively means non-static methods of the class in which a property is declared.\n\n\nSee [Readonly properties (php.net)](https://wiki.php.net/rfc/readonly_properties_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpReadonlyPropertyWrittenOutsideDeclarationScopeInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFormatCallWithSingleArgumentInspection", + "shortDescription": { + "text": "Format function call with single argument" + }, + "fullDescription": { + "text": "Reports the 'sprintf()' and 'vsprintf()' calls with a single argument. Such calls produce no effect and can be safely unwrapped, that is, replaced with the argument itself.", + "markdown": "Reports the `sprintf()` and `vsprintf()` calls with a single argument. Such calls produce no effect and can be safely unwrapped, that is, replaced with the argument itself." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpFormatCallWithSingleArgumentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayIsAlwaysEmptyInspection", + "shortDescription": { + "text": "Array is always empty at the point of access" + }, + "fullDescription": { + "text": "Reports the iterated/accessed arrays that are known to be empty at the point of access.", + "markdown": "Reports the iterated/accessed arrays that are known to be empty at the point of access." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayIsAlwaysEmptyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIllegalArrayKeyTypeInspection", + "shortDescription": { + "text": "Illegal array key type" + }, + "fullDescription": { + "text": "Reports the array keys that are of illegal type, such as objects or arrays. See Arrays (php.net) for details.", + "markdown": "Reports the array keys that are of illegal type, such as objects or arrays.\n\n\nSee [Arrays (php.net)](http://www.php.net/manual/en/language.types.array.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpIllegalArrayKeyTypeInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLoopNeverIteratesInspection", + "shortDescription": { + "text": "Loop does not iterate" + }, + "fullDescription": { + "text": "Reports the loop statements whose bodies will execute at most once. The inspection does not report 'foreach' loops with a key or value used inside the loop body. Commonly, such loops are intended to perform an action only on their first iteration (for example, get the first element of an array).", + "markdown": "Reports the loop statements whose bodies will execute at most once.\n\n\nThe inspection does not report `foreach` loops with a key or value used inside the loop body. Commonly, such loops are intended to perform an action only on their first iteration (for example, get the first element of an array)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopNeverIteratesInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRegExpUnsupportedModifierInspection", + "shortDescription": { + "text": "Unsupported modifier" + }, + "fullDescription": { + "text": "Reports the usages of the 'e' modifier in regular expression patterns. In PHP 7.0 and later, such usages are deprecated and will emit an 'E_WARNING'.", + "markdown": "Reports the usages of the `e` modifier in regular expression patterns. In PHP 7.0 and later, such usages are deprecated and will emit an `E_WARNING`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpRegExpUnsupportedModifierInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Regular expressions", + "index": 71, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVariableNamingConventionInspection", + "shortDescription": { + "text": "Variable name is not following coding convention" + }, + "fullDescription": { + "text": "Reports the variables' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for variables. Use the inspection options to specify minimum/maximum length and the regular expression expected for variables' names. To ignore the names' length, specify 0. To learn more about regular expressions, refer to the Quick Start guide (regular-expressions.info).", + "markdown": "Reports the variables' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for variables.\n\n\nUse the inspection options to specify minimum/maximum length and the regular expression expected for variables' names.\nTo ignore the names' length, specify **0**.\n\n\nTo learn more about regular expressions, refer to the [Quick Start guide (regular-expressions.info)](https://www.regular-expressions.info/quickstart.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpVariableNamingConventionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Naming conventions", + "index": 4, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPassByRefInspection", + "shortDescription": { + "text": "Pass parameter by reference" + }, + "fullDescription": { + "text": "Reports the arguments in a function/method call that cannot be passed by reference. Only variables and references returned from functions can be passed by reference. See Passing by Reference (php.net) for details.", + "markdown": "Reports the arguments in a function/method call that cannot be passed by reference.\n\n\nOnly variables and references returned from functions can be passed by reference. See [Passing by Reference (php.net)](https://www.php.net/manual/en/language.references.pass.php#language.references.pass) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpPassByRefInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpWrongStringConcatenationInspection", + "shortDescription": { + "text": "Wrong string concatenation" + }, + "fullDescription": { + "text": "Reports the attempts to concatenate strings by using the '+' operator instead of the dot ('.') concatenation operator. Such attempts are most likely a programming mistake.", + "markdown": "Reports the attempts to concatenate strings by using the `+` operator instead of the dot (`.`) concatenation operator. Such attempts are most likely a programming mistake." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpWrongStringConcatenationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNonCanonicalElementsOrderInspection", + "shortDescription": { + "text": "Non-canonical order of elements" + }, + "fullDescription": { + "text": "Reports the PHPDoc tags that have elements listed in non-canonical order. For example, for such tags as '@property', '@param', or '@var', the inspection will report the usages of '[name] [\"Type\"]' instead of '[\"Type\"] [name]'.", + "markdown": "Reports the PHPDoc tags that have elements listed in non-canonical order.\n\nFor example, for such tags as `@property`, `@param`, or `@var`, the inspection will report the usages of `[name] [\"Type\"]` instead of `[\"Type\"] [name]`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNonCanonicalElementsOrderInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc/Code style", + "index": 11, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryLocalVariableInspection", + "shortDescription": { + "text": "Unnecessary local variable" + }, + "fullDescription": { + "text": "Reports the local variables that are used in exit statements, such as 'throw', 'return', or 'yield', immediately after assignment.", + "markdown": "Reports the local variables that are used in exit statements, such as `throw`, `return`, or `yield`, immediately after assignment." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryLocalVariableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAbstractStaticMethodInspection", + "shortDescription": { + "text": "Static function should not be abstract" + }, + "fullDescription": { + "text": "Reports the static methods that are declared as abstract.", + "markdown": "Reports the static methods that are declared as abstract." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpAbstractStaticMethodInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHP strict standards", + "index": 70, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTooLongMemberReferenceChainInspection", + "shortDescription": { + "text": "Member reference chain is too long to analyze" + }, + "fullDescription": { + "text": "Reports method reference chains that are too long for IDE to analyze.", + "markdown": "Reports method reference chains that are too long for IDE to analyze." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpTooLongMemberReferenceChainInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInArrayCanBeReplacedWithComparisonInspection", + "shortDescription": { + "text": "'in_array' can be replaced with comparison" + }, + "fullDescription": { + "text": "Reports the 'in_array()' calls that are provided with a single-element array as the '$haystack' argument. Such calls can be replaced with direct comparisons. See in_array (php.net) for details.", + "markdown": "Reports the `in_array()` calls that are provided with a single-element array as the `$haystack` argument. Such calls can be replaced with direct comparisons.\n\n\nSee [in_array (php.net)](https://www.php.net/manual/en/function.in-array.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpInArrayCanBeReplacedWithComparisonInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantTypeInUnionTypeInspection", + "shortDescription": { + "text": "Type declaration is redundant and could be simplified" + }, + "fullDescription": { + "text": "Reports union type declarations that contain redundant types, for example, a union type that contains both the class alias and the original class. See Union Types RFC: Duplicate and redundant types (php.net) for details.", + "markdown": "Reports union type declarations that contain redundant types, for example, a union type that contains both the class alias and the original class.\n\n\nSee [Union Types RFC: Duplicate and redundant types (php.net)](https://wiki.php.net/rfc/union_types_v2#duplicate_and_redundant_types) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantTypeInUnionTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIllegalStringOffsetInspection", + "shortDescription": { + "text": "Illegal string offset" + }, + "fullDescription": { + "text": "Reports the usages of non-'integer' offsets in string access expressions such as '$str[42]'. Starting from PHP 5.4, string offsets have to be either integers or integer-like strings. Since it's considered bad practice to use strings as a string offset, the inspection reports them, as well. See String access and modification by character (php.net) for details.", + "markdown": "Reports the usages of non-`integer` offsets in string access expressions such as `$str[42]`.\n\n\nStarting from PHP 5.4, string offsets have to be either integers or integer-like strings.\nSince it's considered bad practice to use strings as a string offset, the inspection reports them, as well.\n\nSee [String access and modification by character (php.net)](https://www.php.net/manual/en/language.types.string.php#language.types.string.substr) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpIllegalStringOffsetInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpModuloByOneInspection", + "shortDescription": { + "text": "Modulo operation with '1' as operand" + }, + "fullDescription": { + "text": "Reports the modulo expressions '%' that always evaluate to '0' or '1'.", + "markdown": "Reports the modulo expressions `%` that always evaluate to `0` or `1`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpModuloByOneInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantAssignmentToPromotedFieldInspection", + "shortDescription": { + "text": "Redundant assignment to promoted property" + }, + "fullDescription": { + "text": "Reports redundant assignments to class properties that duplicate automatic assignments performed through promoted constructor parameters. See Constructor Property Promotion (php.net) for details.", + "markdown": "Reports redundant assignments to class properties that duplicate automatic assignments performed through promoted constructor parameters.\n\n\nSee [Constructor Property Promotion (php.net)](https://wiki.php.net/rfc/constructor_promotion) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantAssignmentToPromotedFieldInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayPushWithOneElementInspection", + "shortDescription": { + "text": "'array_push()' with single element" + }, + "fullDescription": { + "text": "Reports the 'array_push()' calls that are used to add a single element to an array. In such cases, it is recommended to use '$array[] =' instead, which adds no overhead of calling a function. See array_push (php.net) for details.", + "markdown": "Reports the `array_push()` calls that are used to add a single element to an array. In such cases, it is recommended to use `$array[] =` instead, which adds no overhead of calling a function.\n\n\nSee [array_push (php.net)](https://www.php.net/manual/en/function.array-push.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayPushWithOneElementInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMatchExpressionWithOnlyDefaultArmInspection", + "shortDescription": { + "text": "'match' expression has only default arm and should be simplified" + }, + "fullDescription": { + "text": "Reports the 'match' expressions only containing a 'default' arm. Such expressions are redundant and should be simplified. See Match expression (php.net) for details.", + "markdown": "Reports the `match` expressions only containing a `default` arm. Such expressions are redundant and should be simplified.\n\n\nSee [Match expression (php.net)](https://wiki.php.net/rfc/match_expression_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMatchExpressionWithOnlyDefaultArmInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNModifierCanBeReplacedWithNonCapturingGroupInspection", + "shortDescription": { + "text": "'n' modifier can be replaced with non-capturing groups" + }, + "fullDescription": { + "text": "Reports 'n' PCRE modifier, that can be replaced with usage of non-capturing groups instead of capturing in regexp pattern.", + "markdown": "Reports `n` PCRE modifier, that can be replaced with usage of non-capturing groups instead of capturing in regexp pattern." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNModifierCanBeReplacedWithNonCapturingGroupInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantOptionalArgumentInspection", + "shortDescription": { + "text": "Redundant optional argument" + }, + "fullDescription": { + "text": "Reports redundant arguments that match the corresponding default values for optional parameters.", + "markdown": "Reports redundant arguments that match the corresponding default values for optional parameters." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantOptionalArgumentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantReadonlyModifierInspection", + "shortDescription": { + "text": "'readonly' modifier is redundant" + }, + "fullDescription": { + "text": "Reports 'readonly' modifiers applied to properties in read-only classes. Those modifiers are redundant since all properties in read-only classes are implicitly read-only. See Readonly classes RFC (php.net) for details.", + "markdown": "Reports `readonly` modifiers applied to properties in read-only classes. Those modifiers are redundant since all properties in read-only classes are implicitly read-only.\n\n\nSee [Readonly classes RFC (php.net)](https://wiki.php.net/rfc/readonly_classes#proposal) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantReadonlyModifierInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessarySpreadOperatorForFunctionCallArgumentInspection", + "shortDescription": { + "text": "Unnecessary spread operator for function call argument" + }, + "fullDescription": { + "text": "Reports the usages of the spread operator ('...') on array literals in function call arguments that may be safely unwrapped.", + "markdown": "Reports the usages of the spread operator (`...`) on array literals in function call arguments that may be safely unwrapped." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessarySpreadOperatorForFunctionCallArgumentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpStrictComparisonWithOperandsOfDifferentTypesInspection", + "shortDescription": { + "text": "Strict comparison of operands with incompatible types" + }, + "fullDescription": { + "text": "Reports the '===' or '!==' strict comparisons used on operands with incompatible types. See PHP type comparison tables (php.net) for details.", + "markdown": "Reports the `===` or `!==` strict comparisons used on operands with incompatible types.\n\n\nSee [PHP type comparison tables (php.net)](https://www.php.net/manual/en/types.comparisons.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpStrictComparisonWithOperandsOfDifferentTypesInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpExpectedValuesShouldBeUsedInspection", + "shortDescription": { + "text": "Expected values should be used" + }, + "fullDescription": { + "text": "Reports the values in assignment and comparison expressions that should be replaced with one of the expected values (that is, the values specified via the '#[ExpectedValues]' attribute). See Attributes (php.net) for details.", + "markdown": "Reports the values in assignment and comparison expressions that should be replaced with one of the expected values (that is, the values specified via the `#[ExpectedValues]` attribute).\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpExpectedValuesShouldBeUsedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNonCompoundUseInspection", + "shortDescription": { + "text": "Unnecessary statement use" + }, + "fullDescription": { + "text": "Reports the 'use' statements that contain non-fully qualified class names and thus have no effect. The inspection only reports classes imports; functions and constants imports are not considered. See Using namespaces: Aliasing/Importing (php.net) for details.", + "markdown": "Reports the `use` statements that contain non-fully qualified class names and thus have no effect. The inspection only reports classes imports; functions and constants imports are not considered.\n\n\nSee [Using namespaces: Aliasing/Importing (php.net)](http://www.php.net/manual/en/language.namespaces.importing.php#language.namespaces.importing) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpNonCompoundUseInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInvalidInstanceofInspection", + "shortDescription": { + "text": "Argument of 'instanceof' should be only objects or strings" + }, + "fullDescription": { + "text": "Reports arguments of 'instanceof' that are not objects or strings", + "markdown": "Reports arguments of 'instanceof' that are not objects or strings" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpInvalidInstanceofInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecationInspection", + "shortDescription": { + "text": "Deprecated" + }, + "fullDescription": { + "text": "Reports the usages of deprecated entities. In most cases, such usages should be removed or replaced with other constructs.", + "markdown": "Reports the usages of deprecated entities.\n\n\nIn most cases, such usages should be removed or replaced with other constructs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDeprecationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MessDetectorValidationInspection", + "shortDescription": { + "text": "PHP Mess Detector validation" + }, + "fullDescription": { + "text": "Reports coding style problems detected by PHP Mess Detector. The inspection requires PHP Mess Detector to be properly installed and set up in the IDE under Settings | PHP | Quality Tools | Mess Detector. To learn more about installing PHP Mess Detector, see PHP Mess Detector installation (phpmd.org) for details. You can use a predefined set of rules or add your own by specifying valid ruleset.xml files. See the rules index (phpmd.org) and How to create a custom rule set (phpmd.org) for details.", + "markdown": "Reports coding style problems detected by PHP Mess Detector.\n\n\nThe inspection requires PHP Mess Detector to be properly installed and set up in the IDE under\n[Settings \\| PHP \\| Quality Tools \\| Mess Detector](settings://settings.php.quality.tools.mess.detector).\n\n\nTo learn more about installing PHP Mess Detector, see [PHP Mess Detector installation (phpmd.org)](https://phpmd.org/download/index.html) for details.\n\n\nYou can use a predefined set of rules or add your own by specifying valid *ruleset.xml* files. See the [rules index (phpmd.org)](https://phpmd.org/rules/index.html) and [How to create a custom rule set (phpmd.org)](https://phpmd.org/documentation/creating-a-ruleset.html) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "MessDetectorValidationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Quality tools", + "index": 73, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedCastInspection", + "shortDescription": { + "text": "Deprecated cast" + }, + "fullDescription": { + "text": "Reports deprecated cast expressions: '(unset)' cast expressions, which are deprecated in PHP 7.2 and later. '(real)' cast expressions, which are deprecated in PHP 7.4 and later. See Deprecated features in PHP 7.2.x (php.net) and Deprecations for PHP 7.4 (php.net) for details.", + "markdown": "Reports deprecated cast expressions:\n\n* `(unset)` cast expressions, which are deprecated in PHP 7.2 and later.\n* `(real)` cast expressions, which are deprecated in PHP 7.4 and later.\n\n\nSee [Deprecated features in PHP 7.2.x (php.net)](https://www.php.net/manual/en/migration72.deprecated.php#migration72.deprecated.unset-cast) and [Deprecations for PHP 7.4 (php.net)](https://wiki.php.net/rfc/deprecations_php_7_4#the_real_type) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpDeprecatedCastInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertEqualsInspection", + "shortDescription": { + "text": "Deprecated 'assertEquals/assertNotEquals' usage" + }, + "fullDescription": { + "text": "Reports deprecated usages of the 'assertEquals' and 'assertNotEquals' functions with '$delta', '$maxDepth', '$canonicalize', and '$ignoreCase' parameters. The optional '$delta', '$maxDepth', '$canonicalize', and '$ignoreCase' parameters of the 'assertEquals' and 'assertNotEquals' functions are deprecated and will be removed in PHPUnit 9. See Usage of the assertEquals function (phpunit.readthedocs.io) for details.", + "markdown": "Reports deprecated usages of the `assertEquals` and `assertNotEquals` functions with `$delta`, `$maxDepth`, `$canonicalize`, and `$ignoreCase` parameters.\n\nThe optional `$delta`, `$maxDepth`, `$canonicalize`, and `$ignoreCase` parameters\nof the `assertEquals` and `assertNotEquals` functions are deprecated and will be removed in PHPUnit 9.\n\n\nSee [Usage of the assertEquals function (phpunit.readthedocs.io)](https://phpunit.readthedocs.io/en/stable/assertions.html#assertequals) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertEqualsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNestedDirNameCallsCanBeReplacedWithLevelParameterInspection", + "shortDescription": { + "text": "Nested 'dirname()' call can be replaced with 'levels' parameter usage" + }, + "fullDescription": { + "text": "Reports the nested 'dirname()' calls that can be omitted by using the 'levels' parameter instead.", + "markdown": "Reports the nested `dirname()` calls that can be omitted by using the `levels` parameter instead." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNestedDirNameCallsCanBeReplacedWithLevelParameterInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAnnotationToAttributeInspection", + "shortDescription": { + "text": "PHPUnit annotation is deprecated in PHPUnit 11 and can be replaced with attribute" + }, + "fullDescription": { + "text": "Suggests replacing PHPUnit annotations with attributes.", + "markdown": "Suggests replacing PHPUnit annotations with attributes." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnitAnnotationToAttributeInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFieldImmediatelyRewrittenInspection", + "shortDescription": { + "text": "Property is immediately rewritten " + }, + "fullDescription": { + "text": "Reports the write expressions on properties which are immediately overwritten before being accessed.", + "markdown": "Reports the write expressions on properties which are immediately overwritten before being accessed." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpFieldImmediatelyRewrittenInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpExpressionWithoutClarifyingParenthesesInspection", + "shortDescription": { + "text": "Expression without clarifying parentheses" + }, + "fullDescription": { + "text": "Reports potentially ambiguous expressions and proposes enclosing them in clarifying parentheses.", + "markdown": "Reports potentially ambiguous expressions and proposes enclosing them in clarifying parentheses." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpExpressionWithoutClarifyingParenthesesInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantAttributeParenthesisInspection", + "shortDescription": { + "text": "Redundant parentheses in attribute" + }, + "fullDescription": { + "text": "Reports empty arguments lists in attributes. See Attributes (php.net) for details.", + "markdown": "Reports empty arguments lists in attributes.\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantAttributeParenthesisInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpParameterNameChangedDuringInheritanceInspection", + "shortDescription": { + "text": "Parameter's name changed during inheritance" + }, + "fullDescription": { + "text": "Reports the methods' parameters whose names differ from the same parameters defined in parent methods. Starting with PHP 8.0, such code can cause runtime errors.", + "markdown": "Reports the methods' parameters whose names differ from the same parameters defined in parent methods. Starting with PHP 8.0, such code can cause runtime errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpParameterNameChangedDuringInheritanceInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTraitsUseListInspection", + "shortDescription": { + "text": "One-per-line trait uses" + }, + "fullDescription": { + "text": "Reports the cases of several traits being imported via a single 'use' statement. According to PSR-12, each individual trait imported into a class MUST be included one-per-line, and each inclusion MUST have its own 'use' import statement. See PSR-12: Extended Coding Style (php-fig.org) for details.", + "markdown": "Reports the cases of several traits being imported via a single `use` statement.\n\n\nAccording to PSR-12, each individual trait imported into a class MUST be included one-per-line, and each inclusion MUST have its own `use` import statement.\n\n\nSee [PSR-12: Extended Coding Style (php-fig.org)](https://www.php-fig.org/psr/psr-12/#42-using-traits) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTraitsUseListInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style/PSR-12", + "index": 64, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConcatenationWithEmptyStringCanBeInlinedInspection", + "shortDescription": { + "text": "Concatenation to empty string can be merged with assignment" + }, + "fullDescription": { + "text": "Reports the '.=' concatenation assignments performed right after assignment to an empty string literal. Such assignments can be merged together.", + "markdown": "Reports the `.=` concatenation assignments performed right after assignment to an empty string literal. Such assignments can be merged together." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpConcatenationWithEmptyStringCanBeInlinedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDisabledQualityToolComposerInspection", + "shortDescription": { + "text": "Quality tool inspection is disabled" + }, + "fullDescription": { + "text": "Highlights the quality tools' entries in composer.json in case the corresponding code inspections are disabled.", + "markdown": "Highlights the quality tools' entries in *composer.json* in case the corresponding code inspections are disabled." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDisabledQualityToolComposerInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Composer", + "index": 40, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedFieldDefaultValueInspection", + "shortDescription": { + "text": "Redundant property initializer" + }, + "fullDescription": { + "text": "Reports the fields with default initializers that are always overwritten in the class constructor.", + "markdown": "Reports the fields with default initializers that are always overwritten in the class constructor." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedFieldDefaultValueInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Unused symbols", + "index": 39, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayIndexResetIsUnnecessaryInspection", + "shortDescription": { + "text": "Array internal pointer reset is unnecessary" + }, + "fullDescription": { + "text": "Reports the 'reset($array)' calls on arrays whose internal pointer is already set on the first element. Such calls are redundant and can be safely removed. See reset (php.net) for details.", + "markdown": "Reports the `reset($array)` calls on arrays whose internal pointer is already set on the first element. Such calls are redundant and can be safely removed.\n\n\nSee [reset (php.net)](https://www.php.net/manual/en/function.reset.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayIndexResetIsUnnecessaryInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNamedArgumentUsageInspection", + "shortDescription": { + "text": "Argument with name identifier" + }, + "fullDescription": { + "text": "Reports arguments with name identifiers.", + "markdown": "Reports arguments with name identifiers." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNamedArgumentUsageInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpApplyingEmptyIndexOperatorOnStringInspection", + "shortDescription": { + "text": "Empty index operator not supported for strings" + }, + "fullDescription": { + "text": "Reports the usages of empty index operator ('[]') on strings. Starting from PHP 7.1, applying the empty index operator on a string throws a fatal error. See Creating/modifying with square bracket syntax (php.net) for details.", + "markdown": "Reports the usages of empty index operator (`[]`) on strings.\n\n\nStarting from PHP 7.1, applying the empty index operator on a string throws a fatal error.\n\nSee [Creating/modifying with square bracket syntax (php.net)](https://www.php.net/manual/en/language.types.array.php#language.types.array.syntax.modifying) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpApplyingEmptyIndexOperatorOnStringInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTraitUseRuleInsideDifferentClassUseListInspection", + "shortDescription": { + "text": "Trait use rule resolved to method with different containing class " + }, + "fullDescription": { + "text": "Reports the trait method 'use' rules that are resolved to methods from a different containing class rather than the one specified in the 'use' declaration.", + "markdown": "Reports the trait method `use` rules that are resolved to methods from a different containing class rather than the one specified in the `use` declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTraitUseRuleInsideDifferentClassUseListInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertArrayHasKeyInspection", + "shortDescription": { + "text": "Method 'assertArrayHasKey/assertArrayNotHasKey' can be used instead" + }, + "fullDescription": { + "text": "Reports the 'assertTrue()' and 'assertNotTrue()' methods calls that are provided with an 'array_key_exists()' call as an argument. Such calls can be replaced with calls to the dedicated 'assertArrayHasKey()' method. See assertArrayHasKey (phpunit.readthedocs.io) for details.", + "markdown": "Reports the `assertTrue()` and `assertNotTrue()` methods calls that are provided with an `array_key_exists()` call as an argument. Such calls can be replaced with calls to the dedicated `assertArrayHasKey()` method.\n\n\nSee [assertArrayHasKey (phpunit.readthedocs.io)](https://phpunit.readthedocs.io/en/stable/assertions.html#assertarrayhaskey) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertArrayHasKeyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpObjectFieldsAreOnlyWrittenInspection", + "shortDescription": { + "text": "Local object is used only for writing properties" + }, + "fullDescription": { + "text": "Reports the variable assignments to new objects that are used only for writing the object's properties without observable side effects.", + "markdown": "Reports the variable assignments to new objects that are used only for writing the object's properties without observable side effects." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpObjectFieldsAreOnlyWrittenInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryStaticReferenceInspection", + "shortDescription": { + "text": "Redundant 'static' in final class" + }, + "fullDescription": { + "text": "Reports 'static' usages inside final class", + "markdown": "Reports `static` usages inside final class" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryStaticReferenceInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDynamicFieldDeclarationInspection", + "shortDescription": { + "text": "Dynamic property declaration" + }, + "fullDescription": { + "text": "Reports the references to dynamic class properties declarations. Such declaration are deprecated starting from PHP 8.2 The inspection skips the objects of the 'stdClass' or derived types.", + "markdown": "Reports the references to dynamic class properties declarations. Such declaration are deprecated starting from PHP 8.2\n\n\nThe inspection skips the objects of the `stdClass` or derived types." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDynamicFieldDeclarationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocSignatureInspection", + "shortDescription": { + "text": "PHPDoc comment matches function/method signature" + }, + "fullDescription": { + "text": "Reports the parameters' names and types in a PHPDoc comment that do not match the ones in the function/method declaration.", + "markdown": "Reports the parameters' names and types in a PHPDoc comment that do not match the ones in the function/method declaration." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocSignatureInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMultipleClassesDeclarationsInOneFile", + "shortDescription": { + "text": "Multiple classes declarations in one file" + }, + "fullDescription": { + "text": "Reports multiple class declarations in a single file, which violates the PSR-0/PSR-4 standards. See PSR-0/PSR-4 standards (php-fig.org) for details.", + "markdown": "Reports multiple class declarations in a single file, which violates the PSR-0/PSR-4 standards.\n\n\nSee [PSR-0/PSR-4 standards (php-fig.org)](https://www.php-fig.org/psr/psr-4/) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMultipleClassesDeclarationsInOneFile", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayWriteIsNotUsedInspection", + "shortDescription": { + "text": "Array write access is not used" + }, + "fullDescription": { + "text": "Reports the array write access expressions that are not used in code afterwards. The most common source of such problems is modifying an array passed via a parameter: if an array is passed by value, the change will not be visible outside the function.", + "markdown": "Reports the array write access expressions that are not used in code afterwards. The most common source of such problems is modifying an array passed via a parameter: if an array is passed by value, the change will not be visible outside the function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayWriteIsNotUsedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClassCantBeUsedAsAttributeInspection", + "shortDescription": { + "text": "Class cannot be used as attribute" + }, + "fullDescription": { + "text": "Reports the attributes that are resolved to a class not annotated with '#[Attribute]'. See Attributes (php.net) for details.", + "markdown": "Reports the attributes that are resolved to a class not annotated with `#[Attribute]`.\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpClassCantBeUsedAsAttributeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpReturnValueOfMethodIsNeverUsedInspection", + "shortDescription": { + "text": "Method's return value is never used" + }, + "fullDescription": { + "text": "Reports the private methods returning the values that are not used.", + "markdown": "Reports the private methods returning the values that are not used." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpReturnValueOfMethodIsNeverUsedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertFileEqualsInspection", + "shortDescription": { + "text": "Deprecated 'assertFileEquals/assertStringEqualsFile' usage" + }, + "fullDescription": { + "text": "Reports the deprecated usages of the 'assertFileEquals', 'assertFileNotEquals', 'assertStringEqualsFile', and 'assertStringNotEqualsFile' functions with the '$canonicalize' and '$ignoreCase' parameters. The optional '$canonicalize' and '$ignoreCase' parameters of the 'assertFileEquals' and 'assertFileNotEquals' functions are deprecated and will be removed in PHPUnit 9. See Usage of the assertFileEquals function (phpunit.readthedocs.io) or Usage of the assertFileEquals function (phpunit.readthedocs.io) for details.", + "markdown": "Reports the deprecated usages of the `assertFileEquals`, `assertFileNotEquals`, `assertStringEqualsFile`, and `assertStringNotEqualsFile` functions with the `$canonicalize` and `$ignoreCase` parameters.\n\nThe optional `$canonicalize` and `$ignoreCase` parameters\nof the `assertFileEquals` and `assertFileNotEquals` functions are deprecated and will be removed in PHPUnit 9.\n\n\nSee [Usage of the assertFileEquals function (phpunit.readthedocs.io)](https://phpunit.readthedocs.io/en/stable/assertions.html#assertfileequals) or [Usage of the assertFileEquals function (phpunit.readthedocs.io)](https://phpunit.readthedocs.io/en/stable/assertions.html#assertstringequalsfile) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertFileEqualsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVariableVariableInspection", + "shortDescription": { + "text": "Usage of a variable variable" + }, + "fullDescription": { + "text": "Reports the usages of variable variables (dynamic variable names such as '$$a').", + "markdown": "Reports the usages of variable variables (dynamic variable names such as `$$a`)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpVariableVariableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedSerializableUsageInspection", + "shortDescription": { + "text": "Deprecated 'Serializable' interface usage" + }, + "fullDescription": { + "text": "Reports the usages of deprecated 'Serializable' interface. Starting from PHP 8.1, classes that are non-abstract, implement 'Serializable', and do not implement '__serialize()' and '__unserialize()' will throw a deprecation warning. See Phasing out Serializable (php.net) for details.", + "markdown": "Reports the usages of deprecated `Serializable` interface.\n\n\nStarting from PHP 8.1, classes that are non-abstract, implement `Serializable`, and do not implement `__serialize()`\nand `__unserialize()` will throw a deprecation warning.\n\n\nSee [Phasing out Serializable (php.net)](https://wiki.php.net/rfc/custom_object_serialization) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDeprecatedSerializableUsageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedCallbackInspection", + "shortDescription": { + "text": "Undefined callback" + }, + "fullDescription": { + "text": "Reports the functions, methods, properties, or classes that are referenced from a callback but are not found. Use the options below to customize the inspection: Ignore callback from *_exists and is_callable functions: if selected, the inspection will skip callback references from the 'method_exists', 'function_exists', 'property_exists', 'class_exists' and 'is_callable' functions. Don't report in case of ambiguity: if selected, the inspection will skip the parameters with multiple possible types, for example marked as 'callable|string'.", + "markdown": "Reports the functions, methods, properties, or classes that are referenced from a callback but are not found.\n\nUse the options below to customize the inspection:\n\n* **Ignore callback from \\*_exists and is_callable functions** : if selected, the inspection will skip callback references from the `method_exists`, `function_exists`, `property_exists`, `class_exists` and `is_callable` functions.\n* **Don't report in case of ambiguity** : if selected, the inspection will skip the parameters with multiple possible types, for example marked as `callable|string`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUndefinedCallbackInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLoopCanBeConvertedToArrayMapInspection", + "shortDescription": { + "text": "Loop can be converted to 'array_map()' call" + }, + "fullDescription": { + "text": "Reports the 'foreach' loops that can be replaced with 'array_map()' calls.", + "markdown": "Reports the `foreach` loops that can be replaced with `array_map()` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopCanBeConvertedToArrayMapInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpOptionalBeforeRequiredParametersInspection", + "shortDescription": { + "text": "Optional before required parameter" + }, + "fullDescription": { + "text": "Reports the optional parameters that appear before the required parameters in a function/method declaration. See Default argument values (php.net) for details.", + "markdown": "Reports the optional parameters that appear before the required parameters in a function/method declaration.\n\n\nSee [Default argument values (php.net)](http://www.php.net/manual/en/functions.arguments.php#functions.arguments.default) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpOptionalBeforeRequiredParametersInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpStrFunctionsInspection", + "shortDescription": { + "text": "'str*()' calls can be replaced with PHP 8 'str_*()' calls" + }, + "fullDescription": { + "text": "Reports the 'strpos' and 'substr' functions calls that can be replaced with the 'str_*' functions calls (introduced in PHP 8.0). See str_contains (php.net) and str_starts_with and str_ends_with functions (php.net) for details.", + "markdown": "Reports the `strpos` and `substr` functions calls that can be replaced with the `str_*` functions calls (introduced in PHP 8.0).\n\n\nSee [str_contains (php.net)](https://wiki.php.net/rfc/str_contains) and [str_starts_with and str_ends_with functions (php.net)](https://wiki.php.net/rfc/add_str_starts_with_and_ends_with_functions) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpStrFunctionsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocRedundantThrowsInspection", + "shortDescription": { + "text": "Redundant @throws tag(s)" + }, + "fullDescription": { + "text": "Reports '@throws' tags for exceptions that are not thrown by the function or method. The exception classes added to the Unchecked Exceptions list under Settings | PHP | Analysis are excluded from the inspection scope.", + "markdown": "Reports `@throws` tags for exceptions that are not thrown by the function or method.\n\nThe exception classes added to the **Unchecked Exceptions** list under\n[Settings \\| PHP \\| Analysis](settings://reference.webide.settings.project.settings.php?Unchecked%20Exceptions)\nare excluded from the inspection scope." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocRedundantThrowsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSymfonyAnnotationToAttributeInspection", + "shortDescription": { + "text": "Symfony annotation can be replaced with attribute" + }, + "fullDescription": { + "text": "Suggests replacing Symfony annotations with attributes.", + "markdown": "Suggests replacing Symfony annotations with attributes." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSymfonyAnnotationToAttributeInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessarySemicolonInspection", + "shortDescription": { + "text": "Unnecessary semicolon" + }, + "fullDescription": { + "text": "Reports unnecessary semicolons.", + "markdown": "Reports unnecessary semicolons." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessarySemicolonInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayMapCanBeConvertedToLoopInspection", + "shortDescription": { + "text": "'array_map()' call can be converted to loop" + }, + "fullDescription": { + "text": "Reports the 'array_map()' calls that can be replaced with 'foreach' loops.", + "markdown": "Reports the `array_map()` calls that can be replaced with `foreach` loops." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayMapCanBeConvertedToLoopInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCSValidationInspection", + "shortDescription": { + "text": "PHP_CodeSniffer validation" + }, + "fullDescription": { + "text": "Reports coding style problems detected by PHP_CodeSniffer. The inspection requires PHP_CodeSniffer to be properly installed and set up in the IDE under Settings | PHP | Quality Tools | PHP_CodeSniffer. To learn more about installing PHP_CodeSniffer, see PHP_CodeSniffer installation (GitHub).", + "markdown": "Reports coding style problems detected by PHP_CodeSniffer.\n\n\nThe inspection requires PHP_CodeSniffer to be properly installed and set up in the IDE under\n[Settings \\| PHP \\| Quality Tools \\| PHP_CodeSniffer](settings://settings.php.quality.tools.php.code.sniffer).\n\n\nTo learn more about installing PHP_CodeSniffer, see [PHP_CodeSniffer installation (GitHub)](https://github.com/squizlabs/PHP_CodeSniffer#installation)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCSValidationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Quality tools", + "index": 73, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryStringCastInspection", + "shortDescription": { + "text": "Redundant cast to string" + }, + "fullDescription": { + "text": "Reports the '(string)' casts and 'strval()' calls that are redundant since casting to string is performed implicitly.", + "markdown": "Reports the `(string)` casts and `strval()` calls that are redundant since casting to string is performed implicitly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryStringCastInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNullIsNotCompatibleWithParameterInspection", + "shortDescription": { + "text": "'null' is not compatible with parameter's declared type" + }, + "fullDescription": { + "text": "Reports the variables that are initialised via passing them by reference to a parameter incompatible with 'null'.", + "markdown": "Reports the variables that are initialised via passing them by reference to a parameter incompatible with `null`." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpNullIsNotCompatibleWithParameterInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPregReplaceWithEmptyReplacementInspection", + "shortDescription": { + "text": "'preg_replace()' can be replaced with '(l|r)trim' call" + }, + "fullDescription": { + "text": "Reports the 'preg_replace()' calls with empty 'replacement'. Such calls can be replaced with '(l|r)trim' calls.", + "markdown": "Reports the `preg_replace()` calls with empty `replacement`. Such calls can be replaced with `(l|r)trim` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPregReplaceWithEmptyReplacementInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantClosingTagInspection", + "shortDescription": { + "text": "Redundant closing tag" + }, + "fullDescription": { + "text": "Reports PHP closing tag '?>' usages, which are redundant in files containing only PHP code.", + "markdown": "Reports PHP closing tag `?>` usages, which are redundant in files containing only PHP code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantClosingTagInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryStopStatementInspection", + "shortDescription": { + "text": "Unnecessary 'return/continue' statement" + }, + "fullDescription": { + "text": "Reports unnecessary 'return' and 'continue' statements that can be safely removed.", + "markdown": "Reports unnecessary `return` and `continue` statements that can be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryStopStatementInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDeprecatedAutoloadDeclarationInspection", + "shortDescription": { + "text": "Deprecated '__autoload()' function declaration" + }, + "fullDescription": { + "text": "Reports the '__autoload()' function declarations. Starting from PHP 7.4, declaring '__autoload()' functions is deprecated. Starting from PHP 8.0, declaring '__autoload()' functions is forbidden. See __autoload (php.net) for details.", + "markdown": "Reports the `__autoload()` function declarations.\n\n* Starting from PHP 7.4, declaring `__autoload()` functions is deprecated.\n* Starting from PHP 8.0, declaring `__autoload()` functions is forbidden.\n\n\nSee [__autoload (php.net)](https://www.php.net/manual/en/function.autoload.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDeprecatedAutoloadDeclarationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpExpressionWithSameOperandsInspection", + "shortDescription": { + "text": "Logical expression has same operands" + }, + "fullDescription": { + "text": "Reports the expressions that use the same operands, but should rather use different operands (for example, '$var == $var'). These include comparison, logical, null-coalescing, subtraction, and division expressions.", + "markdown": "Reports the expressions that use the same operands, but should rather use different operands (for example, `$var == $var`). These include comparison, logical, null-coalescing, subtraction, and division expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpExpressionWithSameOperandsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArithmeticTypeCheckInspection", + "shortDescription": { + "text": "Arithmetic operation with unsupported operands" + }, + "fullDescription": { + "text": "Reports arithmetic and bitwise expressions with unsupported operands. Starting with PHP 8.0, using the arithmetic and bitwise operators '+', '-', '*', '/', '**', '%', '<<', '>>', '&', '|', '^', '~', '++', '--' when one of the operands is an array, resource, or non-overloaded object will result in a 'TypeError'. The only exception is the 'array + array' merge operation, which remains supported. See PHP's internal test source for the complete list of operations.", + "markdown": "Reports arithmetic and bitwise expressions with unsupported operands.\n\n\nStarting with PHP 8.0, using the arithmetic and bitwise operators `+`, `-`, `*`, `/`, `**`, `%`, `<<`, `>>`, `&`, `|`, `^`, `~`, `++`, `--`\nwhen one of the operands is an array, resource, or non-overloaded object will result in a `TypeError`. The only exception is the\n`array + array` merge operation, which remains supported.\n\n\nSee [PHP's internal test source](https://github.com/php/php-src/blob/master/Zend/tests/operator_unsupported_types.phpt) for the complete list of operations." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpArithmeticTypeCheckInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConditionAlreadyCheckedInspection", + "shortDescription": { + "text": "Condition always evaluates to 'true/false'" + }, + "fullDescription": { + "text": "Reports the conditions that are already covered by earlier conditions and thus have no effect as well as the variables that are always true (or always false) when reached.", + "markdown": "Reports the conditions that are already covered by earlier conditions and thus have no effect as well as the variables that are always true (or always false) when reached." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpConditionAlreadyCheckedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantVariableDocTypeInspection", + "shortDescription": { + "text": "Redundant @var tag" + }, + "fullDescription": { + "text": "Reports the '@var' tags for variables whose type is already inferred from source code.", + "markdown": "Reports the `@var` tags for variables whose type is already inferred from source code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantVariableDocTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMethodNamingConventionInspection", + "shortDescription": { + "text": "Method name is not following coding convention" + }, + "fullDescription": { + "text": "Reports the methods' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for methods. Use the inspection options to specify minimum/maximum length and the regular expression expected for methods' names. To ignore the names' length, specify 0. To learn more about regular expressions, refer to the Quick Start guide (regular-expressions.info).", + "markdown": "Reports the methods' names that are either too short, too long, or do not follow the specified regular expression pattern. Some coding styles have a special naming convention for methods.\n\n\nUse the inspection options to specify minimum/maximum length and the regular expression expected for methods' names.\nTo ignore the names' length, specify **0**.\n\n\nTo learn more about regular expressions, refer to the [Quick Start guide (regular-expressions.info)](https://www.regular-expressions.info/quickstart.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMethodNamingConventionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Naming conventions", + "index": 4, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFuncGetArgCanBeReplacedWithParamInspection", + "shortDescription": { + "text": "'func_get_arg()' call can be replaced with parameter access" + }, + "fullDescription": { + "text": "Reports the 'func_get_arg()' calls that can be replaced with direct parameter access.", + "markdown": "Reports the `func_get_arg()` calls that can be replaced with direct parameter access." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpFuncGetArgCanBeReplacedWithParamInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpBooleanCanBeSimplifiedInspection", + "shortDescription": { + "text": "Boolean expression can be simplified" + }, + "fullDescription": { + "text": "Reports the boolean expressions that contain the 'true' or 'false' literals and can be simplified.", + "markdown": "Reports the boolean expressions that contain the `true` or `false` literals and can be simplified." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpBooleanCanBeSimplifiedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitCoversByAccessModifierIsDeprecatedInspection", + "shortDescription": { + "text": "Deprecated @covers/@uses by access modifier annotation" + }, + "fullDescription": { + "text": "Reports the '@covers' and '@uses' PHPUnit doc tags that are using 'ClassName::<*>'. Such annotations won't be supported in PHPUnit 10 and later.", + "markdown": "Reports the `@covers` and `@uses` PHPUnit doc tags that are using `ClassName::<*>`. Such annotations won't be supported in PHPUnit 10 and later." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitCoversByAccessModifierIsDeprecatedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedPrivateMethodInspection", + "shortDescription": { + "text": "Unused private method" + }, + "fullDescription": { + "text": "Reports the private methods that are never used.", + "markdown": "Reports the private methods that are never used." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedPrivateMethodInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Unused symbols", + "index": 39, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRandArgumentsInReverseOrderInspection", + "shortDescription": { + "text": "Misordered 'rand' function arguments" + }, + "fullDescription": { + "text": "Reports the 'rand($min, $max)' family function calls in which the 'max' argument is less than 'min'. For such functions as 'mt_rand' and 'random_int', this will result in a fatal error.", + "markdown": "Reports the `rand($min, $max)` family function calls in which the `max` argument is less than `min`. For such functions as `mt_rand` and `random_int`, this will result in a fatal error." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpRandArgumentsInReverseOrderInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAssignmentReplaceableWithPrefixExpressionInspection", + "shortDescription": { + "text": "Assignment can be replaced with increment or decrement" + }, + "fullDescription": { + "text": "Reports the assignments that can be replaced with incrementing ('++') or decrementing ('--') operations.", + "markdown": "Reports the assignments that can be replaced with incrementing (`++`) or decrementing (`--`) operations." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpAssignmentReplaceableWithPrefixExpressionInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Replaceable assignments", + "index": 87, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAttributeIsNotRepeatableInspection", + "shortDescription": { + "text": "Non-repeatable attribute" + }, + "fullDescription": { + "text": "Reports repeated attributes without the 'Attribute::IS_REPEATABLE' flag in their arguments declaration. See Attributes (php.net) for details.", + "markdown": "Reports repeated attributes without the `Attribute::IS_REPEATABLE` flag in their arguments declaration.\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpAttributeIsNotRepeatableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpObjectShapeCanBeAddedInspection", + "shortDescription": { + "text": "ObjectShape can be added" + }, + "fullDescription": { + "text": "Reports public properties of an object with specified types. Suggests specifying the shape of the returned object via the '#[ObjectShape]' attribute or an object shape in the PHPDoc comment. Example: '$a = new stdClass();\n $a->name = \"name\";\n $a->age = 2;' After the quick-fix is applied: '/** @var $a object{name: string, age: int} */\n $a = new stdClass();\n $a->name = \"name\";\n $a->age = 2;'", + "markdown": "Reports public properties of an object with specified types. Suggests specifying the shape of the returned object via the `#[ObjectShape]` attribute or an object shape in the PHPDoc comment.\n\n**Example:**\n\n\n $a = new stdClass();\n $a->name = \"name\";\n $a->age = 2;\n\nAfter the quick-fix is applied:\n\n\n /** @var $a object{name: string, age: int} */\n $a = new stdClass();\n $a->name = \"name\";\n $a->age = 2;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpObjectShapeCanBeAddedInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInvalidMagicMethodModifiersInspection", + "shortDescription": { + "text": "Invalid magic method modifiers" + }, + "fullDescription": { + "text": "Reports the magic methods that are not declared as public or are declared as static.", + "markdown": "Reports the magic methods that are not declared as public or are declared as static." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpInvalidMagicMethodModifiersInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpWrongCatchClausesOrderInspection", + "shortDescription": { + "text": "Wrong catch clauses order" + }, + "fullDescription": { + "text": "Reports the exceptions that are already caught by a preceding exception and the exceptions that are caught twice. The 'catch' clauses must be ordered from more specific to more generic ones. Otherwise, some exceptions may not be caught by the most specific handler. See Exceptions (php.net) for details.", + "markdown": "Reports the exceptions that are already caught by a preceding exception and the exceptions that are caught twice.\n\n\nThe `catch` clauses must be ordered from more specific to more generic ones. Otherwise, some exceptions may not be caught by the most specific handler.\n\n\nSee [Exceptions (php.net)](http://www.php.net/manual/en/language.exceptions.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpWrongCatchClausesOrderInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Error handling", + "index": 76, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVarUsageInspection", + "shortDescription": { + "text": "Usage of var" + }, + "fullDescription": { + "text": "Reports the usages of the 'var' keyword for declaring class properties. According to PSR-12, the 'var' keyword MUST NOT be used to declare a property. See PSR-12: Extended Coding Style (php-fig.org) for details.", + "markdown": "Reports the usages of the `var` keyword for declaring class properties.\n\nAccording to PSR-12, the `var` keyword MUST NOT be used to declare a property.\n\n\nSee [PSR-12: Extended Coding Style (php-fig.org)](https://www.php-fig.org/psr/psr-12/#43-properties-and-constants) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpVarUsageInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style/PSR-12", + "index": 64, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPregSplitWithoutRegExpInspection", + "shortDescription": { + "text": "'preg_split' can be replaced with 'explode'" + }, + "fullDescription": { + "text": "Reports 'preg_split()' calls that can be replaced with 'explode()'.", + "markdown": "Reports `preg_split()` calls that can be replaced with `explode()`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPregSplitWithoutRegExpInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnpackingArraysWithStringKeysInspection", + "shortDescription": { + "text": "Unpacking arrays with string keys is forbidden for PHP < 8.1" + }, + "fullDescription": { + "text": "Reports array unpacking with string keys in PHP < 8.1 See Array unpacking with string keys for details.", + "markdown": "Reports array unpacking with string keys in PHP \\< 8.1\n\n\nSee [Array unpacking with string keys](https://wiki.php.net/rfc/array_unpacking_string_keys) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpUnpackingArraysWithStringKeysInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSillyAssignmentInspection", + "shortDescription": { + "text": "Redundant assignment" + }, + "fullDescription": { + "text": "Reports the assignment statements, in which both sides are equal. Such assignments have no effect and can be removed.", + "markdown": "Reports the assignment statements, in which both sides are equal. Such assignments have no effect and can be removed." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpSillyAssignmentInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFullyQualifiedNameUsageInspection", + "shortDescription": { + "text": "Fully qualified name usage" + }, + "fullDescription": { + "text": "Reports the fully qualified class names that can be shortened by adding the 'use' statement.", + "markdown": "Reports the fully qualified class names that can be shortened by adding the `use` statement." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpFullyQualifiedNameUsageInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSuspiciousNameCombinationInspection", + "shortDescription": { + "text": "Suspicious names combination" + }, + "fullDescription": { + "text": "Reports the assignments and function calls where the name of the variable or parameter probably doesn't match the name of the assigned or passed value. The following sets of names are supported: 'needle', 'haystack' 'x', 'y' 'top', 'bottom', 'left', 'right' 'year', 'month', 'week', 'day', 'hour', 'minute', 'second'", + "markdown": "Reports the assignments and function calls where the name of the variable or parameter probably doesn't match the name of the assigned or passed value.\n\n\nThe following sets of names are supported:\n\n* `needle`, `haystack`\n* `x`, `y`\n* `top`, `bottom`, `left`, `right`\n* `year`, `month`, `week`, `day`, `hour`, `minute`, `second`" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpSuspiciousNameCombinationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRangesInClassCanBeMergedInspection", + "shortDescription": { + "text": "Ranges in class can be merged" + }, + "fullDescription": { + "text": "Reports the alphabetic ranges or characters in regular expression character classes that only adjust the already existing ranges. Such elements can be merged with the adjusted ranges.", + "markdown": "Reports the alphabetic ranges or characters in regular expression character classes that only adjust the already existing ranges. Such elements can be merged with the adjusted ranges." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRangesInClassCanBeMergedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Regular expressions", + "index": 71, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPossiblePolymorphicInvocationInspection", + "shortDescription": { + "text": "Possible polymorphic call" + }, + "fullDescription": { + "text": "Reports polymorphic code usages. Such usages are ambiguous and can be potentially inoperable depending on the class instance passed as the argument.", + "markdown": "Reports polymorphic code usages. Such usages are ambiguous and can be potentially inoperable depending on the class instance passed as the argument." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPossiblePolymorphicInvocationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDuplicateMatchConditionInspection", + "shortDescription": { + "text": "Duplicate condition" + }, + "fullDescription": { + "text": "Reports duplicate conditions in 'match' expressions. See Match expression (php.net) for details.", + "markdown": "Reports duplicate conditions in `match` expressions.\n\n\nSee [Match expression (php.net)](https://wiki.php.net/rfc/match_expression_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDuplicateMatchConditionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDuplicateSwitchCaseBodyInspection", + "shortDescription": { + "text": "Duplicate branch in switch statement" + }, + "fullDescription": { + "text": "Reports the 'switch' statements containing the same code in different branches.", + "markdown": "Reports the `switch` statements containing the same code in different branches." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpDuplicateSwitchCaseBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpStatementWithoutBracesInspection", + "shortDescription": { + "text": "Control statement body without braces" + }, + "fullDescription": { + "text": "Reports the control structures (such as loops or conditionals) whose bodies are not enclosed in braces. See Control structures (php.net) for details.", + "markdown": "Reports the control structures (such as loops or conditionals) whose bodies are not enclosed in braces.\n\n\nSee [Control structures (php.net)](https://www.php.net/manual/en/language.control-structures.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpStatementWithoutBracesInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPregMatchRedundantClosureInspection", + "shortDescription": { + "text": "Redundant closure '.*'" + }, + "fullDescription": { + "text": "Reports redundant leading and trailing '.*' in pattern for `preg_match` function.", + "markdown": "Reports redundant leading and trailing '.\\*' in pattern for \\`preg_match\\` function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPregMatchRedundantClosureInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpShortOpenEchoTagInspection", + "shortDescription": { + "text": "Short open 'echo' tag usage" + }, + "fullDescription": { + "text": "Reports short PHP 'echo' tag '' can be used" + }, + "fullDescription": { + "text": "Reports the null-checking conditional expressions that can be safely replaced with the '?->' nullsafe operator.", + "markdown": "Reports the null-checking conditional expressions that can be safely replaced with the `?->` nullsafe operator." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNullSafeOperatorCanBeUsedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCommentCanBeReplacedWithNamedArgumentInspection", + "shortDescription": { + "text": "Comment can be replaced with named argument" + }, + "fullDescription": { + "text": "Reports the inline comments before arguments in function calls that only contain the name of the parameter and thus serve as hints. In PHP 8.0 and later, named arguments can be used instead. See Named arguments (php.net) for details.", + "markdown": "Reports the inline comments before arguments in function calls that only contain the name of the parameter and thus serve as hints. In PHP 8.0 and later, named arguments can be used instead.\n\n\nSee [Named arguments (php.net)](https://wiki.php.net/rfc/match_expression_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCommentCanBeReplacedWithNamedArgumentInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLineCommentWillBeParsedAsAttributeInspection", + "shortDescription": { + "text": "Comment is parsed as attribute in PHP 8.0" + }, + "fullDescription": { + "text": "Reports line comments starting with '#['. In PHP 8.0 and later, such comments are parsed as attributes. See Attributes (php.net) for details.", + "markdown": "Reports line comments starting with `#[`. In PHP 8.0 and later, such comments are parsed as attributes.\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpLineCommentWillBeParsedAsAttributeInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayShapeCanBeAddedInspection", + "shortDescription": { + "text": "'#[ArrayShape]' attribute can be added" + }, + "fullDescription": { + "text": "Reports the methods and functions that are returning arrays with known non-trivial keys. Suggests specifying the shape of the returned array via the '#[ArrayShape]' attribute or an array shape in the PHPDoc comment.", + "markdown": "Reports the methods and functions that are returning arrays with known non-trivial keys. Suggests specifying the shape of the returned array via the `#[ArrayShape]` attribute or an array shape in the PHPDoc comment." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayShapeCanBeAddedInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantCatchClauseInspection", + "shortDescription": { + "text": "Redundant catch clause" + }, + "fullDescription": { + "text": "Reports the 'catch' clauses with exceptions that are never thrown from the corresponding 'try' block.", + "markdown": "Reports the `catch` clauses with exceptions that are never thrown from the corresponding `try` block." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantCatchClauseInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Error handling", + "index": 76, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnpackedArgumentTypeMismatchInspection", + "shortDescription": { + "text": "Invalid type of unpacked argument" + }, + "fullDescription": { + "text": "Reports unpacked function arguments and array elements whose type is neither 'array' nor 'Traversable'. Starting with PHP 8.0, such usages will result in 'Fatal error'.", + "markdown": "Reports unpacked function arguments and array elements whose type is neither `array` nor `Traversable`.\n\n\nStarting with PHP 8.0, such usages will result in `Fatal error`." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnpackedArgumentTypeMismatchInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryLeadingBackslashInUseStatementInspection", + "shortDescription": { + "text": "Unnecessary leading '\\' in 'use' statement" + }, + "fullDescription": { + "text": "Reports the 'use' statements with an unnecessary leading '\\'. For namespaced names (fully qualified namespace names containing a namespace separator, such as 'Foo\\Bar' as opposed to global names that do not, such as 'FooBar'), the leading backslash is unnecessary and not recommended, as import names must be fully qualified and are not processed relative to the current namespace. See Using namespaces: Aliasing/Importing (php.net) for details.", + "markdown": "Reports the `use` statements with an unnecessary leading `\\`.\n\n\nFor namespaced names (fully qualified namespace names containing a namespace separator, such as `Foo\\Bar` as opposed to global names that do not, such as `FooBar`), the leading backslash is unnecessary and not recommended, as import names must be fully qualified and are not processed relative to the current namespace.\n\n\nSee [Using namespaces: Aliasing/Importing (php.net)](https://www.php.net/manual/en/language.namespaces.importing.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryLeadingBackslashInUseStatementInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertTrueWithIncompatibleTypeArgumentInspection", + "shortDescription": { + "text": "'assertTrue()' with incompatible argument type" + }, + "fullDescription": { + "text": "Reports the PHPUnit 'assertTrue()' calls whose arguments are of incompatible types. Since the 'assertTrue()' method relies on strict types comparison with 'true', such assertions will always fail.", + "markdown": "Reports the PHPUnit `assertTrue()` calls whose arguments are of incompatible types. Since the `assertTrue()` method relies on strict types comparison with `true`, such assertions will always fail." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUnitAssertTrueWithIncompatibleTypeArgumentInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDuplicateOperandInComparisonInspection", + "shortDescription": { + "text": "Duplicate operand in comparison" + }, + "fullDescription": { + "text": "Reports duplicate operands in binary expressions ('+', '-', '*', '/', '&&', '||', and '.') that are in turn used inside comparison expressions. Such operands do not affect the comparison result and can be safely removed.", + "markdown": "Reports duplicate operands in binary expressions (`+`, `-`, `*`, `/`, `&&`, `||`, and `.`) that are in turn used inside comparison expressions. Such operands do not affect the comparison result and can be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDuplicateOperandInComparisonInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedClassInspection", + "shortDescription": { + "text": "Undefined class" + }, + "fullDescription": { + "text": "Reports the references to classes whose declarations are not found in the project files, configured include paths, or among the PHP predefined classes. Use the options below to customize the inspection: Ignore PHPDoc: if selected, the inspection will not report the undefined classes referenced in PHPDoc blocks.", + "markdown": "Reports the references to classes whose declarations are not found in the project files, configured include paths, or among the PHP predefined classes.\n\nUse the options below to customize the inspection:\n\n* **Ignore PHPDoc**: if selected, the inspection will not report the undefined classes referenced in PHPDoc blocks." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUndefinedClassInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNestedMinMaxCallInspection", + "shortDescription": { + "text": "Nested 'min/max' call" + }, + "fullDescription": { + "text": "Reports nested 'min'/'max' calls. Since the 'min'/'max' functions accept any number of arguments, such nested calls are redundant.", + "markdown": "Reports nested `min`/`max` calls. Since the `min`/`max` functions accept any number of arguments, such nested calls are redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNestedMinMaxCallInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPluralMixedCanBeReplacedWithArrayInspection", + "shortDescription": { + "text": "'mixed' type can be replaced with 'array'" + }, + "fullDescription": { + "text": "Reports the 'mixed[]' usages in PHPDoc blocks that can be safely replaced with 'array'.", + "markdown": "Reports the `mixed[]` usages in PHPDoc blocks that can be safely replaced with `array`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPluralMixedCanBeReplacedWithArrayInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCompoundNamespaceDepthInspection", + "shortDescription": { + "text": "Compound namespace depth is more than 2" + }, + "fullDescription": { + "text": "Reports the usages of compound namespaces whose depth exceeds two levels. According to PSR-12, compound namespaces with a depth of more than two MUST NOT be used. See PSR-12: Extended Coding Style (php-fig.org) for details.", + "markdown": "Reports the usages of compound namespaces whose depth exceeds two levels.\n\nAccording to PSR-12, compound namespaces with a depth of more than two MUST NOT be used.\n\n\nSee [PSR-12: Extended Coding Style (php-fig.org)](https://www.php-fig.org/psr/psr-12/#3-declare-statements-namespace-and-import-statements) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpCompoundNamespaceDepthInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style/PSR-12", + "index": 64, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArgumentWithoutNamedIdentifierInspection", + "shortDescription": { + "text": "Argument without name identifier" + }, + "fullDescription": { + "text": "Reports arguments without name identifiers.", + "markdown": "Reports arguments without name identifiers." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArgumentWithoutNamedIdentifierInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDuplicatedCharacterInStrFunctionCallInspection", + "shortDescription": { + "text": "Duplicate character in function call" + }, + "fullDescription": { + "text": "Reports duplicate characters provided in the 'characters' argument of functions like 'ltrim' or 'str_words_counts'. Such duplicates are most probably a mistake and can be safely removed.", + "markdown": "Reports duplicate characters provided in the `characters` argument of functions like `ltrim` or `str_words_counts`. Such duplicates are most probably a mistake and can be safely removed." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpDuplicatedCharacterInStrFunctionCallInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUndefinedConstantInspection", + "shortDescription": { + "text": "Undefined constant" + }, + "fullDescription": { + "text": "Reports the references to constants that are not found in the project files, configured include paths, or among the PHP predefined constants.", + "markdown": "Reports the references to constants that are not found in the project files, configured include paths, or among the PHP predefined constants." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpUndefinedConstantInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUncoveredEnumCasesInspection", + "shortDescription": { + "text": "Some enum cases are uncovered" + }, + "fullDescription": { + "text": "Reports the 'match' expressions that don't cover all 'enum' cases in 'match' arm conditions.", + "markdown": "Reports the `match` expressions that don't cover all `enum` cases in `match` arm conditions." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpUncoveredEnumCasesInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMethodOrClassCallIsNotCaseSensitiveInspection", + "shortDescription": { + "text": "Case mismatch in method call or class usage" + }, + "fullDescription": { + "text": "Reports the usages of functions, methods, classes, and namespaces that do not match the case used in their declarations.", + "markdown": "Reports the usages of functions, methods, classes, and namespaces that do not match the case used in their declarations." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMethodOrClassCallIsNotCaseSensitiveInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAccessStaticViaInstanceInspection", + "shortDescription": { + "text": "Class static member accessed via instance" + }, + "fullDescription": { + "text": "Reports references to static methods and fields via a class instance rather than the class itself. Even though referring to static members via instance variables is allowed by PHP, this makes the code confusing, as the reader may think that the result of the method depends on the instance. The quick-fix replaces the instance variable with the class name. Example: 'class StaticClass {\n public static function someStaticFunction(): int\n {\n return 3;\n }\n\n }\n\n $var = new StaticClass\n $var::someStaticFunction();' After the quick-fix is applied: 'StaticClass::someStaticFunction()'", + "markdown": "Reports references to static methods and fields via a class instance rather than the class itself.\n\nEven though referring to static members via instance variables is allowed by PHP,\nthis makes the code confusing, as the reader may think that the result of the method depends on the instance.\n\nThe quick-fix replaces the instance variable with the class name.\n\nExample:\n\n\n class StaticClass {\n public static function someStaticFunction(): int\n {\n return 3;\n }\n\n }\n\n $var = new StaticClass\n $var::someStaticFunction();\n\nAfter the quick-fix is applied:\n\n\n StaticClass::someStaticFunction()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpAccessStaticViaInstanceInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRegExpRedundantModifierInspection", + "shortDescription": { + "text": "Redundant modifier" + }, + "fullDescription": { + "text": "Reports the 'i' (case insensitivity) modifiers that are used in regular expression patterns containing no letters. Such modifiers are redundant and can be safely removed.", + "markdown": "Reports the `i` (case insensitivity) modifiers that are used in regular expression patterns containing no letters. Such modifiers are redundant and can be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRegExpRedundantModifierInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Regular expressions", + "index": 71, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAttributeCanBeAddedToOverriddenMemberInspection", + "shortDescription": { + "text": "Attribute can be added to overriding member " + }, + "fullDescription": { + "text": "Reports the methods' and parameters' attributes that can be propagated to overriding methods/parameters. See Attributes (php.net) for details.", + "markdown": "Reports the methods' and parameters' attributes that can be propagated to overriding methods/parameters.\n\n\nSee [Attributes (php.net)](https://wiki.php.net/rfc/attributes_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpAttributeCanBeAddedToOverriddenMemberInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedundantDocCommentInspection", + "shortDescription": { + "text": "Redundant PHPDoc comment" + }, + "fullDescription": { + "text": "Reports PHPDoc comments or their parts that contain the information already provided in declarations.", + "markdown": "Reports PHPDoc comments or their parts that contain the information already provided in declarations." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpRedundantDocCommentInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedPrivateFieldInspection", + "shortDescription": { + "text": "Unused private property" + }, + "fullDescription": { + "text": "Reports the private properties that are never used.", + "markdown": "Reports the private properties that are never used." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedPrivateFieldInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Unused symbols", + "index": 39, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSingleStatementWithBracesInspection", + "shortDescription": { + "text": "Single-statement body with braces" + }, + "fullDescription": { + "text": "Reports the control structures (such as loops or conditionals) whose bodies are enclosed in braces but only contain a single child statement. Using braces in such cases is not necessary. See Control structures (php.net) for details.", + "markdown": "Reports the control structures (such as loops or conditionals) whose bodies are enclosed in braces but only contain a single child statement. Using braces in such cases is not necessary.\n\n\nSee [Control structures (php.net)](https://www.php.net/manual/en/language.control-structures.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSingleStatementWithBracesInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpOverriddenMethodExistsInspection", + "shortDescription": { + "text": "Method does not override the method from its superclass" + }, + "fullDescription": { + "text": "Checks that the overridden method exists. See PHP RFC: Marking overridden methods (wiki.php.net) for details.", + "markdown": "Checks that the overridden method exists.\n\n\nSee [PHP RFC: Marking overridden methods (wiki.php.net)](https://wiki.php.net/rfc/marking_overriden_methods) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpOverriddenMethodExistsInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryBoolCastInspection", + "shortDescription": { + "text": "Redundant cast to boolean" + }, + "fullDescription": { + "text": "Reports the '(bool)'/'(boolean)' casts and 'boolval()' calls that are redundant since casting to 'bool' is performed implicitly.", + "markdown": "Reports the `(bool)`/`(boolean)` casts and `boolval()` calls that are redundant since casting to `bool` is performed implicitly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryBoolCastInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnnecessaryElseBranchInspection", + "shortDescription": { + "text": "Unnecessary 'else' branch" + }, + "fullDescription": { + "text": "Reports the 'else' branches in 'if' statements whose bodies always execute a terminating statement such as 'return' or 'throw'. Such branches are redundant and can be safely omitted.", + "markdown": "Reports the `else` branches in `if` statements whose bodies always execute a terminating statement such as `return` or `throw`. Such branches are redundant and can be safely omitted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnnecessaryElseBranchInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedMatchConditionInspection", + "shortDescription": { + "text": "Unused 'match' condition" + }, + "fullDescription": { + "text": "Reports the conditions in 'match' expressions that will never be matched. Similarly to PHP Engine behavior, the inspection uses strict comparison ('===') to check the types in 'match' conditions against the 'match' argument type, regardless of the 'strict_types' directive. Since no type coercion occurs, some conditions may be non-matched due to non-matching types. See Match expression (php.net) for details.", + "markdown": "Reports the conditions in `match` expressions that will never be matched.\n\n\nSimilarly to PHP Engine behavior, the inspection uses strict comparison (`===`) to check the types in `match` conditions against the `match` argument type, regardless of the `strict_types` directive. Since no type coercion occurs, some conditions may be non-matched due to non-matching types.\n\n\nSee [Match expression (php.net)](https://wiki.php.net/rfc/match_expression_v2) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedMatchConditionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpComposerDuplicatedRequirementInspection", + "shortDescription": { + "text": "Duplicate package entries in composer.json" + }, + "fullDescription": { + "text": "Reports duplicate package entries in the 'require' and 'require-dev' sections of composer.json.", + "markdown": "Reports duplicate package entries in the `require` and `require-dev` sections of *composer.json*." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpComposerDuplicatedRequirementInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Composer", + "index": 40, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpExpressionResultUnusedInspection", + "shortDescription": { + "text": "Expression result unused" + }, + "fullDescription": { + "text": "Reports the expressions that are calculated, but the calculation result is not used anywhere. Such errors can be caused, for example, by misspelling the '=' operator as '=='.", + "markdown": "Reports the expressions that are calculated, but the calculation result is not used anywhere.\n\nSuch errors can be caused, for example, by misspelling the `=` operator as `==`." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpExpressionResultUnusedInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInternalEntityUsedInspection", + "shortDescription": { + "text": "Usage of internal entity" + }, + "fullDescription": { + "text": "Reports the usages of the entities that are marked as '@internal' and are located in different source roots. The usages located in the same source root are not reported. In most cases, the reported usages should be removed or replaced with other constructs.", + "markdown": "Reports the usages of the entities that are marked as `@internal` and are located in different source roots. The usages located in the same source root are not reported.\n\n\nIn most cases, the reported usages should be removed or replaced with other constructs." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpInternalEntityUsedInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SymfonyImportMapModuleIsNotInstalled", + "shortDescription": { + "text": "Module is not installed in importmap" + }, + "fullDescription": { + "text": "Reports not installed module and suggests to run \"importmap:require\" or \"importmap:install\" command", + "markdown": "Reports not installed module and suggests to run \"importmap:require\" or \"importmap:install\" command" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SymfonyImportMapModuleIsNotInstalled", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Symfony", + "index": 27, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPointlessBooleanExpressionInConditionInspection", + "shortDescription": { + "text": "Pointless boolean expression inside 'if' condition" + }, + "fullDescription": { + "text": "Reports the boolean expressions inside 'if' conditions that contain '$expr == true' or '$expr == false'. Such expressions can be simplified to 'if($expr)' and 'if(!expr)'.", + "markdown": "Reports the boolean expressions inside `if` conditions that contain `$expr == true` or `$expr == false`. Such expressions can be simplified to `if($expr)` and `if(!expr)`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPointlessBooleanExpressionInConditionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpNamedArgumentsWithChangedOrderInspection", + "shortDescription": { + "text": "Named arguments order does not match parameters order" + }, + "fullDescription": { + "text": "Reports named argument with order that does not match parameter order", + "markdown": "Reports named argument with order that does not match parameter order" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpNamedArgumentsWithChangedOrderInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCaseWithValueNotFoundInEnumInspection", + "shortDescription": { + "text": "Case with specified value not found in enum" + }, + "fullDescription": { + "text": "Reports the arguments of enum's 'from' method calls that are not found in target enum classes. See Enumerations (php.net) for details.", + "markdown": "Reports the arguments of enum's `from` method calls that are not found in target enum classes.\n\n\nSee [Enumerations (php.net)](https://wiki.php.net/rfc/enumerations) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpCaseWithValueNotFoundInEnumInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIdempotentOperationInspection", + "shortDescription": { + "text": "Idempotent operation in binary expression" + }, + "fullDescription": { + "text": "Reports the binary expression operands that do not change the expression result (such as '+ 0' or '. \"\"') and are therefore redundant.", + "markdown": "Reports the binary expression operands that do not change the expression result (such as `+ 0` or `. \"\"`) and are therefore redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIdempotentOperationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLoopCanBeReplacedWithImplodeInspection", + "shortDescription": { + "text": "Loop can be replaced with 'implode()'" + }, + "fullDescription": { + "text": "Reports the 'foreach' loops that can be safely replaced with 'implode()' calls. See implode (php.net) for details.", + "markdown": "Reports the `foreach` loops that can be safely replaced with `implode()` calls.\n\n\nSee [implode (php.net)](https://www.php.net/manual/en/function.implode.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopCanBeReplacedWithImplodeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpConcatenationWithArithmeticInspection", + "shortDescription": { + "text": "Concatenation with arithmetic usage" + }, + "fullDescription": { + "text": "Reports the string concatenation expressions that are used together with '+', '-', '<<', and '>>' operators. Starting with PHP 8, the concatenation operation has lower precedence and such expressions can thus produce unexpected results. See Concatenation precedence (php.net) for details.", + "markdown": "Reports the string concatenation expressions that are used together with `+`, `-`, `<<`, and `>>` operators. Starting with PHP 8, the concatenation operation has lower precedence and such expressions can thus produce unexpected results.\n\n\nSee [Concatenation precedence (php.net)](https://wiki.php.net/rfc/concatenation_precedence) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpConcatenationWithArithmeticInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpToStringImplementationInspection", + "shortDescription": { + "text": "Method '__toString' implementation" + }, + "fullDescription": { + "text": "Reports the attempts to convert the objects having no '__toString' method implementation to 'string'. Prior to PHP 7.4, this would lead to a fatal 'E_RECOVERABLE_ERROR' level error. In PHP 7.4, a fatal non-recoverable 'ERROR' is thrown. In PHP 8.0, the return value follows the standard PHP type semantics and will be coerced into a string if possible and if strict typing is disabled. If the Check __toString exists for each expression type option is enabled, the inspection will check all possible types of the expression and report if at least one of them doesn't contain the '__toString' method implementation. See __toString (php.net) for details.", + "markdown": "Reports the attempts to convert the objects having no `__toString` method implementation to `string`.\n\n\nPrior to PHP 7.4, this would lead to a fatal `E_RECOVERABLE_ERROR` level error. In PHP 7.4, a fatal non-recoverable `ERROR` is thrown. In PHP 8.0, the return value follows the standard PHP type semantics and will be coerced into a string if possible and if strict typing is disabled.\n\n\nIf the **Check __toString exists for each expression type** option is enabled, the inspection will check all possible types of the expression and\nreport if at least one of them doesn't contain the `__toString` method implementation.\n\n\nSee [__toString (php.net)](https://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpToStringImplementationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayAccessCanBeReplacedWithForeachValueInspection", + "shortDescription": { + "text": "Array access can be replaced with 'foreach' value" + }, + "fullDescription": { + "text": "Reports the array access expressions inside 'foreach' loops that can be replaced with a 'foreach' value.", + "markdown": "Reports the array access expressions inside `foreach` loops that can be replaced with a `foreach` value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayAccessCanBeReplacedWithForeachValueInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertCanBeReplacedWithFailInspection", + "shortDescription": { + "text": "Assertion can be replaced with 'fail'" + }, + "fullDescription": { + "text": "Reports the 'assertTrue()'/'assertFalse()' calls with the 'false'/'true' arguments in PHPUnit tests. Such usages can be replaced with 'fail()' calls to indicate that a test is expected to fail.", + "markdown": "Reports the `assertTrue()`/`assertFalse()` calls with the `false`/`true` arguments in PHPUnit tests. Such usages can be replaced with `fail()` calls to indicate that a test is expected to fail." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertCanBeReplacedWithFailInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLoopCanBeConvertedToArrayFilterInspection", + "shortDescription": { + "text": "Loop can be converted to 'array_filter()' call" + }, + "fullDescription": { + "text": "Reports the 'foreach' loops that can be replaced with 'array_filter()' calls.", + "markdown": "Reports the `foreach` loops that can be replaced with `array_filter()` calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLoopCanBeConvertedToArrayFilterInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitAssertCanBeReplacedWithEmptyInspection", + "shortDescription": { + "text": "Assertion can be replaced with 'assertEmpty/assertNotEmpty'" + }, + "fullDescription": { + "text": "Reports the 'assertTrue'/'assertFalse' usages that can be replaced with 'assertEmpty'/'assertNotEmpty' in PHPUnit tests. See assertEmpty (phpunit.readthedocs.io) for details.", + "markdown": "Reports the `assertTrue`/`assertFalse` usages that can be replaced with `assertEmpty`/`assertNotEmpty` in PHPUnit tests.\n\n\nSee [assertEmpty (phpunit.readthedocs.io)](https://phpunit.readthedocs.io/en/stable/assertions.html#assertempty) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitAssertCanBeReplacedWithEmptyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitInvalidMockingEntityInspection", + "shortDescription": { + "text": "Invalid PHPUnit mocking target" + }, + "fullDescription": { + "text": "Reports the methods and classes that are incorrectly mocked in PHPUnit tests. The following entities are reported: Enums and 'final' classes 'private', 'static', or 'final' methods Duplicate methods provided in the mocked methods lists via 'addMethods()', 'onlyMethods()', 'setMethods()', and so on.", + "markdown": "Reports the methods and classes that are incorrectly mocked in PHPUnit tests.\n\n\nThe following entities are reported:\n\n* Enums and `final` classes\n* `private`, `static`, or `final` methods\n* Duplicate methods provided in the mocked methods lists via `addMethods()`, `onlyMethods()`, `setMethods()`, and so on." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PhpUnitInvalidMockingEntityInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedLocalVariableInspection", + "shortDescription": { + "text": "Unused local variable" + }, + "fullDescription": { + "text": "Reports the variables that are considered unused in the following cases: The value of the variable is not used anywhere or is overwritten immediately. The reference stored in the variable is not used anywhere or is overwritten immediately.", + "markdown": "Reports the variables that are considered unused in the following cases:\n\n* The value of the variable is not used anywhere or is overwritten immediately.\n* The reference stored in the variable is not used anywhere or is overwritten immediately." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedLocalVariableInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Unused symbols", + "index": 39, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpAssignmentReplaceableWithOperatorAssignmentInspection", + "shortDescription": { + "text": "Assignment can be replaced with operator assignment" + }, + "fullDescription": { + "text": "Reports the assignments that can be replaced with combined operator assignments (for example, '+=').", + "markdown": "Reports the assignments that can be replaced with combined operator assignments (for example, `+=`)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpAssignmentReplaceableWithOperatorAssignmentInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Replaceable assignments", + "index": 87, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpIgnoredClassAliasDeclaration", + "shortDescription": { + "text": "Ignored class alias declaration" + }, + "fullDescription": { + "text": "Reports the class alias declarations that are ignored by the IDE because the actual class declaration with the same FQN exists. The inspection is intended to clarify the IDE’s behavior in the cases when both the class and the class alias declarations are present. When several declarations with the same FQN exist, the IDE usually fails to choose a single one between them. This leads to incorrect code completion, erroneous type inference, and so on. Since the class declaration prevails over the class alias declaration, the latter becomes redundant and therefore ignored by the IDE. Note that ignoring class alias declarations does not affect the behavior of the PHP interpreter.", + "markdown": "Reports the class alias declarations that are ignored by the IDE because the actual class declaration with the same FQN exists.\n\n\nThe inspection is intended to clarify the IDE's behavior in the cases when both the class and the class alias declarations are present.\nWhen several declarations with the same FQN exist, the IDE usually fails to choose a single one between them.\nThis leads to incorrect code completion, erroneous type inference, and so on. Since the class declaration prevails\nover the class alias declaration, the latter becomes redundant and therefore ignored by the IDE.\n\n\nNote that ignoring class alias declarations does not affect the behavior of the PHP interpreter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpIgnoredClassAliasDeclaration", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpStatementHasEmptyBodyInspection", + "shortDescription": { + "text": "Statement has empty body" + }, + "fullDescription": { + "text": "Reports the statements that have empty bodies. While occasionally useful, such statements are often the result of typos and may cause confusion.", + "markdown": "Reports the statements that have empty bodies.\n\nWhile occasionally useful, such statements are often the result of typos and may cause confusion." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpStatementHasEmptyBodyInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPureFunctionMayProduceSideEffectsInspection", + "shortDescription": { + "text": "Pure function may produce side effects" + }, + "fullDescription": { + "text": "Reports the '#[Pure]' annotations used on functions that may produce side effects.", + "markdown": "Reports the `#[Pure]` annotations used on functions that may produce side effects." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpPureFunctionMayProduceSideEffectsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Attributes", + "index": 47, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpRedeclarationStdlibFunctionInspection", + "shortDescription": { + "text": "Redeclaration of standard library function" + }, + "fullDescription": { + "text": "Reports the redeclaration of standard library functions. Functions from the standard library cannot be redeclared in user code.", + "markdown": "Reports the redeclaration of standard library functions. Functions from the standard library cannot be redeclared in user code." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpRedeclarationStdlibFunctionInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpForeachNestedOuterKeyValueVariablesConflictInspection", + "shortDescription": { + "text": "Nested vs outer 'foreach' variables conflict" + }, + "fullDescription": { + "text": "Reports the variables that are used as a key or value both by the inner and outer 'foreach' loops. In most cases, this is an error or may result in an error in the future.", + "markdown": "Reports the variables that are used as a key or value both by the inner and outer `foreach` loops. In most cases, this is an error or may result in an error in the future." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpForeachNestedOuterKeyValueVariablesConflictInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSwitchWithCommonPartsInspection", + "shortDescription": { + "text": "'switch' with common parts" + }, + "fullDescription": { + "text": "Reports the 'switch' statements with duplicated common parts.", + "markdown": "Reports the 'switch' statements with duplicated common parts." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSwitchWithCommonPartsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Control flow", + "index": 12, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMethodParametersCountMismatchInspection", + "shortDescription": { + "text": "Parameters number mismatch declaration" + }, + "fullDescription": { + "text": "Reports the function/method calls that take more parameters than specified in their declaration.", + "markdown": "Reports the function/method calls that take more parameters than specified in their declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMethodParametersCountMismatchInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpSwitchCaseWithoutDefaultBranchInspection", + "shortDescription": { + "text": "Switch statement without default branch" + }, + "fullDescription": { + "text": "Reports the 'switch' statements without a default branch.", + "markdown": "Reports the `switch` statements without a default branch." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpSwitchCaseWithoutDefaultBranchInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpParameterByRefIsNotUsedAsReferenceInspection", + "shortDescription": { + "text": "Unnecessary pass-by-ref" + }, + "fullDescription": { + "text": "Reports the variables that are passed by reference to a function/method but are not modified in the function/method body. In such cases, the '&' in parameter's declaration can be safely removed. See Passing by Reference (php.net) for details.", + "markdown": "Reports the variables that are passed by reference to a function/method but are not modified in the function/method body. In such cases, the `&` in parameter's declaration can be safely removed.\n\n\nSee [Passing by Reference (php.net)](https://www.php.net/manual/en/language.references.pass.php) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpParameterByRefIsNotUsedAsReferenceInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpExceptionImmediatelyRethrownInspection", + "shortDescription": { + "text": "Exception is immediately rethrown" + }, + "fullDescription": { + "text": "Reports the 'catch' statements that only rethrow a caught exception, which is located in a class hierarchy different from the subsequent exception types.", + "markdown": "Reports the `catch` statements that only rethrow a caught exception, which is located in a class hierarchy different from the subsequent exception types." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpExceptionImmediatelyRethrownInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpHierarchyChecksInspection", + "shortDescription": { + "text": "Class hierarchy checks" + }, + "fullDescription": { + "text": "Checks the classes' hierarchy: abstract methods implementation, the compatibility of implementing/overriding methods with their declarations in parent classes, and properties' types redeclarations. All reported violations result in PHP fatal errors. It is not recommended disabling or suppressing this inspection.", + "markdown": "Checks the classes' hierarchy: abstract methods implementation, the compatibility of implementing/overriding methods with their declarations in parent classes, and properties' types redeclarations.\n\nAll reported violations result in PHP fatal errors. It is not recommended disabling or suppressing this inspection." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpHierarchyChecksInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LaravelPintValidationInspection", + "shortDescription": { + "text": "Laravel Pint validation" + }, + "fullDescription": { + "text": "Reports the coding style problems detected by Laravel Pint. The inspection requires Laravel Pint to be properly installed and set up in the IDE under Settings | PHP | Quality Tools | Laravel Pint. To learn more about Laravel Pint installation, see Laravel Pint.", + "markdown": "Reports the coding style problems detected by Laravel Pint.\n\n\nThe inspection requires Laravel Pint to be properly installed and set up in the IDE under\n[Settings \\| PHP \\| Quality Tools \\| Laravel Pint](settings://settings.php.quality.tools.laravel.pint).\n\n\nTo learn more about Laravel Pint installation, see [Laravel Pint](https://laravel.com/docs/10.x/pint#installation)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "LaravelPintValidationInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Quality tools", + "index": 73, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPropertyOnlyWrittenInspection", + "shortDescription": { + "text": "Property usages have same access" + }, + "fullDescription": { + "text": "Reports the private properties that are: written but never read read but never written", + "markdown": "Reports the private properties that are:\n\n* written but never read\n* read but never written" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpPropertyOnlyWrittenInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMultipleClassDeclarationsInspection", + "shortDescription": { + "text": "Multiple class declarations" + }, + "fullDescription": { + "text": "Reports the references to classes that have multiple declarations in project files. Use the options below to customize the inspection: Ignore PHPDoc: if selected, the inspection will not report multiple declarations of classes referenced in PHPDoc blocks.", + "markdown": "Reports the references to classes that have multiple declarations in project files.\n\nUse the options below to customize the inspection:\n\n* **Ignore PHPDoc**: if selected, the inspection will not report multiple declarations of classes referenced in PHPDoc blocks." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMultipleClassDeclarationsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMissingFieldTypeInspection", + "shortDescription": { + "text": "Missing property's type declaration" + }, + "fullDescription": { + "text": "Reports the properties that have no type declaration.", + "markdown": "Reports the properties that have no type declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMissingFieldTypeInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpTooManyParametersInspection", + "shortDescription": { + "text": "Too many parameters in function declaration" + }, + "fullDescription": { + "text": "Reports the function/method declarations with the number of parameters exceeding the specified limit.", + "markdown": "Reports the function/method declarations with the number of parameters exceeding the specified limit." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpTooManyParametersInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code smell", + "index": 1, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpWrongForeachArgumentTypeInspection", + "shortDescription": { + "text": "Invalid argument supplied for 'foreach()'" + }, + "fullDescription": { + "text": "Reports the 'foreach' constructs used on variables of the 'string', 'float', 'int', or 'boolean' type. See foreach (php.net) for details.", + "markdown": "Reports the `foreach` constructs used on variables of the `string`, `float`, `int`, or `boolean` type.\n\n\nSee [foreach (php.net)](http://www.php.net/manual/en/control-structures.foreach.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpWrongForeachArgumentTypeInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Type compatibility", + "index": 23, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpInvalidStringOffsetUsageInspection", + "shortDescription": { + "text": "Invalid string offset usage" + }, + "fullDescription": { + "text": "Reports invalid string offset usages that will result in a runtime error. The following usages are reported: Using string offsets as objects or arrays Unsetting string offsets via 'unset' Passing string offsets by reference Creating references to or from string offsets Incrementing or decrementing string offsets Using combined operator assignments such as '+=' or '.=' on string offsets Assigning string offsets with empty strings or strings with length >1", + "markdown": "Reports invalid string offset usages that will result in a runtime error.\n\n\nThe following usages are reported:\n\n* Using string offsets as objects or arrays\n* Unsetting string offsets via `unset`\n* Passing string offsets by reference\n* Creating references to or from string offsets\n* Incrementing or decrementing string offsets\n* Using combined operator assignments such as `+=` or `.=` on string offsets\n* Assigning string offsets with empty strings or strings with length \\>1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpInvalidStringOffsetUsageInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpArrayFilterCanBeConvertedToLoopInspection", + "shortDescription": { + "text": "'array_filter()' call can be converted to loop" + }, + "fullDescription": { + "text": "Reports the 'array_filter()' calls that can be replaced with 'foreach' loops.", + "markdown": "Reports the `array_filter()` calls that can be replaced with `foreach` loops." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpArrayFilterCanBeConvertedToLoopInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Code style", + "index": 3, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClassImplementsSolelyTraversableInspection", + "shortDescription": { + "text": "Class can't implement Traversable directly" + }, + "fullDescription": { + "text": "Reports the classes that are implementing the 'Traversable' interface alone, not as part of 'Iterator' or 'IteratorAggregate' interfaces. The 'Traversable' interface is an internal engine interface; it cannot be implemented in PHP scripts. See The Traversable interface (php.net) for details.", + "markdown": "Reports the classes that are implementing the `Traversable` interface alone, not as part of `Iterator` or `IteratorAggregate` interfaces.\n\n\nThe `Traversable` interface is an internal engine interface; it cannot be implemented in PHP scripts. See [The Traversable interface (php.net)](https://www.php.net/manual/en/class.traversable.php) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "PhpClassImplementsSolelyTraversableInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnusedSwitchBranchInspection", + "shortDescription": { + "text": "Unused 'switch' branch" + }, + "fullDescription": { + "text": "Reports the branches in 'switch' statements that do not belong to the set of enum cases and as a result are never executed. See Enumerations (php.net) for details.", + "markdown": "Reports the branches in `switch` statements that do not belong to the set of enum cases and as a result are never executed.\n\n\nSee [Enumerations (php.net)](https://wiki.php.net/rfc/enumerations) for details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnusedSwitchBranchInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Probable bugs", + "index": 9, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpPromotedFieldUsageInspection", + "shortDescription": { + "text": "Promoted property usage" + }, + "fullDescription": { + "text": "Reports properties declared through promoted constructor parameters. Using promoted properties is only possible since PHP 8.0. In earlier PHP versions, it leads to a parse error. See Constructor Property Promotion (php.net) for details.", + "markdown": "Reports properties declared through promoted constructor parameters.\n\n\nUsing promoted properties is only possible since PHP 8.0. In earlier PHP versions, it leads to a parse error.\n\n\nSee [Constructor Property Promotion (php.net)](https://wiki.php.net/rfc/constructor_promotion) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpPromotedFieldUsageInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/General", + "index": 6, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpDocFieldTypeMismatchInspection", + "shortDescription": { + "text": "Type doesn't match property's declared type" + }, + "fullDescription": { + "text": "Reports the properties' types in PHPDoc '@var' tags that do not match the declared type of a property.", + "markdown": "Reports the properties' types in PHPDoc `@var` tags that do not match the declared type of a property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpDocFieldTypeMismatchInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPDoc", + "index": 2, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpUnitDeprecatedDataProviderSignatureInspection", + "shortDescription": { + "text": "Deprecated usage of data provider since PHPUnit 10" + }, + "fullDescription": { + "text": "Reports the references to functions/methods in the '@dataProvider' PHPDoc tag that are resolved to non-static or non-public methods. Usage of these methods as PHPUnit data providers is deprecated starting from PHPUnit 10.", + "markdown": "Reports the references to functions/methods in the `@dataProvider` PHPDoc tag that are resolved to non-static or non-public methods. Usage of these methods as PHPUnit data providers is deprecated starting from PHPUnit 10." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpUnitDeprecatedDataProviderSignatureInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/PHPUnit", + "index": 20, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.sh", + "version": "241.17570", + "rules": [ + { + "id": "ShellCheck", + "shortDescription": { + "text": "ShellCheck" + }, + "fullDescription": { + "text": "Reports shell script bugs detected by the integrated ShellCheck static analysis tool.", + "markdown": "Reports shell script bugs detected by the integrated [ShellCheck](https://github.com/koalaman/shellcheck) static analysis tool." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ShellCheck", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Shell script", + "index": 5, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "Karma", + "version": "241.17570", + "rules": [ + { + "id": "KarmaConfigFile", + "shortDescription": { + "text": "Invalid Karma configuration file" + }, + "fullDescription": { + "text": "Reports a potential error in a file path ('basePath', 'files') for a Karma configuration file, for example, 'karma.conf.js'.", + "markdown": "Reports a potential error in a file path ('basePath', 'files') for a Karma configuration file, for example, `karma.conf.js`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KarmaConfigFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unit testing", + "index": 8, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.database", + "version": "241.17570", + "rules": [ + { + "id": "MysqlLoadDataPathInspection", + "shortDescription": { + "text": "LOAD statement path" + }, + "fullDescription": { + "text": "Reports paths that start with the tilde character in LOAD statements. Example (MySQL): 'CREATE TABLE table_name (id int);\nLOAD DATA LOCAL INFILE '~/Documents/some_file.txt'\nINTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n'\nIGNORE 1 LINES;' Instead of the tilde character, use a full path to the file.", + "markdown": "Reports paths that start with the tilde character in LOAD statements.\n\nExample (MySQL):\n\n CREATE TABLE table_name (id int);\n LOAD DATA LOCAL INFILE '~/Documents/some_file.txt'\n INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n'\n IGNORE 1 LINES;\n\nInstead of the tilde character, use a full path to the file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MysqlLoadDataPath", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MySQL", + "index": 10, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MysqlSpaceAfterFunctionNameInspection", + "shortDescription": { + "text": "Whitespace between the function name and the open parenthesis" + }, + "fullDescription": { + "text": "Reports any whitespace in a function call between the function name and the open parenthesis, which is not supported by default. Example (MySQL): 'SELECT MAX (qty) FROM orders;'", + "markdown": "Reports any whitespace in a function call between the function name and the open parenthesis, which is not supported by default.\n\nExample (MySQL):\n\n SELECT MAX (qty) FROM orders;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "MysqlSpaceAfterFunctionName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "MySQL", + "index": 10, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMissingReturnInspection", + "shortDescription": { + "text": "Missing return statement" + }, + "fullDescription": { + "text": "Reports functions that have no RETURN statements. Example (Oracle): 'CREATE FUNCTION foo RETURN int AS\nBEGIN\nEND;' The 'foo' function must return the integer value but the function body returns nothing. To fix the error, add a RETURN statement (for example, 'return 1;'). 'CREATE FUNCTION foo RETURN int AS\nBEGIN\n RETURN 1;\nEND;'", + "markdown": "Reports functions that have no RETURN statements.\n\nExample (Oracle):\n\n CREATE FUNCTION foo RETURN int AS\n BEGIN\n END;\n\nThe `foo` function must return the integer value but the function body returns nothing. To fix the error,\nadd a RETURN statement (for example, `return 1;`).\n\n CREATE FUNCTION foo RETURN int AS\n BEGIN\n RETURN 1;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlMissingReturn", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCaseVsIfInspection", + "shortDescription": { + "text": "Using CASE instead of conditional function and vice versa" + }, + "fullDescription": { + "text": "Reports situations when CASE and IF are interchangeable. Example (MySQL): 'SELECT CASE\nWHEN C1 IS NULL THEN 1\nELSE 0\nEND\nFROM dual;' To keep your code short, you can replace the CASE structure with IF. You can do that by applying the Replace with 'IF' call intention action. The example code will look as follows: 'SELECT IF(C1 IS NULL, 1, 0)\nFROM dual;' To revert IF to CASE, click IF and apply the Replace with CASE expression intention action.", + "markdown": "Reports situations when CASE and IF are interchangeable.\n\nExample (MySQL):\n\n SELECT CASE\n WHEN C1 IS NULL THEN 1\n ELSE 0\n END\n FROM dual;\n\nTo keep your code short, you can replace the CASE structure with IF. You can do that by applying the **Replace with 'IF' call**\nintention action. The example code will look as follows:\n\n SELECT IF(C1 IS NULL, 1, 0)\n FROM dual;\n\nTo revert IF to CASE, click IF and apply the **Replace with CASE expression** intention action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCaseVsIf", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlShouldBeInGroupByInspection", + "shortDescription": { + "text": "Column should be in group by clause" + }, + "fullDescription": { + "text": "Reports columns that are not in the GROUP BY clause or inside an aggregate function call. Example (Microsoft SQL Server): 'CREATE TABLE t1 (a INT, b INT);\nSELECT a, b FROM t1 GROUP BY a;' If you run the SELECT query, you will receive an error because Microsoft SQL Server expects the 'b' column in GROUP BY or used inside an aggregate function. The following two examples will fix the error. 'SELECT a, b FROM t1 GROUP BY a, b;\nSELECT a, max(b) max_b FROM t1 GROUP BY a;'", + "markdown": "Reports columns that are not in the GROUP BY clause or inside an aggregate function call.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE t1 (a INT, b INT);\n SELECT a, b FROM t1 GROUP BY a;\n\nIf you run the SELECT query, you will receive an error because Microsoft SQL Server expects the `b` column in GROUP BY or used\ninside an aggregate function. The following two examples will fix the error.\n\n SELECT a, b FROM t1 GROUP BY a, b;\n SELECT a, max(b) max_b FROM t1 GROUP BY a;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlShouldBeInGroupBy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAutoIncrementDuplicateInspection", + "shortDescription": { + "text": "Auto-increment duplicate" + }, + "fullDescription": { + "text": "Reports tables that contain two columns with an automatic increment. In MySQL, Microsoft SQL Server, and Db2 dialects, a table can have only one field with a auto-increment option, and this field must be a key. Example (MySQL): 'CREATE TABLE my_table\n(\n id INT AUTO_INCREMENT,\n c2 INT AUTO_INCREMENT,\n);' The AUTO_INCREMENT constraint for 'c2' will be highlighted as 'c1' already has this constraint. To fix the warning, you can make 'id' a primary key and delete AUTO_INCREMENT for 'c2'. 'CREATE TABLE my_table\n(\n id INT AUTO_INCREMENT PRIMARY KEY,\n c2 INT,\n);'", + "markdown": "Reports tables that contain two columns with an automatic increment. In MySQL, Microsoft SQL Server, and Db2 dialects, a table can have only one field with a auto-increment option, and this field must be a key.\n\nExample (MySQL):\n\n CREATE TABLE my_table\n (\n id INT AUTO_INCREMENT,\n c2 INT AUTO_INCREMENT,\n );\n\nThe AUTO_INCREMENT constraint for `c2` will be highlighted as `c1` already has this constraint. To fix the warning,\nyou can make `id` a primary key and delete AUTO_INCREMENT for `c2`.\n\n CREATE TABLE my_table\n (\n id INT AUTO_INCREMENT PRIMARY KEY,\n c2 INT,\n );\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAutoIncrementDuplicate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlStringLengthExceededInspection", + "shortDescription": { + "text": "Implicit string truncation" + }, + "fullDescription": { + "text": "Reports variables that exceed the defined length in characters. Example (Microsoft SQL Server): 'CREATE PROCEDURE test() AS\nBEGIN\nDECLARE myVarOk VARCHAR(5) = 'abcde';\nDECLARE myVarExceeded VARCHAR(5) = 'abcde12345';\n\nSET myVarOk = 'xyz';\nSET myVarExceeded = '123456789';\nEND;' The 'myVarExceeded' variable is defined as 'VARCHAR(5)' but both assigned values (''abcde12345'' and ''123456789'') exceed this limitation. You can truncate assigned values or increase the defined length. To increase the length, use the Increase type length quick-fix. After the quick-fix is applied: 'CREATE PROCEDURE test() AS\nBEGIN\nDECLARE myVarOk VARCHAR(5) = 'abcde';\nDECLARE myVarExceeded VARCHAR(10) = 'abcde12345';\n\nSET myVarOk = 'xyz';\nSET myVarExceeded = '123456789';\nEND;'", + "markdown": "Reports variables that exceed the defined length in characters.\n\nExample (Microsoft SQL Server):\n\n CREATE PROCEDURE test() AS\n BEGIN\n DECLARE myVarOk VARCHAR(5) = 'abcde';\n DECLARE myVarExceeded VARCHAR(5) = 'abcde12345';\n\n SET myVarOk = 'xyz';\n SET myVarExceeded = '123456789';\n END;\n\nThe `myVarExceeded` variable is defined as `VARCHAR(5)` but both assigned values (`'abcde12345'` and\n`'123456789'`) exceed this limitation. You can truncate assigned values or increase the defined length.\nTo increase the length, use the **Increase type length** quick-fix.\n\nAfter the quick-fix is applied:\n\n CREATE PROCEDURE test() AS\n BEGIN\n DECLARE myVarOk VARCHAR(5) = 'abcde';\n DECLARE myVarExceeded VARCHAR(10) = 'abcde12345';\n\n SET myVarOk = 'xyz';\n SET myVarExceeded = '123456789';\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlStringLengthExceeded", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDtInspection", + "shortDescription": { + "text": "Ill-formed date/time literals" + }, + "fullDescription": { + "text": "Reports errors in date and time literals. This inspection is available in MySQL, Oracle, Db2, and H2. Example (MySQL): 'SELECT TIME '10 -12:13:14' FROM dual;\nSELECT TIME ' 12 : 13 : 14 ' FROM dual;\nSELECT TIME '12 13 14' FROM dual;\nSELECT TIME '12-13-14' FROM dual;\nSELECT TIME '12.13.14' FROM dual;\nSELECT TIME '12:13:' FROM dual;\nSELECT TIME '12:13' FROM dual;\nSELECT TIME '12:' FROM dual;' In this example, dates ignore the MySQL standard for date and time literals. Therefore, they will be highlighted. For more information about date and time literals in MySQL, see Date and Time Literals at dev.mysql.com. The following date and type literals are valid for MySQL. 'SELECT TIME '12:13:14' FROM dual;\nSELECT TIME '12:13:14.555' FROM dual;\nSELECT TIME '12:13:14.' FROM dual;\nSELECT TIME '-12:13:14' FROM dual;\nSELECT TIME '10 12:13:14' FROM dual;\nSELECT TIME '-10 12:13:14' FROM dual;'", + "markdown": "Reports errors in date and time literals. This inspection is available in MySQL, Oracle, Db2, and H2.\n\nExample (MySQL):\n\n SELECT TIME '10 -12:13:14' FROM dual;\n SELECT TIME ' 12 : 13 : 14 ' FROM dual;\n SELECT TIME '12 13 14' FROM dual;\n SELECT TIME '12-13-14' FROM dual;\n SELECT TIME '12.13.14' FROM dual;\n SELECT TIME '12:13:' FROM dual;\n SELECT TIME '12:13' FROM dual;\n SELECT TIME '12:' FROM dual;\n\nIn this example, dates ignore the MySQL standard for date and time literals. Therefore, they will be highlighted.\nFor more information about date and time literals in MySQL, see [Date and Time Literals at dev.mysql.com](https://dev.mysql.com/doc/refman/8.0/en/date-and-time-literals.html).\n\nThe following date and type literals are valid for MySQL.\n\n SELECT TIME '12:13:14' FROM dual;\n SELECT TIME '12:13:14.555' FROM dual;\n SELECT TIME '12:13:14.' FROM dual;\n SELECT TIME '-12:13:14' FROM dual;\n SELECT TIME '10 12:13:14' FROM dual;\n SELECT TIME '-10 12:13:14' FROM dual;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDateTime", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlInsertValuesInspection", + "shortDescription": { + "text": "VALUES clause cardinality" + }, + "fullDescription": { + "text": "Reports situations when a number of parameters in VALUES does not match a number of columns in a target table. Example (MySQL): 'CREATE TABLE foo(a INT, b INT, c INT);\n\nINSERT INTO foo VALUES (1,2,3,4)' The 'foo' table has three columns but in the INSERT INTO statement we pass four.", + "markdown": "Reports situations when a number of parameters in VALUES does not match a number of columns in a target table.\n\nExample (MySQL):\n\n CREATE TABLE foo(a INT, b INT, c INT);\n\n INSERT INTO foo VALUES (1,2,3,4)\n\nThe `foo` table has three columns but in the INSERT INTO statement we pass four." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlInsertValues", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantElseNullInspection", + "shortDescription": { + "text": "Redundant ELSE NULL clause" + }, + "fullDescription": { + "text": "Reports redundant ELSE NULL clauses. Example (MySQL): 'SELECT CASE WHEN 2 > 1 THEN 'OK' ELSE NULL END AS alias FROM foo;' The 'ELSE NULL' part will never be executed and may be omitted.", + "markdown": "Reports redundant ELSE NULL clauses.\n\nExample (MySQL):\n\n SELECT CASE WHEN 2 > 1 THEN 'OK' ELSE NULL END AS alias FROM foo;\n\nThe `ELSE NULL` part will never be executed and may be omitted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantElseNull", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCallNotationInspection", + "shortDescription": { + "text": "Using of named and positional arguments" + }, + "fullDescription": { + "text": "Reports calls in which positional arguments go after the named ones. Works in PostgreSQL, Oracle, and Db2. Example (In PostgreSQL): 'CREATE FUNCTION foo(a int, b int, c int) RETURNS int\n LANGUAGE plpgsql AS\n$$\nBEGIN\n RETURN a + b + c;\nEND\n$$;\nSELECT foo(a => 1, b => 2, c => 3);\n -- `3` goes after the named argument\nSELECT foo(1, b => 2, 3);\n -- `1` and `3` go after the named argument\nSELECT foo(b => 2, 1, 3);'", + "markdown": "Reports calls in which positional arguments go after the named ones. Works in PostgreSQL, Oracle, and Db2.\n\nExample (In PostgreSQL):\n\n CREATE FUNCTION foo(a int, b int, c int) RETURNS int\n LANGUAGE plpgsql AS\n $$\n BEGIN\n RETURN a + b + c;\n END\n $$;\n SELECT foo(a => 1, b => 2, c => 3);\n -- `3` goes after the named argument\n SELECT foo(1, b => 2, 3);\n -- `1` and `3` go after the named argument\n SELECT foo(b => 2, 1, 3);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlCallNotation", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MysqlParsingInspection", + "shortDescription": { + "text": "Unsupported syntax in pre-8.0 versions" + }, + "fullDescription": { + "text": "Reports invalid usages of UNION in queries. The inspection works in MySQL versions that are earlier than 8.0. Example (MySQL): 'SELECT * FROM (SELECT 1 UNION (SELECT 1 UNION SELECT 2)) a;'", + "markdown": "Reports invalid usages of UNION in queries.\n\nThe inspection works in MySQL versions that are earlier than 8.0.\n\nExample (MySQL):\n\n\n SELECT * FROM (SELECT 1 UNION (SELECT 1 UNION SELECT 2)) a;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MysqlParsing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MySQL", + "index": 10, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlShadowingAliasInspection", + "shortDescription": { + "text": "Column is shadowed by alias" + }, + "fullDescription": { + "text": "Reports SELECT aliases with names that match column names in the FROM clause. Example (MySQL): 'CREATE TABLE foo (a INT, b INT, c INT);\nSELECT a b, c FROM foo;' The 'a' column uses the 'b' alias but the 'b' name is also used by the column from the 'foo' table.", + "markdown": "Reports SELECT aliases with names that match column names in the FROM clause.\n\nExample (MySQL):\n\n CREATE TABLE foo (a INT, b INT, c INT);\n SELECT a b, c FROM foo;\n\nThe `a` column uses the `b` alias but the `b` name is also used by the column from the `foo`\ntable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlShadowingAlias", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnreachableCodeInspection", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Reports unreachable statements inside SQL routines. Example (Microsoft SQL Server): 'CREATE FUNCTION foo() RETURNS INT AS\nBEGIN\n THROW;\n RETURN 1;\nEND;' In Microsoft SQL Server, the 'THROW' statement raises an exception and transfers execution to the CATCH block of the TRY...CATCH construct. Therefore, the 'RETURN 1;' part will never be executed.", + "markdown": "Reports unreachable statements inside SQL routines.\n\nExample (Microsoft SQL Server):\n\n CREATE FUNCTION foo() RETURNS INT AS\n BEGIN\n THROW;\n RETURN 1;\n END;\n\nIn Microsoft SQL Server, the `THROW` statement raises an exception and transfers execution to the CATCH block of the TRY...CATCH\nconstruct. Therefore, the `RETURN 1;` part will never be executed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnreachable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlNoDataSourceInspection", + "shortDescription": { + "text": "No data sources configured" + }, + "fullDescription": { + "text": "Reports the absence of data sources in the Database tool window (View | Tool Windows | Database).", + "markdown": "Reports the absence of data sources in the **Database** tool window (**View \\| Tool Windows \\| Database**)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlNoDataSourceInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlResolveInspection", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Reports unresolved SQL references. Example (MySQL): 'CREATE TABLE users(id INT, name VARCHAR(40));\nCREATE TABLE admins(id INT, col1 INT);\n\nSELECT users.id, admins.id FROM admins WHERE admins.id > 1;' The 'users.id' column is unresolved because the 'users' table is missing in the FROM clause.", + "markdown": "Reports unresolved SQL references.\n\nExample (MySQL):\n\n CREATE TABLE users(id INT, name VARCHAR(40));\n CREATE TABLE admins(id INT, col1 INT);\n\n SELECT users.id, admins.id FROM admins WHERE admins.id > 1;\n\nThe `users.id` column is unresolved because the `users` table is missing in the FROM clause." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlResolve", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCurrentSchemaInspection", + "shortDescription": { + "text": "Current console schema introspected" + }, + "fullDescription": { + "text": "Reports schemas and databases in the current session that are not introspected. For example, this warning might occur when you try to create a table in the schema that is not introspected. Introspection is a method of inspecting a data source. When you perform introspection, structural information in the data source is inspected to detect tables, columns, functions, and other elements with their attributes.", + "markdown": "Reports schemas and databases in the current session that are not introspected.\n\nFor example, this warning might occur when you try to create a table in the schema that is not introspected.\n\nIntrospection is a method of inspecting a data source. When you perform introspection, structural information in the data source is\ninspected to detect tables, columns, functions, and other elements with their attributes." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCurrentSchemaInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMisleadingReferenceInspection", + "shortDescription": { + "text": "Misleading references" + }, + "fullDescription": { + "text": "Reports ambiguous references in SQL code. For example, when a name refer to both a table column and a routine parameter. The execution of such code might lead to errors or unexpected results due to counter-intuitive resolution logic. Usually, names with a more local scope have higher priority. Example (PostgreSQL): 'CREATE TABLE foo\n(\n id INT,\n name VARCHAR(5)\n);\nCREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n$$\nDECLARE\n b INT;\nBEGIN\n -- `name` is ambiguous as it is used as a column name and a parameter\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\nEND;\n$$ LANGUAGE plpgsql;' In PostgreSQL, you can use the '#variable_conflict' directives to explicitly specify a correct reference. For example, use '#variable_conflict use_column' to refer to a column name, or '#variable_conflict use_variable' to refer to a parameter. 'CREATE TABLE foo\n(\n id INT,\n name VARCHAR(5)\n);\nCREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n$$\n #variable_conflict use_column\nDECLARE\n b INT;\nBEGIN\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\nEND;\n$$ LANGUAGE plpgsql;'", + "markdown": "Reports ambiguous references in SQL code.\n\nFor example, when a name refer to both a table column and a routine parameter. The execution of such code might lead to errors or unexpected\nresults due to counter-intuitive resolution logic. Usually, names with a more local scope have higher priority.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo\n (\n id INT,\n name VARCHAR(5)\n );\n CREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n $$\n DECLARE\n b INT;\n BEGIN\n -- `name` is ambiguous as it is used as a column name and a parameter\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\n END;\n $$ LANGUAGE plpgsql;\n\nIn PostgreSQL, you can use the `#variable_conflict` directives to explicitly specify a correct reference. For example,\nuse `#variable_conflict use_column` to refer to a column name, or `#variable_conflict use_variable` to refer to a\nparameter.\n\n CREATE TABLE foo\n (\n id INT,\n name VARCHAR(5)\n );\n CREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n $$\n #variable_conflict use_column\n DECLARE\n b INT;\n BEGIN\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\n END;\n $$ LANGUAGE plpgsql;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMisleadingReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantLimitInspection", + "shortDescription": { + "text": "Redundant row limiting in queries" + }, + "fullDescription": { + "text": "Reports redundant row limiting clauses like FETCH and LIMIT in queries. Example (PostgreSQL): 'CREATE TABLE foo(a INT);\n\nSELECT * FROM foo WHERE EXISTS(SELECT * FROM foo LIMIT 2);\nSELECT * FROM foo WHERE EXISTS(SELECT * FROM foo FETCH FIRST 2 ROWS ONLY);' To fix the warning, you can add OFFSET to limiting clauses. If OFFSET is missing, then LIMIT is redundant because the usage of LIMIT does not influence the operation result of EXISTS. In case with OFFSET, we skip first 'N' rows and this will influence the output. 'SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW LIMIT 2);\nSELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW FETCH FIRST 2 ROWS ONLY);'", + "markdown": "Reports redundant row limiting clauses like FETCH and LIMIT in queries.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT);\n\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo LIMIT 2);\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo FETCH FIRST 2 ROWS ONLY);\n\nTo fix the warning, you can add OFFSET to limiting clauses. If OFFSET is missing, then LIMIT is redundant because\nthe usage of LIMIT does not influence the operation result of EXISTS. In case with OFFSET, we skip first `N` rows and this will\ninfluence the output.\n\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW LIMIT 2);\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW FETCH FIRST 2 ROWS ONLY);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantLimit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlInsertNullIntoNotNullInspection", + "shortDescription": { + "text": "Insert NULL into NOT NULL column" + }, + "fullDescription": { + "text": "Reports cases when you insert NULL values into columns that accept only NOT NULL values. Example (Microsoft SQL Server): 'CREATE TABLE br2 (\nid INT NOT NULL,\ncol1 NVARCHAR (20) NOT NULL,\ncol2 NVARCHAR (20) NOT NULL,\n);\n--\nINSERT INTO br2 (id, col1, col2)\nVALUES (1, NULL, NULL);' You cannot insert NULL values in 'col1' and 'col2' because they are defined as NOT NULL. If you run the script as is, you will receive an error. To fix this code, replace NULL in the VALUES part with some values (for example, '42' and ''bird''). INSERT INTO br2 (id, col1, col2)\nVALUES (1, 42, 'bird');", + "markdown": "Reports cases when you insert NULL values into columns that accept only NOT NULL values.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE br2 (\n id INT NOT NULL,\n col1 NVARCHAR (20) NOT NULL,\n col2 NVARCHAR (20) NOT NULL,\n );\n --\n INSERT INTO br2 (id, col1, col2)\n VALUES (1, NULL, NULL);\n\nYou cannot insert NULL values in `col1` and `col2` because they are defined as NOT NULL. If you run the script as\nis,\nyou will receive an error. To fix this code, replace NULL in the VALUES part with some values (for example, `42` and\n`'bird'`).\n\n```\nINSERT INTO br2 (id, col1, col2)\nVALUES (1, 42, 'bird');\n```" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlInsertNullIntoNotNull", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDerivedTableAliasInspection", + "shortDescription": { + "text": "Each derived table should have alias" + }, + "fullDescription": { + "text": "Reports derived tables without aliases. Example (MySQL): 'CREATE TABLE table1 (id INT, name VARCHAR(20), cats FLOAT);\nCREATE TABLE table2 (id INT, age INTEGER);\n\nSELECT id AS ID, name, cats, age\nFROM (SELECT table1.id, name, cats, age\nFROM table1\nJOIN table2 ON table1.id = table2.id);' According to Derived Tables at dev.mysql.com, an alias is mandatory. You can add the alias by using the Introduce alias quick-fix. After the quick-fix is applied: 'SELECT id AS ID, name, cats, age\nFROM (SELECT table1.id, name, cats, age\nFROM table1\nJOIN table2 ON table1.id = table2.id);'", + "markdown": "Reports derived tables without aliases.\n\nExample (MySQL):\n\n CREATE TABLE table1 (id INT, name VARCHAR(20), cats FLOAT);\n CREATE TABLE table2 (id INT, age INTEGER);\n\n SELECT id AS ID, name, cats, age\n FROM (SELECT table1.id, name, cats, age\n FROM table1\n JOIN table2 ON table1.id = table2.id);\n\nAccording to [Derived Tables at dev.mysql.com](https://dev.mysql.com/doc/refman/8.0/en/derived-tables.html), an alias is\nmandatory. You can add the alias by using the **Introduce alias** quick-fix.\n\nAfter the quick-fix is applied:\n\n SELECT id AS ID, name, cats, age\n FROM (SELECT table1.id, name, cats, age\n FROM table1\n JOIN table2 ON table1.id = table2.id);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDerivedTableAlias", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlTriggerTransitionInspection", + "shortDescription": { + "text": "Suspicious code in triggers" + }, + "fullDescription": { + "text": "Reports incorrect usages of transition table variables in triggers. Example (HSQLDB): 'CREATE TABLE foo(a INT);\n\nCREATE TRIGGER trg\n AFTER DELETE ON foo\nBEGIN\n SELECT * FROM NEW;\nEND;\n\nCREATE TRIGGER trig AFTER INSERT ON foo\n REFERENCING OLD ROW AS newrow\n FOR EACH ROW WHEN (a > 1)\n INSERT INTO foo VALUES (1)' In HSQLDB, DELETE triggers may be used only with the OLD state while INSERT triggers may have only the NEW state. So, in the previous example, NEW in 'SELECT * FROM NEW;' will be highlighted as well as OLD in 'REFERENCING OLD ROW AS newrow'.", + "markdown": "Reports incorrect usages of transition table variables in triggers.\n\nExample (HSQLDB):\n\n CREATE TABLE foo(a INT);\n\n CREATE TRIGGER trg\n AFTER DELETE ON foo\n BEGIN\n SELECT * FROM NEW;\n END;\n\n CREATE TRIGGER trig AFTER INSERT ON foo\n REFERENCING OLD ROW AS newrow\n FOR EACH ROW WHEN (a > 1)\n INSERT INTO foo VALUES (1)\n\nIn HSQLDB, DELETE triggers may be used only with the OLD state while INSERT triggers may have only the NEW state. So, in the previous\nexample, NEW in `SELECT * FROM NEW;` will be highlighted as well as OLD in `REFERENCING OLD ROW AS newrow`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlTriggerTransition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlNamedArgumentsInspection", + "shortDescription": { + "text": "Named arguments should be used" + }, + "fullDescription": { + "text": "Reports arguments that are used without names in routine calls. By default, this inspection is disabled. For more information about the difference between named and unnamed parameters, see Binding Parameters by Name (Named Parameters) at docs.microsoft.com . Example (Microsoft SQL Server): 'CREATE FUNCTION foo(n INT, m INT) RETURNS INT AS\nBEGIN\n RETURN n + m;\nEND;\n\nCREATE PROCEDURE test AS\nBEGIN\n foo n = 1, m = 2;\n\n--- The following call misses parameter names and will be highlighted\n foo 1, 2;\nEND;' Parameters '1, 2' in the 'foo 1, 2;' call are highlighted because they miss names.", + "markdown": "Reports arguments that are used without names in routine calls. By default, this inspection is disabled.\n\nFor more information about the difference between named and unnamed parameters, see [Binding Parameters by Name (Named Parameters) at docs.microsoft.com](https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/binding-parameters-by-name-named-parameters).\n\nExample (Microsoft SQL Server):\n\n CREATE FUNCTION foo(n INT, m INT) RETURNS INT AS\n BEGIN\n RETURN n + m;\n END;\n\n CREATE PROCEDURE test AS\n BEGIN\n foo n = 1, m = 2;\n\n --- The following call misses parameter names and will be highlighted\n foo 1, 2;\n END;\n\nParameters `1, 2` in the `foo 1, 2;` call are highlighted because they miss names." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlNamedArguments", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCaseVsCoalesceInspection", + "shortDescription": { + "text": "Using CASE instead of COALESCE function and vice versa" + }, + "fullDescription": { + "text": "Reports situations when CASE and COALESCE calls are interchangeable. This inspection has the following intention actions: Replace with 'COALESCE' call and the opposite one Replace with CASE expression. Example (MySQL): 'SELECT\n -- this CASE may be replaced by COALESCE\n\tCASE\n\t\tWHEN C1 IS NOT NULL THEN C1\n\t\tELSE 0\n\t\tEND\nFROM dual;' In the example, the CASE statement can be replaced with 'SELECT COALESCE(C1, 0)' that produces the same output. If you prefer using CASE expressions, select the Prefer CASE expressions over COALESCE function option on the inspection page.", + "markdown": "Reports situations when CASE and COALESCE calls are interchangeable. This inspection has the following intention actions: **Replace\nwith 'COALESCE' call** and the opposite one **Replace with CASE expression** .\n\nExample (MySQL):\n\n SELECT\n -- this CASE may be replaced by COALESCE\n \tCASE\n \t\tWHEN C1 IS NOT NULL THEN C1\n \t\tELSE 0\n \t\tEND\n FROM dual;\n\nIn the example, the CASE statement can be replaced with `SELECT COALESCE(C1, 0)` that produces the same output.\n\nIf you prefer using CASE expressions, select the **Prefer CASE expressions over COALESCE function** option on\nthe inspection page." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCaseVsCoalesce", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantAliasInspection", + "shortDescription": { + "text": "Redundant alias expressions" + }, + "fullDescription": { + "text": "Reports alias expressions that duplicate names of columns in tables and might be redundant. Example (PostgreSQL): 'CREATE TABLE foo(a INT, b INT);\n\nSELECT * FROM foo foo(a, b);\nSELECT * FROM foo foo(a);\nSELECT * FROM foo foo(x);\nSELECT * FROM foo foo(x, y);' The first two aliases use the same column names as in the 'foo' table. They are considered redundant because they column names are identical.", + "markdown": "Reports alias expressions that duplicate names of columns in tables and might be redundant.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT, b INT);\n\n SELECT * FROM foo foo(a, b);\n SELECT * FROM foo foo(a);\n SELECT * FROM foo foo(x);\n SELECT * FROM foo foo(x, y);\n\nThe first two aliases use the same column names as in the `foo` table. They are considered redundant because they\ncolumn names are identical." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantAlias", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlTransactionStatementInTriggerInspection", + "shortDescription": { + "text": "Use of transaction management statements in triggers" + }, + "fullDescription": { + "text": "Reports usages of transaction management statements like COMMIT or ROLLBACK in trigger bodies. With COMMIT or ROLLBACK statements in a trigger body, the trigger will not compile. The fail happens because triggers start during transactions. When the trigger starts the current transaction is still not complete. As COMMIT terminates a transaction, both statements (COMMIT and ROLLBACK) would lead to an exception. Changes that are executed in a trigger should be committed (or rolled back) by the owning transaction that started the trigger. Example (Oracle): 'CREATE TABLE employee_audit\n(\n id INT NOT NULL,\n update_date DATE NOT NULL,\n old_name VARCHAR2(100),\n new_name VARCHAR2(100)\n);\n\nCREATE TABLE employees\n(\n id INT NOT NULL,\n name VARCHAR2(100) NOT NULL\n);\n\nCREATE OR REPLACE TRIGGER trig_commit\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\nBEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n COMMIT;\nEND;\n\nCREATE OR REPLACE TRIGGER trig_rollback\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\nBEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n ROLLBACK;\nEND;'", + "markdown": "Reports usages of transaction management statements like COMMIT or ROLLBACK in trigger bodies.\n\nWith COMMIT or ROLLBACK statements in a trigger body, the trigger will not compile.\nThe fail happens because triggers start during transactions. When the trigger starts the current transaction is still not complete. As\nCOMMIT\nterminates a transaction, both statements (COMMIT and ROLLBACK) would lead to an exception.\nChanges that are executed in a trigger should be committed (or rolled back) by the owning transaction that started the trigger.\n\nExample (Oracle):\n\n CREATE TABLE employee_audit\n (\n id INT NOT NULL,\n update_date DATE NOT NULL,\n old_name VARCHAR2(100),\n new_name VARCHAR2(100)\n );\n\n CREATE TABLE employees\n (\n id INT NOT NULL,\n name VARCHAR2(100) NOT NULL\n );\n\n CREATE OR REPLACE TRIGGER trig_commit\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\n BEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n COMMIT;\n END;\n\n CREATE OR REPLACE TRIGGER trig_rollback\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\n BEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n ROLLBACK;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlTransactionStatementInTrigger", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantCodeInCoalesceInspection", + "shortDescription": { + "text": "Redundant code in COALESCE call" + }, + "fullDescription": { + "text": "Reports all the arguments except for the first expression that does not evaluate to NULL in COALESCE functions. Example (MySQL): 'SELECT COALESCE(NULL, NULL, NULL, 42, NULL, 'string') as a;' The first NOT NULL argument is '42', all other arguments will be grayed out.", + "markdown": "Reports all the arguments except for the first expression that does not evaluate to NULL in COALESCE functions.\n\nExample (MySQL):\n\n SELECT COALESCE(NULL, NULL, NULL, 42, NULL, 'string') as a;\n\nThe first NOT NULL argument is `42`, all other arguments will be grayed out." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantCodeInCoalesce", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAggregatesInspection", + "shortDescription": { + "text": "Aggregate-related problems" + }, + "fullDescription": { + "text": "Reports invalid usages of SQL aggregate functions. The following situations are considered: Columns that are used in HAVING and ORDER BY clauses but are missed in GROUP BY clauses. 'CREATE TABLE foo(id INT PRIMARY KEY, a INT, b INT);\nSELECT a, MAX(b) FROM foo GROUP BY a HAVING b > 0;\nSELECT * FROM foo GROUP BY a ORDER BY b;' This rule does not apply when grouping is made by the primary key. 'SELECT * FROM foo GROUP BY id ORDER BY b;' Aggregate functions in a wrong context. Usually, you can use aggregate functions in the following contexts: a list of expressions in SELECT; in HAVING and ORDER BY sections; and other dialect-specific cases. The following queries will display an error. 'SELECT a FROM foo WHERE MAX(b) > 0;\nSELECT a FROM foo GROUP BY MAX(a);' Nested calls of aggregate functions. 'SELECT MAX(SUM(a)) FROM foo GROUP BY a;' This rule does not apply to analytic functions. The following query is valid and correct. 'SELECT MAX(SUM(a) OVER ()) FROM foo;' Usages of HAVING without aggregate functions. In this case, consider rewriting your code using the WHERE section. 'SELECT a, MAX(b) FROM foo GROUP BY a HAVING a > 0;'", + "markdown": "Reports invalid usages of SQL aggregate functions.\n\nThe following situations are considered:\n\n* Columns that are used in HAVING and ORDER BY clauses but are missed in GROUP BY clauses.\n\n CREATE TABLE foo(id INT PRIMARY KEY, a INT, b INT);\n SELECT a, MAX(b) FROM foo GROUP BY a HAVING b > 0;\n SELECT * FROM foo GROUP BY a ORDER BY b;\n\n This rule does not apply when grouping is made by the primary key.\n\n SELECT * FROM foo GROUP BY id ORDER BY b;\n\n* Aggregate functions in a wrong context. Usually, you can use aggregate functions in the following contexts: a list of expressions in\n SELECT; in HAVING and ORDER BY sections; and other dialect-specific cases. The following queries will display an error.\n\n SELECT a FROM foo WHERE MAX(b) > 0;\n SELECT a FROM foo GROUP BY MAX(a);\n\n* Nested calls of aggregate functions.\n\n SELECT MAX(SUM(a)) FROM foo GROUP BY a;\n\n This rule does not apply to analytic functions. The following query is valid and correct.\n\n SELECT MAX(SUM(a) OVER ()) FROM foo;\n\n* Usages of HAVING without aggregate functions. In this case, consider rewriting your code using the WHERE section.\n\n SELECT a, MAX(b) FROM foo GROUP BY a HAVING a > 0;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAggregates", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlConstantExpressionInspection", + "shortDescription": { + "text": "Constant expression" + }, + "fullDescription": { + "text": "Reports conditions and expressions that are always true, false or null. Example (MySQL): 'CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\nSELECT a FROM t1 WHERE 'Cat' = 'Cat';\nSELECT a FROM t1 WHERE 'Cat' = null;' The ''Cat' = 'Cat'' is always true and will be reported. The ''Cat' = null' is always null and will be reported.", + "markdown": "Reports conditions and expressions that are always true, false or null.\n\nExample (MySQL):\n\n CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\n SELECT a FROM t1 WHERE 'Cat' = 'Cat';\n SELECT a FROM t1 WHERE 'Cat' = null;\n\nThe `'Cat' = 'Cat'` is always true and will be reported.\n\nThe `'Cat' = null` is always null and will be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlConstantExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMissingColumnAliasesInspection", + "shortDescription": { + "text": "Missing column aliases" + }, + "fullDescription": { + "text": "Reports queries without explicit aliases in output expressions (for example, in the SELECT statement). Example (PostgreSQL): 'CREATE TABLE foo(a INT, b INT);\n\nSELECT 1, a + 1 AS A2, MAX(b) AS M\nFROM foo;'", + "markdown": "Reports queries without explicit aliases in output expressions (for example, in the SELECT statement).\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT, b INT);\n\n SELECT 1, a + 1 AS A2, MAX(b) AS M\n FROM foo;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMissingColumnAliases", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAddNotNullColumnInspection", + "shortDescription": { + "text": "Adding not null column without default value" + }, + "fullDescription": { + "text": "Reports attempts to create NOT NULL columns without DEFAULT values. Example (Microsoft SQL Server): 'CREATE TABLE foo (a INT, b INT)\n\nALTER TABLE foo ADD c INT NOT NULL;' By default, a column holds NULL values. In the example, we use the NOT NULL constraint that enforces a column not to accept NULL values. If we prohibit to use NULL values, we must set the DEFAULT value that SQL can use when we create a new record. 'ALTER TABLE foo ADD c INT NOT NULL DEFAULT 42;' You can quickly add the DEFAULT value by using the Add DEFAULT value quick-fix.", + "markdown": "Reports attempts to create NOT NULL columns without DEFAULT values.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE foo (a INT, b INT)\n\n ALTER TABLE foo ADD c INT NOT NULL;\n\nBy default, a column holds NULL values. In the example, we use the NOT NULL constraint that enforces a column not to accept NULL values.\nIf we prohibit to use NULL values, we must set the DEFAULT value that SQL can use when we create a new record.\n\n ALTER TABLE foo ADD c INT NOT NULL DEFAULT 42;\n\nYou can quickly add the DEFAULT value by using the **Add DEFAULT value** quick-fix." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAddNotNullColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OraMissingBodyInspection", + "shortDescription": { + "text": "Missing body for package/object type specification" + }, + "fullDescription": { + "text": "Reports package and object type specifications that are missing body declarations. Package specifications and object types that declare routines as well as package specifications with cursors must have body declarations where those routines and cursors are implemented. Absence of a body leads to a runtime error when routines or cursors are invoked in program code. Example (Oracle): 'CREATE OR REPLACE PACKAGE ppp IS\n FUNCTION foo(a INT) RETURN INT;\nEND;'", + "markdown": "Reports package and object type specifications that are missing body declarations.\n\nPackage specifications and object types that declare routines as well as package specifications with cursors must have body\ndeclarations where those routines and cursors are implemented. Absence of a body leads to a runtime error when routines or cursors are\ninvoked in program code.\n\nExample (Oracle):\n\n CREATE OR REPLACE PACKAGE ppp IS\n FUNCTION foo(a INT) RETURN INT;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMissingBody", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Oracle", + "index": 78, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OraUnmatchedForwardDeclarationInspection", + "shortDescription": { + "text": "Forward declaration without definition" + }, + "fullDescription": { + "text": "Reports declarations of procedures and functions that are missing their implementation in code. In Oracle, you can declare a procedure or a function without its body, and write the implementation later. The inspection will report names of such procedures or functions that are left without implementation. Example (Oracle): 'DECLARE PROCEDURE foo(a int, b varchar2);\nBEGIN\n NULL;\nEND;' The 'foo' procedure is declared but is missing implementation. We can add the implementation to get rid of the error. 'DECLARE PROCEDURE foo(a int, b varchar2);\n PROCEDURE foo(a int, b varchar2) IS\nBEGIN\n NULL;\nEND;\nBEGIN\n NULL;\nEND;'", + "markdown": "Reports declarations of procedures and functions that are missing their implementation in code.\n\nIn Oracle, you can declare a procedure or a function without its body, and write the implementation later. The inspection will report names\nof such procedures or functions that are left without implementation.\n\nExample (Oracle):\n\n DECLARE PROCEDURE foo(a int, b varchar2);\n BEGIN\n NULL;\n END;\n\nThe `foo` procedure is declared but is missing implementation. We can add the implementation to get rid of the error.\n\n DECLARE PROCEDURE foo(a int, b varchar2);\n PROCEDURE foo(a int, b varchar2) IS\n BEGIN\n NULL;\n END;\n BEGIN\n NULL;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlUnmatchedForwardDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Oracle", + "index": 78, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSExtResolveInspection", + "shortDescription": { + "text": "Resolution problems" + }, + "fullDescription": { + "text": "Reports unresolved references in MongoDB and JavaScript code.", + "markdown": "Reports unresolved references in MongoDB and JavaScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSResolve", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 80, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlWithoutWhereInspection", + "shortDescription": { + "text": "Delete or update statement without where clauses" + }, + "fullDescription": { + "text": "Reports usages of DELETE or UPDATE statements without WHERE clauses. Without WHERE clauses, DELETE drops all the data from the table, and UPDATE overwrites values for all the table rows. Example (MySQL): 'CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\nupdate t1 set a = 'Smith';\ndelete from t1;'", + "markdown": "Reports usages of DELETE or UPDATE statements without WHERE clauses.\n\nWithout WHERE clauses, DELETE drops all the data from the table, and UPDATE overwrites values for all the table rows.\n\nExample (MySQL):\n\n CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\n update t1 set a = 'Smith';\n delete from t1;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlWithoutWhere", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnusedCteInspection", + "shortDescription": { + "text": "Unused common table expression" + }, + "fullDescription": { + "text": "Reports unused common table expressions (CTE) inside the query. Example (PostgreSQL): 'CREATE TABLE foo(a INT);\n\nWITH a AS (SELECT 1 AS x FROM foo)\nSELECT 1 + 2 FROM foo;' By using WITH, we create a temporary named result set with the name 'a', also known as a common table expression (CTE). But we do not use this CTE later in the code. The unused CTE is greyed out.", + "markdown": "Reports unused common table expressions (CTE) inside the query.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT);\n\n WITH a AS (SELECT 1 AS x FROM foo)\n SELECT 1 + 2 FROM foo;\n\nBy using WITH, we create a temporary named result set with the name `a`, also known as a common table expression (CTE). But\nwe do not use this CTE later in the code. The unused CTE is greyed out." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnusedCte", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSResolveInspection", + "shortDescription": { + "text": "Resolution problems" + }, + "fullDescription": { + "text": "Reports unresolved references in MongoDB and JavaScript code. Example: 'db\nuse foo\n -- a reference to a non-existing collection\ndb.non_existing_collection\ndb['non_existing_collection']\ndb['non_existing_collection'].find().hasNext()' The 'non_existing_collection' collection does not exist in the database and will be reported.", + "markdown": "Reports unresolved references in MongoDB and JavaScript code.\n\nExample:\n\n db\n use foo\n -- a reference to a non-existing collection\n db.non_existing_collection\n db['non_existing_collection']\n db['non_existing_collection'].find().hasNext()\n\nThe `non_existing_collection` collection does not exist in the database and will be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSResolve", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 80, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSSideEffectsInspection", + "shortDescription": { + "text": "Statement with side effects" + }, + "fullDescription": { + "text": "Reports statements that can cause side effects while the data source is in read-only mode. For more information about enabling read-only mode, see Enable read-only mode for a connection in the IDE documentation. The Disable read-only mode quick-fix turns off the read-only mode for the respective data source. Example: 'db.my_collection.insertOne()'", + "markdown": "Reports statements that can cause side effects while the data source is in read-only mode.\n\nFor more information about enabling read-only mode, see\n[Enable\nread-only mode for a connection in the IDE documentation](https://www.jetbrains.com/help/datagrip/configuring-database-connections.html#enable-read-only-mode-for-a-connection).\n\nThe **Disable read-only mode** quick-fix turns off the read-only mode for the respective data source.\n\nExample:\n\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 80, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSExtSideEffectsInspection", + "shortDescription": { + "text": "Statement with side effects" + }, + "fullDescription": { + "text": "Reports statements that may cause side effects while the data source is in read-only mode. The quick-fix turns off the read-only mode for the respective data source. Example: 'db.my_collection.insertOne()'", + "markdown": "Reports statements that may cause side effects while the data source is in read-only mode.\n\nThe quick-fix turns off the read-only mode for the respective data source.\n\nExample:\n\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 80, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnusedSubqueryItemInspection", + "shortDescription": { + "text": "Unused subquery item" + }, + "fullDescription": { + "text": "Reports columns, aliases, and other subquery items that are not referenced in the outer query expression. Example (PostgreSQL): 'CREATE TABLE for_subquery(id INT);\nSELECT a, q FROM (SELECT 1 AS a, 10 AS b, 2 + 3 AS q, id\n FROM for_subquery) x;' We reference 'a' and 'q' aliases from a subquery. But the 'b' alias and the 'id' column are not referenced in the outer SELECT statement. Therefore, 'b' and 'id' are grayed out.", + "markdown": "Reports columns, aliases, and other subquery items that are not referenced in the outer query expression.\n\nExample (PostgreSQL):\n\n CREATE TABLE for_subquery(id INT);\n SELECT a, q FROM (SELECT 1 AS a, 10 AS b, 2 + 3 AS q, id\n FROM for_subquery) x;\n\nWe reference `a` and `q` aliases from a subquery. But the `b` alias and the `id` column are\nnot referenced in the outer SELECT statement. Therefore, `b` and `id` are grayed out." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnused", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlSideEffectsInspection", + "shortDescription": { + "text": "Statement with side effects" + }, + "fullDescription": { + "text": "Reports statements that might lead to modification of a database during a read-only connection. To enable read-only mode for a connection, right-click a data source in the Database tool window (View | Tool Windows | Database) and select Properties. In the Data Sources and Drivers dialog, click the Options tab and select the Read-only checkbox. Example (MySQL): 'CREATE TABLE foo(a INT);\nINSERT INTO foo VALUES (1);' As 'CREATE TABLE' and 'INSERT INTO' statements lead to a database modification, these statements will be highlighted in read-only connection mode.", + "markdown": "Reports statements that might lead to modification of a database during a read-only connection.\n\nTo enable read-only mode for a\nconnection,\nright-click a data source in the **Database** tool window (**View \\| Tool Windows \\| Database** ) and select **Properties** .\nIn the **Data Sources and Drivers** dialog, click the **Options** tab and select the **Read-only** checkbox.\n\nExample (MySQL):\n\n CREATE TABLE foo(a INT);\n INSERT INTO foo VALUES (1);\n\nAs `CREATE TABLE` and `INSERT INTO` statements lead to a database modification, these statements will be highlighted\nin read-only connection mode." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlIllegalCursorStateInspection", + "shortDescription": { + "text": "Illegal cursor state" + }, + "fullDescription": { + "text": "Reports illegal cursor states inside SQL routines. A routine has CLOSE or FETCH statements but a cursor might be closed. A routine has the OPEN statement but a cursor might be opened. Example (Microsoft SQL Server): 'CREATE TABLE t(col INT);\n\nCREATE PROCEDURE foo() AS\nBEGIN\nDECLARE my_cursor CURSOR FOR SELECT * FROM t;\nDECLARE a INT;\nFETCH my_cursor INTO a;\nCLOSE my_cursor;\nEND;' According to CLOSE (Transact-SQL) at docs.microsoft.com, CLOSE must be issued on an open cursor, and CLOSE is not allowed on cursors that have only been declared or are already closed. So, we need to open the cursor to fix the warning. 'CREATE PROCEDURE foo() AS\nBEGIN\nDECLARE my_cursor CURSOR FOR SELECT * FROM t;\nDECLARE a INT;\nOPEN my_cursor;\nFETCH my_cursor INTO a;\nCLOSE my_cursor;\nEND;'", + "markdown": "Reports illegal cursor states inside SQL routines.\n\n* A routine has CLOSE or FETCH statements but a cursor might be closed.\n* A routine has the OPEN statement but a cursor might be opened.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE t(col INT);\n\n CREATE PROCEDURE foo() AS\n BEGIN\n DECLARE my_cursor CURSOR FOR SELECT * FROM t;\n DECLARE a INT;\n FETCH my_cursor INTO a;\n CLOSE my_cursor;\n END;\n\nAccording to [CLOSE (Transact-SQL) at\ndocs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/close-transact-sql), CLOSE must be issued on an open cursor, and CLOSE is not allowed on cursors that have only been declared or are\nalready closed. So, we need to open the cursor to fix the warning.\n\n CREATE PROCEDURE foo() AS\n BEGIN\n DECLARE my_cursor CURSOR FOR SELECT * FROM t;\n DECLARE a INT;\n OPEN my_cursor;\n FETCH my_cursor INTO a;\n CLOSE my_cursor;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlIllegalCursorState", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlJoinWithoutOnInspection", + "shortDescription": { + "text": "Unsafe 'join' clause in 'delete' statement" + }, + "fullDescription": { + "text": "Reports missing conditional checks for statements that might modify the whole database. For example, usages of JOIN clauses inside DELETE statements without ON or WHERE. Without conditional checks on JOIN, DELETE drops contents of the entire table. Example (MySQL): 'CREATE TABLE foo (a INT,b INT,c INT);\nCREATE TABLE bar (a INT,b INT,c INT);\n\nDELETE table1 FROM foo table1 INNER JOIN bar table2;'", + "markdown": "Reports missing conditional checks for statements that might modify the whole database.\n\nFor example, usages of JOIN clauses inside DELETE statements without ON or WHERE. Without conditional checks on JOIN, DELETE drops\ncontents of the entire table.\n\nExample (MySQL):\n\n CREATE TABLE foo (a INT,b INT,c INT);\n CREATE TABLE bar (a INT,b INT,c INT);\n\n DELETE table1 FROM foo table1 INNER JOIN bar table2;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlJoinWithoutOn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDropIndexedColumnInspection", + "shortDescription": { + "text": "Index is dependent on column" + }, + "fullDescription": { + "text": "Reports cases when you try to drop columns from indexed tables. This inspection is available in Microsoft SQL Server and Sybase ASE. Example (Microsoft SQL Server): 'CREATE TABLE test_index\n(\ncol INT NOT NULL,\ncol2 INT NOT NULL,\ncol3 INT NOT NULL UNIQUE,\ncol4 VARCHAR(200)\n);\n\nCREATE UNIQUE INDEX aaaa ON test_index (col, col2);\n\nALTER TABLE test_index\nDROP COLUMN col;' You cannot delete the 'col' column because it is in the indexed table. To delete the column, you need to delete the 'aaaa' index first (for example, DROP INDEX aaaa).", + "markdown": "Reports cases when you try to drop columns from indexed tables. This inspection is available in Microsoft SQL Server and Sybase ASE.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE test_index\n (\n col INT NOT NULL,\n col2 INT NOT NULL,\n col3 INT NOT NULL UNIQUE,\n col4 VARCHAR(200)\n );\n\n CREATE UNIQUE INDEX aaaa ON test_index (col, col2);\n\n ALTER TABLE test_index\n DROP COLUMN col;\n\nYou cannot delete the `col` column because it is in the indexed table. To delete the column, you need to delete the\n`aaaa` index first (for example, DROP INDEX aaaa)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDropIndexedColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCheckUsingColumnsInspection", + "shortDescription": { + "text": "Check using clause columns" + }, + "fullDescription": { + "text": "Reports columns in the USING clause that does not exist in both tables. Example (MySQL): 'CREATE TABLE t1 (i INT, j INT);\nCREATE TABLE t2 (k INT, l INT);\nSELECT * FROM t1 JOIN t2 USING (j);' In USING clauses, a column name must be present in both tables, and the SELECT query will automatically join those tables by using the given column name. As we do not have the 'j' column in 't2', we can rewrite the query using ON. The ON clause can join tables where the column names do not match in both tables. 'SELECT * FROM t1 JOIN t2 ON t1.j = t2.l;'", + "markdown": "Reports columns in the USING clause that does not exist in both tables.\n\nExample (MySQL):\n\n CREATE TABLE t1 (i INT, j INT);\n CREATE TABLE t2 (k INT, l INT);\n SELECT * FROM t1 JOIN t2 USING (j);\n\nIn USING clauses, a column name must be present in both tables, and the SELECT query will automatically join\nthose tables by using the given column name. As we do not have the `j` column in `t2`, we can\nrewrite the query using ON. The ON clause can join tables where the column names do not match in both tables.\n\n SELECT * FROM t1 JOIN t2 ON t1.j = t2.l;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCheckUsingColumns", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlConstantConditionInspection", + "shortDescription": { + "text": "Constant condition" + }, + "fullDescription": { + "text": "Reports conditions in WHERE or JOIN clauses that are always TRUE or always FALSE. Example (MySQL): 'CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\nSELECT a FROM t1 WHERE 'Cat' = 'Cat';' The ''Cat' = 'Cat'' is always true and will be reported.", + "markdown": "Reports conditions in WHERE or JOIN clauses that are always TRUE or always FALSE.\n\nExample (MySQL):\n\n CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\n SELECT a FROM t1 WHERE 'Cat' = 'Cat';\n\nThe `'Cat' = 'Cat'` is always true and will be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlConstantCondition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDialectInspection", + "shortDescription": { + "text": "SQL dialect detection" + }, + "fullDescription": { + "text": "Reports situations when a dialect is not assigned to an SQL file. For example, when you open a new SQL file without assigning a dialect to it, you see a notification where the best matching dialect is advised. Click the Use link to use the advised dialect. Alternatively, click the Change dialect to link to select the other dialect.", + "markdown": "Reports situations when a dialect is not assigned to an SQL file.\n\nFor example, when you open a new SQL file without assigning a dialect\nto it, you see a notification where the best matching dialect is advised. Click the **Use \\** link to use the advised\ndialect. Alternatively, click the **Change dialect to** link to select the other dialect." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDialectInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSExtDeprecationInspection", + "shortDescription": { + "text": "Deprecated element" + }, + "fullDescription": { + "text": "Reports usages of deprecated methods in MongoDB and JavaScript code. The quick-fix replaces deprecated methods with recommended alternatives. Example: 'db.my_collection.insert()' After the quick-fix is applied: 'db.my_collection.insertOne()'", + "markdown": "Reports usages of deprecated methods in MongoDB and JavaScript code.\n\nThe quick-fix replaces deprecated methods with recommended alternatives.\n\nExample:\n\n\n db.my_collection.insert()\n\nAfter the quick-fix is applied:\n\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSDeprecation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 80, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDuplicateColumnInspection", + "shortDescription": { + "text": "Duplicating column name in SELECT" + }, + "fullDescription": { + "text": "Reports duplicated names of column aliases in SELECT lists. Example (Sybase ASE): 'CREATE TABLE t1 (a TEXT, b INT, c INT);\n\nSELECT a AS x, b AS x FROM t1;' The 'x' alias name is used for 'a' and 'b' columns. These assignments are highlighted as errors because you cannot use identical alias names for columns in Sybase ASE.", + "markdown": "Reports duplicated names of column aliases in SELECT lists.\n\nExample (Sybase ASE):\n\n CREATE TABLE t1 (a TEXT, b INT, c INT);\n\n SELECT a AS x, b AS x FROM t1;\n\nThe `x` alias name is used for `a` and `b` columns. These assignments are highlighted as errors because\nyou cannot use identical alias names for columns in Sybase ASE." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDuplicateColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSDeprecationInspection", + "shortDescription": { + "text": "Deprecated element" + }, + "fullDescription": { + "text": "Reports usages of deprecated methods in MongoDB and JavaScript code. The quick-fix replaces deprecated methods with recommended alternatives. Example: 'db.my_collection.insert()' After the quick-fix is applied: 'db.my_collection.insertOne()'", + "markdown": "Reports usages of deprecated methods in MongoDB and JavaScript code.\n\nThe quick-fix replaces deprecated methods with recommended alternatives.\n\nExample:\n\n db.my_collection.insert()\n\nAfter the quick-fix is applied:\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSDeprecation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 80, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlTypeInspection", + "shortDescription": { + "text": "Types compatibility" + }, + "fullDescription": { + "text": "Reports type-related errors.", + "markdown": "Reports type-related errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnicodeStringLiteralInspection", + "shortDescription": { + "text": "Unicode usage in SQL" + }, + "fullDescription": { + "text": "Reports string literals that use national characters without the 'N' prefix. Without the N prefix, the string is converted to the default code page of the database. This default code page may not recognize certain characters. For more information, see nchar and nvarchar (Transact-SQL) at docs.microsoft.com. Example (Microsoft SQL Server): 'SELECT 'abcde' AS a;\nSELECT N'abcde' AS b;\nSELECT 'абвгд' AS c;\nSELECT N'абвгд' AS d;' The 'SELECT 'абвгд' AS c;' does not have the 'N' prefix, the ''абвгд'' part will be highlighted.", + "markdown": "Reports string literals that use national characters without the `N` prefix.\n\nWithout the N prefix, the string is converted to the default\ncode page of the database. This default code page may not recognize certain characters. For more information, see\n[nchar and nvarchar\n(Transact-SQL)\nat docs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql).\n\nExample (Microsoft SQL Server):\n\n SELECT 'abcde' AS a;\n SELECT N'abcde' AS b;\n SELECT 'абвгд' AS c;\n SELECT N'абвгд' AS d;\n\nThe `SELECT 'абвгд' AS c;` does not have the `N` prefix, the `'абвгд'` part will be highlighted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnicodeStringLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnusedVariableInspection", + "shortDescription": { + "text": "Unused variable" + }, + "fullDescription": { + "text": "Reports unused arguments, variables, or parameters. Example (PostgreSQL): 'CREATE FUNCTION foo(PARAMUSED INT, PARAMUNUSED INT) RETURNS INT AS\n$$\nBEGIN\n RETURN PARAMUSED;\nEND\n$$ LANGUAGE plpgsql;' The 'PARAMUNUSED' parameter is not used in the function and might be deleted.", + "markdown": "Reports unused arguments, variables, or parameters.\n\nExample (PostgreSQL):\n\n CREATE FUNCTION foo(PARAMUSED INT, PARAMUNUSED INT) RETURNS INT AS\n $$\n BEGIN\n RETURN PARAMUSED;\n END\n $$ LANGUAGE plpgsql;\n\nThe `PARAMUNUSED` parameter is not used in the function and might be deleted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnused", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PgSelectFromProcedureInspection", + "shortDescription": { + "text": "Postgres: Select from procedure call" + }, + "fullDescription": { + "text": "Reports situations when you make SELECT from a function or a DBLINK without an alias with a type (for example, 'AS t1(s VARCHAR)'). This requirement does not apply to scalar functions. Example (PostgreSQL): 'CREATE FUNCTION produce_a_table() RETURNS RECORD AS $$\nSELECT 1;\n$$ LANGUAGE sql;\nSELECT * FROM produce_a_table() AS s (c1 INT);\nSELECT * FROM produce_a_table() AS s (c1);\nSELECT * FROM DBLINK('dbname=mydb', 'SELECT proname, prosrc FROM pg_proc') AS t1;' The 'AS s (c1 INT)' has a typed alias, while 'AS s (c1)' and 'AS t1' do not. In this case, the second call of 'produce_a_table()' and 'DBLINK()' will be highlighted.", + "markdown": "Reports situations when you make SELECT from a function or a DBLINK without an alias with a type (for example, `AS t1(s VARCHAR)`).\n\nThis requirement does not apply to scalar functions.\n\nExample (PostgreSQL):\n\n CREATE FUNCTION produce_a_table() RETURNS RECORD AS $$\n SELECT 1;\n $$ LANGUAGE sql;\n SELECT * FROM produce_a_table() AS s (c1 INT);\n SELECT * FROM produce_a_table() AS s (c1);\n SELECT * FROM DBLINK('dbname=mydb', 'SELECT proname, prosrc FROM pg_proc') AS t1;\n\nThe `AS s (c1 INT)` has a typed alias, while `AS s (c1)` and `AS t1` do not.\nIn this case, the second call of `produce_a_table()` and `DBLINK()` will be highlighted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PgSelectFromProcedure", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PostgreSQL", + "index": 88, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlInsertIntoGeneratedColumnInspection", + "shortDescription": { + "text": "Insertion into generated columns" + }, + "fullDescription": { + "text": "Reports INSERT statements that assign values to generated columns. Generated columns can be read, but their values can not be directly written. Example (PostgreSQL): 'CREATE TABLE foo\n(\n col1 INT,\n col2 INT GENERATED ALWAYS AS (col1 + 1) STORED\n);\nINSERT INTO foo(col1, col2) VALUES (1, 2);'\n You cannot insert '2' into the 'col2' column because this column is generated. For this script to work, you can change '2' to DEFAULT. 'INSERT INTO foo(col1, col2) VALUES (1, DEFAULT);'", + "markdown": "Reports INSERT statements that assign values to generated columns. Generated columns can be read, but their values can not be directly written.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo\n (\n col1 INT,\n col2 INT GENERATED ALWAYS AS (col1 + 1) STORED\n );\n INSERT INTO foo(col1, col2) VALUES (1, 2);\n\nYou cannot insert `2` into the `col2` column because this column is generated.\nFor this script to work, you can change `2` to DEFAULT.\n`INSERT INTO foo(col1, col2) VALUES (1, DEFAULT);`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlInsertIntoGeneratedColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MsBuiltinInspection", + "shortDescription": { + "text": "Builtin functions" + }, + "fullDescription": { + "text": "Reports truncations of string arguments in ISNULL functions. The ISNULL syntax is 'ISNULL(check_expression, replacement_value)'. According to ISNULL at docs.microsoft.com, 'replacement_value' will be truncated if 'replacement_value' is longer than 'check_expression'. Example (Microsoft SQL Server): 'DECLARE @name1 VARCHAR(2) = NULL;\nDECLARE @name2 VARCHAR(10) = 'Example';\nDECLARE @name3 VARCHAR(2) = 'Hi';\n\n -- `@name2` is VARCHAR(10) and will be truncated\nSELECT ISNULL(@name1, @name2);\n\n -- `@name3` is VARCHAR(2) as `@name1` and will not be truncated\nSELECT ISNULL(@name1, @name3);'", + "markdown": "Reports truncations of string arguments in ISNULL functions.\n\nThe ISNULL syntax is `ISNULL(check_expression, replacement_value)`.\n\nAccording to [ISNULL at\ndocs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql), `replacement_value` will be truncated if `replacement_value` is longer than\n`check_expression`.\n\nExample (Microsoft SQL Server):\n\n DECLARE @name1 VARCHAR(2) = NULL;\n DECLARE @name2 VARCHAR(10) = 'Example';\n DECLARE @name3 VARCHAR(2) = 'Hi';\n\n -- `@name2` is VARCHAR(10) and will be truncated\n SELECT ISNULL(@name1, @name2);\n\n -- `@name3` is VARCHAR(2) as `@name1` and will not be truncated\n SELECT ISNULL(@name1, @name3);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MssqlBuiltin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL server", + "index": 89, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMultipleLimitClausesInspection", + "shortDescription": { + "text": "Multiple row limiting/offset clauses in queries" + }, + "fullDescription": { + "text": "Reports usages of multiple row limiting clauses in a single query. Example (Microsoft SQL Server): 'create table foo(a int);\nselect top 1 * from foo order by a offset 10 rows fetch next 20 rows only;' The SELECT TOP clause is used to specify that only 1 record must be returned. The FETCH clause specifies the number of rows to return after the OFFSET clause has been processed. But as we already have the SELECT TOP limiting clause, the FETCH clause might be redundant.", + "markdown": "Reports usages of multiple row limiting clauses in a single query.\n\nExample (Microsoft SQL Server):\n\n create table foo(a int);\n select top 1 * from foo order by a offset 10 rows fetch next 20 rows only;\n\nThe SELECT TOP clause is used to specify that only 1 record must be\nreturned. The FETCH clause specifies the number of rows to return after the OFFSET\nclause has been processed. But as we already have the SELECT TOP limiting clause, the FETCH clause might be redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMultipleLimitClauses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlIdentifierInspection", + "shortDescription": { + "text": "Identifier should be quoted" + }, + "fullDescription": { + "text": "Reports situations when you use SQL reserved keywords as identifier names in your query. Example (Microsoft SQL Server): 'CREATE TABLE select (identity INT IDENTITY NOT NULL, order INT NOT NULL);' We use 'select', 'identity', and 'order' as table and column names. But they are also reserved keywords in Microsoft SQL Server. Therefore, in order to use them as object names in the query, you must quote these identifiers. To quote them, you can use the Quote identifier quick-fix. After the quick-fix is applied: 'CREATE TABLE [select] ([identity] INT IDENTITY NOT NULL, [order] INT NOT NULL);'", + "markdown": "Reports situations when you use SQL reserved keywords as identifier names in your query.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE select (identity INT IDENTITY NOT NULL, order INT NOT NULL);\n\nWe use `select`, `identity`, and `order` as table and column names.\nBut they are also reserved keywords in Microsoft SQL Server.\nTherefore, in order to use them as object names in the query, you must quote these identifiers. To quote them, you can use the\n**Quote identifier** quick-fix.\n\nAfter the quick-fix is applied:\n\n CREATE TABLE [select] ([identity] INT IDENTITY NOT NULL, [order] INT NOT NULL);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlIdentifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlStorageInspection", + "shortDescription": { + "text": "SQL source modification detection" + }, + "fullDescription": { + "text": "Reports situations when source code of a database object has been changed. The inspection is triggered when you perform database or object introspection. The introspection is run when you open source code of an object, run statements, and perform code refactoring. Also, you can run introspection by right-clicking an object and selecting Refresh. The inspection covers the following situations: Object source code was changed in the database but code in the editor was not updated. Works in PostgreSQL, Microsoft SQL Server, Oracle, and Sybase ASE. You changed the object source code, introspected the database, but source code has been already changed by someone else. The database introspector was updated in the IDE and you need to download new object properties that were missing in the previous introspector version.", + "markdown": "Reports situations when source code of a database object has been changed.\n\nThe inspection is triggered when you perform database or object introspection. The introspection is run when you open source code of an\nobject, run statements, and perform code refactoring.\nAlso, you can run introspection by right-clicking an object and selecting **Refresh**.\n\nThe inspection covers the following situations:\n\n* Object source code was changed in the database but code in the editor was not updated. Works in PostgreSQL, Microsoft SQL Server, Oracle, and Sybase ASE.\n* You changed the object source code, introspected the database, but source code has been already changed by someone else.\n* The database introspector was updated in the IDE and you need to download new object properties that were missing in the previous introspector version." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlStorageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MsOrderByInspection", + "shortDescription": { + "text": "ORDER BY in queries" + }, + "fullDescription": { + "text": "Reports usages when the 'ORDER BY' clause is used without 'TOP', 'OFFSET', or 'FOR XML' in views, inline functions, derived tables, subqueries, and common table expressions. For more information about usages of 'ORDER BY', see SELECT - ORDER BY Clause (Transact-SQL) at docs.microsoft.com. Example (Microsoft SQL server): 'CREATE TABLE foo (a INT NOT NULL, b INT NOT NULL);\n\nSELECT *\nFROM (SELECT a, b\nFROM foo A\nWHERE a < 89\nORDER BY b) ALIAS;' In a subquery, ORDER BY will be highlighted as an error. You can add TOP, OFFSET, or FOR XML to a subquery. Alternatively, use the Delete element quick-fix to delete the ORDER BY section. After the quick-fix is applied: 'SELECT *\nFROM (SELECT a, b\nFROM foo A\nWHERE a < 89) ALIAS;'", + "markdown": "Reports usages when the `ORDER BY` clause is used without `TOP`, `OFFSET`, or `FOR XML` in views, inline functions, derived tables, subqueries, and common table expressions.\n\nFor more information about usages of `ORDER BY`, see [SELECT - ORDER BY Clause (Transact-SQL) at\ndocs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql).\n\nExample (Microsoft SQL server):\n\n CREATE TABLE foo (a INT NOT NULL, b INT NOT NULL);\n\n SELECT *\n FROM (SELECT a, b\n FROM foo A\n WHERE a < 89\n ORDER BY b) ALIAS;\n\nIn a subquery, ORDER BY will be highlighted as an error. You can add TOP, OFFSET, or FOR XML to a subquery.\nAlternatively, use the **Delete element** quick-fix to delete the ORDER BY section.\n\nAfter the quick-fix is applied:\n\n SELECT *\n FROM (SELECT a, b\n FROM foo A\n WHERE a < 89) ALIAS;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "MsOrderBy", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL server", + "index": 89, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlSignatureInspection", + "shortDescription": { + "text": "Function signature" + }, + "fullDescription": { + "text": "Reports signature issues for built-in functions. The inspection will report a wrong number of arguments, invalid keywords, wrong data types, and other issues. Example (MySQL): 'CREATE TABLE foo (a INT, b INT, c INT)\n\nSELECT IFNULL() FROM foo; -- error\nSELECT IFNULL(a) FROM foo; -- error\nSELECT IFNULL(a, b) FROM foo; -- OK\nSELECT IFNULL(a, b, c) FROM foo; -- error' In MySQL, the 'IFNULL()' function accepts strictly two arguments. So, only the 'SELECT IFNULL(a, b) FROM foo;' query is correct.", + "markdown": "Reports signature issues for built-in functions.\n\nThe inspection will report a wrong number of arguments, invalid keywords, wrong data types, and other issues.\n\nExample (MySQL):\n\n CREATE TABLE foo (a INT, b INT, c INT)\n\n SELECT IFNULL() FROM foo; -- error\n SELECT IFNULL(a) FROM foo; -- error\n SELECT IFNULL(a, b) FROM foo; -- OK\n SELECT IFNULL(a, b, c) FROM foo; -- error\n\nIn MySQL, the `IFNULL()` function accepts strictly two arguments. So, only the `SELECT IFNULL(a, b) FROM foo;`\nquery is correct." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantOrderingDirectionInspection", + "shortDescription": { + "text": "Redundant ordering direction" + }, + "fullDescription": { + "text": "Reports redundant ordering directions like ASC and DESC in ORDER BY clauses. Example (MySQL): 'CREATE TABLE foo(a INT, b INT, c INT);\nSELECT * FROM foo ORDER BY a ASC, b DESC, c ASC;' The ORDER BY keyword sorts the records in the ascending order by default. So, the 'ASC' keyword for 'a' and 'c' columns is redundant.", + "markdown": "Reports redundant ordering directions like ASC and DESC in ORDER BY clauses.\n\nExample (MySQL):\n\n CREATE TABLE foo(a INT, b INT, c INT);\n SELECT * FROM foo ORDER BY a ASC, b DESC, c ASC;\n\nThe ORDER BY keyword sorts the records in the ascending order by default. So, the `ASC` keyword for `a` and\n`c` columns is redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantOrderingDirection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDeprecateTypeInspection", + "shortDescription": { + "text": "Deprecated type" + }, + "fullDescription": { + "text": "Reports usages of types that are deprecated and might disappear in future versions of DBMS. Reported types: LONG in Oracle (see Deprecated and Desupported Features at docs.oracle.com). TEXT, NTEXT, and IMAGE in Microsoft SQL Server (see Deprecated Database Engine Features in SQL Server 2016 at docs.microsoft.com). Example (Oracle): 'CREATE TABLE ot.foo(\na NUMBER GENERATED BY DEFAULT AS IDENTITY,\nb LONG NOT NULL\n);'", + "markdown": "Reports usages of types that are deprecated and might disappear in future versions of DBMS.\n\nReported types:\n\n* LONG in Oracle (see [Deprecated\n and Desupported Features at docs.oracle.com](https://docs.oracle.com/cd/A91202_01/901_doc/server.901/a90120/ch4_dep.htm#6690)).\n* TEXT, NTEXT, and IMAGE in Microsoft SQL Server (see [Deprecated Database Engine Features in SQL Server 2016 at docs.microsoft.com](https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016?view=sql-server-ver15)).\n\nExample (Oracle):\n\n CREATE TABLE ot.foo(\n a NUMBER GENERATED BY DEFAULT AS IDENTITY,\n b LONG NOT NULL\n );\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDeprecateType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OraOverloadInspection", + "shortDescription": { + "text": "Overloading errors" + }, + "fullDescription": { + "text": "Reports invalid cases of subprogram overloading in Oracle. Example (Oracle): 'DECLARE\n SUBTYPE fff IS BINARY_INTEGER;\n SUBTYPE ggg IS NATURAL;\n PROCEDURE foo (a IN ggg) IS BEGIN NULL; END;\n PROCEDURE foo (a IN fff) IS BEGIN NULL; END;\nBEGIN\n NULL;\nEND;' You cannot overload subprograms which parameters differ only in subtypes. For example, you cannot overload procedures where one accepts a BINARY INTEGER parameter and the other accepts a NATURAL parameter. For more information about restrictions on procedure overloading, see Restrictions on Overloading at docs.oracle.com.", + "markdown": "Reports invalid cases of subprogram overloading in Oracle.\n\nExample (Oracle):\n\n DECLARE\n SUBTYPE fff IS BINARY_INTEGER;\n SUBTYPE ggg IS NATURAL;\n PROCEDURE foo (a IN ggg) IS BEGIN NULL; END;\n PROCEDURE foo (a IN fff) IS BEGIN NULL; END;\n BEGIN\n NULL;\n END;\n\nYou cannot overload subprograms which parameters differ only in subtypes. For example, you cannot overload procedures where one accepts a\nBINARY INTEGER parameter and the other accepts a NATURAL parameter. For more information about restrictions on procedure overloading,\nsee [Restrictions on Overloading at docs.oracle.com](https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/subprograms.htm)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlOverload", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Oracle", + "index": 78, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlGotoInspection", + "shortDescription": { + "text": "Usages of GOTO statements" + }, + "fullDescription": { + "text": "Reports usages of backward GOTO statements and GOTO statements used to exit a loop. The extensive use of GOTO statements is generally not recommended. For details, see GOTO statement in SQL procedures at ibm.com. Instead of jumping back to a previous statement using GOTO, consider using a loop. Instead of exiting the WHILE loop with GOTO, consider using other control-of-flow statements (for example, RETURN or BREAK). Example (Oracle): 'CREATE PROCEDURE test(n INT) AS\nDECLARE\n x INT;\nBEGIN\n x := 0;\n GOTO a;\n <> x := 1;\n IF (n = 0) THEN\n GOTO a;\n END IF;\n WHILE TRUE\n LOOP\n GOTO b;\n END LOOP;\n <> x := 3;\nEND;'", + "markdown": "Reports usages of backward GOTO statements and GOTO statements used to exit a loop.\n\nThe extensive use of GOTO statements is generally\nnot recommended. For details, see [GOTO statement in\nSQL\nprocedures at ibm.com](https://www.ibm.com/docs/no/db2/11.5?topic=procedures-goto-statement-in-sql).\n\nInstead of jumping back to a previous statement using GOTO, consider using a loop.\n\nInstead of exiting the WHILE loop with GOTO, consider using other control-of-flow statements (for example, RETURN or BREAK).\n\nExample (Oracle):\n\n CREATE PROCEDURE test(n INT) AS\n DECLARE\n x INT;\n BEGIN\n x := 0;\n GOTO a;\n <> x := 1;\n IF (n = 0) THEN\n GOTO a;\n END IF;\n WHILE TRUE\n LOOP\n GOTO b;\n END LOOP;\n <> x := 3;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlGoto", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAmbiguousColumnInspection", + "shortDescription": { + "text": "Ambiguous reference" + }, + "fullDescription": { + "text": "Reports columns that have identical names but belong to different tables. Example (MySQL): 'CREATE TABLE foo(id INT PRIMARY KEY);\nCREATE TABLE bar(id INT PRIMARY KEY);\n\nSELECT foo.id, bar.id FROM foo, bar WHERE id > 0;' The 'id' column appears in 'foo' and 'bar' tables. You need to qualify the column name to make the query correct. 'SELECT foo.id, bar.id FROM foo, bar WHERE foo.id > 0;'", + "markdown": "Reports columns that have identical names but belong to different tables.\n\nExample (MySQL):\n\n CREATE TABLE foo(id INT PRIMARY KEY);\n CREATE TABLE bar(id INT PRIMARY KEY);\n\n SELECT foo.id, bar.id FROM foo, bar WHERE id > 0;\n\nThe `id` column appears in `foo` and `bar` tables. You need to qualify the column name to\nmake the query correct.\n\n SELECT foo.id, bar.id FROM foo, bar WHERE foo.id > 0;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAmbiguousColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlNullComparisonInspection", + "shortDescription": { + "text": "Null comparison" + }, + "fullDescription": { + "text": "Reports comparisons with NULL that can be replaced with IS NULL or IS NOT NULL operators. Example (Microsoft SQL Server): 'CREATE TABLE foo ( id int );\n\nSELECT * FROM foo WHERE NULL = NULL;\nSELECT * FROM foo WHERE NULL != NULL;' The 'NULL = NULL' can be replaced with 'IS NULL', the 'NULL != NULL' comparison with 'IS NOT NULL'. To do this replacement, you can use Use IS NULL operator or Use IS NOT NULL operator quick-fixes. 'SELECT * FROM foo WHERE NULL IS NULL;\nSELECT * FROM foo WHERE NULL IS NOT NULL;'", + "markdown": "Reports comparisons with NULL that can be replaced with IS NULL or IS NOT NULL operators.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE foo ( id int );\n\n SELECT * FROM foo WHERE NULL = NULL;\n SELECT * FROM foo WHERE NULL != NULL;\n\nThe `NULL = NULL` can be replaced with `IS NULL`, the `NULL != NULL` comparison\nwith `IS NOT NULL`. To do this replacement, you can use **Use IS NULL operator** or **Use IS NOT NULL operator**\nquick-fixes.\n\n SELECT * FROM foo WHERE NULL IS NULL;\n SELECT * FROM foo WHERE NULL IS NOT NULL;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlNullComparison", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 35, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.sass", + "version": "241.17570", + "rules": [ + { + "id": "SassScssResolvedByNameOnly", + "shortDescription": { + "text": "Missing import" + }, + "fullDescription": { + "text": "Reports a reference to a variable, mixin, or function that is declared in another file but this file isn't explicitly imported in the current file. Example: '* {\n margin: $var-in-other-file;\n}'", + "markdown": "Reports a reference to a variable, mixin, or function that is declared in another file but this file isn't explicitly [imported](https://sass-lang.com/documentation/at-rules/import) in the current file.\n\n**Example:**\n\n\n * {\n margin: $var-in-other-file;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "SassScssResolvedByNameOnly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 13, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SassScssUnresolvedVariable", + "shortDescription": { + "text": "Unresolved variable" + }, + "fullDescription": { + "text": "Reports an unresolved Sass/SCSS variable reference. Example: '* {\n margin: $unknown-var;\n}'", + "markdown": "Reports an unresolved [Sass/SCSS variable](https://sass-lang.com/documentation/variables) reference.\n\n**Example:**\n\n\n * {\n margin: $unknown-var;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SassScssUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 13, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SassScssUnresolvedMixin", + "shortDescription": { + "text": "Unresolved mixin" + }, + "fullDescription": { + "text": "Reports an unresolved Sass/SCSS mixin reference. Example: '* {\n @include unknown-mixin;\n}'", + "markdown": "Reports an unresolved [Sass/SCSS mixin](https://sass-lang.com/documentation/at-rules/mixin) reference.\n\n**Example:**\n\n\n * {\n @include unknown-mixin;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SassScssUnresolvedMixin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 13, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SassScssUnresolvedPlaceholderSelector", + "shortDescription": { + "text": "Unresolved placeholder selector" + }, + "fullDescription": { + "text": "Reports an unresolved Sass/SCSS placeholder selector reference. Example: '* {\n @extend %unknown-placeholder-selector;\n}'", + "markdown": "Reports an unresolved [Sass/SCSS placeholder selector](https://sass-lang.com/documentation/variables) reference.\n\n**Example:**\n\n\n * {\n @extend %unknown-placeholder-selector;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SassScssUnresolvedPlaceholderSelector", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Sass_SCSS", + "index": 13, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij", + "version": "241.17570.152", + "rules": [ + { + "id": "HtmlUnknownBooleanAttribute", + "shortDescription": { + "text": "Incorrect boolean attribute" + }, + "fullDescription": { + "text": "Reports an HTML non-boolean attribute without a value. Suggests configuring attributes that should not be reported.", + "markdown": "Reports an HTML non-boolean attribute without a value. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownBooleanAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedCode", + "shortDescription": { + "text": "Duplicated code fragment" + }, + "fullDescription": { + "text": "Reports duplicated blocks of code from the selected scope: the same file or the entire project. The inspection features quick-fixes that help you to set the size of detected duplicates, navigate to repetitive code fragments, and compare them in a tool window. The inspection options allow you to select the scope of the reported duplicated fragments and set the initial size for the duplicated language constructs.", + "markdown": "Reports duplicated blocks of code from the selected scope: the same file or the entire project.\n\nThe inspection features quick-fixes that help you to set the size of detected duplicates, navigate to repetitive code fragments, and compare them in a tool window.\n\nThe inspection options allow you to select the scope of the reported duplicated fragments and set the initial size for the duplicated language constructs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "DuplicatedCode", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentLineSeparators", + "shortDescription": { + "text": "Inconsistent line separators" + }, + "fullDescription": { + "text": "Reports files with line separators different from the ones that are specified in the project's settings. For example, the inspection will be triggered if you set the line separator to '\\n' in Settings | Editor | Code Style | Line separator, while the file you are editing uses '\\r\\n' as a line separator. The inspection also warns you about mixed line separators within a file.", + "markdown": "Reports files with line separators different from the ones that are specified in the project's settings.\n\nFor example, the inspection will be triggered if you set the line separator to `\\n` in\n[Settings \\| Editor \\| Code Style \\| Line separator](settings://preferences.sourceCode?Line%20separator),\nwhile the file you are editing uses `\\r\\n` as a line separator.\n\nThe inspection also warns you about mixed line separators within a file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InconsistentLineSeparators", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantSuppression", + "shortDescription": { + "text": "Redundant suppression" + }, + "fullDescription": { + "text": "Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context: '@SuppressWarning' annotation, or '// noinspection' line comment, or '/** noinspection */' JavaDoc comment Example: 'public class C {\n // symbol is already private,\n // but annotation is still around\n @SuppressWarnings({\"WeakerAccess\"})\n private boolean CONST = true;\n void f() {\n CONST = false;\n }\n}'", + "markdown": "Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context:\n\n* `@SuppressWarning` annotation, or\n* `// noinspection` line comment, or\n* `/** noinspection */` JavaDoc comment\n\nExample:\n\n\n public class C {\n // symbol is already private,\n // but annotation is still around\n @SuppressWarnings({\"WeakerAccess\"})\n private boolean CONST = true;\n void f() {\n CONST = false;\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantSuppression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ProblematicWhitespace", + "shortDescription": { + "text": "Problematic whitespace" + }, + "fullDescription": { + "text": "Reports the following problems: Tabs used for indentation when the code style is configured to use only spaces. Spaces used for indentation when the code style is configured to use only tabs. Spaces used for indentation and tabs used for alignment when the code style is configured to use smart tabs.", + "markdown": "Reports the following problems:\n\n* Tabs used for indentation when the code style is configured to use only spaces.\n* Spaces used for indentation when the code style is configured to use only tabs.\n* Spaces used for indentation and tabs used for alignment when the code style is configured to use smart tabs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ProblematicWhitespace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownTarget", + "shortDescription": { + "text": "Unresolved file in a link" + }, + "fullDescription": { + "text": "Reports an unresolved file in a link.", + "markdown": "Reports an unresolved file in a link." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownTarget", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LongLine", + "shortDescription": { + "text": "Line is longer than allowed by code style" + }, + "fullDescription": { + "text": "Reports lines that are longer than the Hard wrap at parameter specified in Settings | Editor | Code Style | General.", + "markdown": "Reports lines that are longer than the **Hard wrap at** parameter specified in [Settings \\| Editor \\| Code Style \\| General](settings://preferences.sourceCode?Hard%20wrap%20at)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LongLine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlWrongRootElement", + "shortDescription": { + "text": "Wrong root element" + }, + "fullDescription": { + "text": "Reports a root tag name different from the name specified in the '' tag.", + "markdown": "Reports a root tag name different from the name specified in the `` tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlWrongRootElement", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownAttribute", + "shortDescription": { + "text": "Unknown attribute" + }, + "fullDescription": { + "text": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported.", + "markdown": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantEscape", + "shortDescription": { + "text": "Redundant character escape" + }, + "fullDescription": { + "text": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets '[]' of a character class. Although unescaped opening curly braces '{' outside of character classes are allowed in some dialects (JavaScript, Python, and so on), it can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters. For this reason the inspection does not report escaped opening curly braces. Example: '\\-\\;[\\.]' After the quick-fix is applied: '-;[.]' The Ignore escaped closing brackets '}' and ']' option specifies whether to report '\\}' and '\\]' outside of a character class when they are allowed to be unescaped by the RegExp dialect. New in 2017.3", + "markdown": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets `[]` of a character class.\n\n\nAlthough unescaped opening curly braces `{` outside of character classes are allowed in some dialects (JavaScript, Python, and so on),\nit can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters.\nFor this reason the inspection does not report escaped opening curly braces.\n\n**Example:**\n\n\n \\-\\;[\\.]\n\nAfter the quick-fix is applied:\n\n\n -;[.]\n\n\nThe **Ignore escaped closing brackets '}' and '\\]'** option specifies whether to report `\\}` and `\\]` outside of a character class\nwhen they are allowed to be unescaped by the RegExp dialect.\n\nNew in 2017.3" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRedundantEscape", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CustomRegExpInspection", + "shortDescription": { + "text": "Custom RegExp inspection" + }, + "fullDescription": { + "text": "Custom Regex Inspection", + "markdown": "Custom Regex Inspection" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CustomRegExpInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncorrectFormatting", + "shortDescription": { + "text": "Incorrect formatting" + }, + "fullDescription": { + "text": "Reports formatting issues that appear if your code doesn't follow your project's code style settings. This inspection is not compatible with languages that require third-party formatters for code formatting, for example, Go or C with CLangFormat enabled.", + "markdown": "Reports formatting issues that appear if your code doesn't\nfollow your project's code style settings.\n\n\nThis inspection is not compatible with languages that require\nthird-party formatters for code formatting, for example, Go or\nC with CLangFormat enabled." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "IncorrectFormatting", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlExtraClosingTag", + "shortDescription": { + "text": "Redundant closing tag" + }, + "fullDescription": { + "text": "Reports redundant closing tags on empty elements, for example, 'img' or 'br'. Example: '\n \n

\n \n ' After the quick-fix is applied: '\n \n
\n \n '", + "markdown": "Reports redundant closing tags on empty elements, for example, `img` or `br`.\n\n**Example:**\n\n\n \n \n

\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n
\n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlExtraClosingTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpUnexpectedAnchor", + "shortDescription": { + "text": "Begin or end anchor in unexpected position" + }, + "fullDescription": { + "text": "Reports '^' or '\\A' anchors not at the beginning of the pattern and '$', '\\Z' or '\\z' anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the '^' and '$' anchors, most likely the literal character was meant and the escape forgotten. Example: '(Price $10)' New in 2018.1", + "markdown": "Reports `^` or `\\A` anchors not at the beginning of the pattern and `$`, `\\Z` or `\\z` anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the `^` and `$` anchors, most likely the literal character was meant and the escape forgotten.\n\n**Example:**\n\n\n (Price $10)\n\n\nNew in 2018.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpUnexpectedAnchor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpellCheckingInspection", + "shortDescription": { + "text": "Typo" + }, + "fullDescription": { + "text": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click.", + "markdown": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "SpellCheckingInspection", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 60, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckXmlFileWithXercesValidator", + "shortDescription": { + "text": "Failed external validation" + }, + "fullDescription": { + "text": "Reports a discrepancy in an XML file with the specified DTD or schema detected by the Xerces validator.", + "markdown": "Reports a discrepancy in an XML file with the specified DTD or schema detected by the Xerces validator." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckXmlFileWithXercesValidator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownTag", + "shortDescription": { + "text": "Unknown tag" + }, + "fullDescription": { + "text": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported.", + "markdown": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpEscapedMetaCharacter", + "shortDescription": { + "text": "Escaped meta character" + }, + "fullDescription": { + "text": "Reports escaped meta characters. Some RegExp coding styles specify that meta characters should be placed inside a character class, to make the regular expression easier to understand. This inspection does not warn about the meta character '[', ']' and '^', because those would need additional escaping inside a character class. Example: '\\d+\\.\\d+' After the quick-fix is applied: '\\d+[.]\\d+' New in 2017.1", + "markdown": "Reports escaped meta characters. Some RegExp coding styles specify that meta characters should be placed inside a character class, to make the regular expression easier to understand. This inspection does not warn about the meta character `[`, `]` and `^`, because those would need additional escaping inside a character class.\n\n**Example:**\n\n\n \\d+\\.\\d+\n\nAfter the quick-fix is applied:\n\n\n \\d+[.]\\d+\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RegExpEscapedMetaCharacter", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlHighlighting", + "shortDescription": { + "text": "XML highlighting" + }, + "fullDescription": { + "text": "Reports XML validation problems in the results of a batch code inspection.", + "markdown": "Reports XML validation problems in the results of a batch code inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlHighlighting", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDuplicatedId", + "shortDescription": { + "text": "Duplicate 'id' attribute" + }, + "fullDescription": { + "text": "Reports a duplicate 'id' attribute in XML.", + "markdown": "Reports a duplicate `id` attribute in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlDuplicatedId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpDuplicateCharacterInClass", + "shortDescription": { + "text": "Duplicate character in character class" + }, + "fullDescription": { + "text": "Reports duplicate characters inside a RegExp character class. Duplicate characters are unnecessary and can be removed without changing the semantics of the regex. Example: '[aabc]' After the quick-fix is applied: '[abc]'", + "markdown": "Reports duplicate characters inside a RegExp character class. Duplicate characters are unnecessary and can be removed without changing the semantics of the regex.\n\n**Example:**\n\n\n [aabc]\n\nAfter the quick-fix is applied:\n\n\n [abc]\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpDuplicateCharacterInClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnboundNsPrefix", + "shortDescription": { + "text": "Unbound namespace prefix" + }, + "fullDescription": { + "text": "Reports an unbound namespace prefix in XML.", + "markdown": "Reports an unbound namespace prefix in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlUnboundNsPrefix", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RequiredAttributes", + "shortDescription": { + "text": "Missing required attribute" + }, + "fullDescription": { + "text": "Reports a missing mandatory attribute in an XML/HTML tag. Suggests configuring attributes that should not be reported.", + "markdown": "Reports a missing mandatory attribute in an XML/HTML tag. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RequiredAttributes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnusedNamespaceDeclaration", + "shortDescription": { + "text": "Unused schema declaration" + }, + "fullDescription": { + "text": "Reports an unused namespace declaration or location hint in XML.", + "markdown": "Reports an unused namespace declaration or location hint in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlUnusedNamespaceDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantClassElement", + "shortDescription": { + "text": "Redundant '\\d', '[:digit:]', or '\\D' class elements" + }, + "fullDescription": { + "text": "Reports redundant '\\d' or '[:digit:]' that are used in one class with '\\w' or '[:word:]' ('\\D' with '\\W') and can be removed. Example: '[\\w\\d]' After the quick-fix is applied: '[\\w]' New in 2022.2", + "markdown": "Reports redundant `\\d` or `[:digit:]` that are used in one class with `\\w` or `[:word:]` (`\\D` with `\\W`) and can be removed.\n\n**Example:**\n\n\n [\\w\\d]\n\nAfter the quick-fix is applied:\n\n\n [\\w]\n\nNew in 2022.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RegExpRedundantClassElement", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSimplifiable", + "shortDescription": { + "text": "Regular expression can be simplified" + }, + "fullDescription": { + "text": "Reports regular expressions that can be simplified. Example: '[a] xx* [ah-hz]' After the quick-fix is applied: 'a x+ [ahz]' New in 2022.1", + "markdown": "Reports regular expressions that can be simplified.\n\n**Example:**\n\n\n [a] xx* [ah-hz]\n\nAfter the quick-fix is applied:\n\n\n a x+ [ahz]\n\nNew in 2022.1" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RegExpSimplifiable", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpEmptyAlternationBranch", + "shortDescription": { + "text": "Empty branch in alternation" + }, + "fullDescription": { + "text": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation. Example: '(alpha||bravo)' After the quick-fix is applied: '(alpha|bravo)' New in 2017.2", + "markdown": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation.\n\n**Example:**\n\n\n (alpha||bravo)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo)\n\nNew in 2017.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpEmptyAlternationBranch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlPathReference", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference in XML.", + "markdown": "Reports an unresolved file reference in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlPathReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpUnnecessaryNonCapturingGroup", + "shortDescription": { + "text": "Unnecessary non-capturing group" + }, + "fullDescription": { + "text": "Reports unnecessary non-capturing groups, which have no influence on the match result. Example: 'Everybody be cool, (?:this) is a robbery!' After the quick-fix is applied: 'Everybody be cool, this is a robbery!' New in 2021.1", + "markdown": "Reports unnecessary non-capturing groups, which have no influence on the match result.\n\n**Example:**\n\n\n Everybody be cool, (?:this) is a robbery!\n\nAfter the quick-fix is applied:\n\n\n Everybody be cool, this is a robbery!\n\nNew in 2021.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpUnnecessaryNonCapturingGroup", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TodoComment", + "shortDescription": { + "text": "TODO comment" + }, + "fullDescription": { + "text": "Reports TODO comments in your code. You can configure the format for TODO comments in Settings | Editor | TODO. Enable the Only warn on TODO comments without any details option to only warn on empty TODO comments, that don't provide any description on the task that should be done. Disable to report all TODO comments.", + "markdown": "Reports **TODO** comments in your code.\n\nYou can configure the format for **TODO** comments in [Settings \\| Editor \\| TODO](settings://preferences.toDoOptions).\n\nEnable the **Only warn on TODO comments without any details** option to only warn on empty TODO comments, that\ndon't provide any description on the task that should be done. Disable to report all TODO comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TodoComment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Json5StandardCompliance", + "shortDescription": { + "text": "Compliance with JSON5 standard" + }, + "fullDescription": { + "text": "Reports inconsistency with the language specification in a JSON5 file.", + "markdown": "Reports inconsistency with [the language specification](http://json5.org) in a JSON5 file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Json5StandardCompliance", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 75, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlWrongAttributeValue", + "shortDescription": { + "text": "Wrong attribute value" + }, + "fullDescription": { + "text": "Reports an incorrect HTML attribute value.", + "markdown": "Reports an incorrect HTML attribute value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlWrongAttributeValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDefaultAttributeValue", + "shortDescription": { + "text": "Redundant attribute with default value" + }, + "fullDescription": { + "text": "Reports a redundant assignment of the default value to an XML attribute.", + "markdown": "Reports a redundant assignment of the default value to an XML attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlDefaultAttributeValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaCompliance", + "shortDescription": { + "text": "Compliance with JSON schema" + }, + "fullDescription": { + "text": "Reports inconsistence between a JSON file and the JSON schema that is assigned to it.", + "markdown": "Reports inconsistence between a JSON file and the [JSON schema](https://json-schema.org) that is assigned to it. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonSchemaCompliance", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 75, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyDirectory", + "shortDescription": { + "text": "Empty directory" + }, + "fullDescription": { + "text": "Reports empty directories. Available only from Code | Inspect Code or Code | Analyze Code | Run Inspection by Name and isn't reported in the editor. Use the Only report empty directories located under a source folder option to have only directories under source roots reported.", + "markdown": "Reports empty directories.\n\nAvailable only from **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name** and isn't reported in the editor.\n\nUse the **Only report empty directories located under a source folder** option to have only directories under source\nroots reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyDirectory", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckDtdRefs", + "shortDescription": { + "text": "Unresolved DTD reference" + }, + "fullDescription": { + "text": "Reports inconsistency in a DTD-specific reference, for example, in a reference to an XML entity or to a DTD element declaration. Works in DTD an XML files.", + "markdown": "Reports inconsistency in a DTD-specific reference, for example, in a reference to an XML entity or to a DTD element declaration. Works in DTD an XML files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckDtdRefs", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonAsciiCharacters", + "shortDescription": { + "text": "Non-ASCII characters" + }, + "fullDescription": { + "text": "Reports code elements that use non-ASCII symbols in an unusual context. Example: Non-ASCII characters used in identifiers, strings, or comments. Identifiers written in different languages, such as 'myСollection' with the letter 'C' written in Cyrillic. Comments or strings containing Unicode symbols, such as long dashes and arrows.", + "markdown": "Reports code elements that use non-ASCII symbols in an unusual context.\n\nExample:\n\n* Non-ASCII characters used in identifiers, strings, or comments.\n* Identifiers written in different languages, such as `my`**С**`ollection` with the letter **C** written in Cyrillic.\n* Comments or strings containing Unicode symbols, such as long dashes and arrows." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NonAsciiCharacters", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Internationalization", + "index": 79, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LossyEncoding", + "shortDescription": { + "text": "Lossy encoding" + }, + "fullDescription": { + "text": "Reports characters that cannot be displayed because of the current document encoding. Examples: If you type international characters in a document with the US-ASCII charset, some characters will be lost on save. If you load a UTF-8-encoded file using the ISO-8859-1 one-byte charset, some characters will be displayed incorrectly. You can fix this by changing the file encoding either by specifying the encoding directly in the file, e.g. by editing 'encoding=' attribute in the XML prolog of XML file, or by changing the corresponding options in Settings | Editor | File Encodings.", + "markdown": "Reports characters that cannot be displayed because of the current document encoding.\n\nExamples:\n\n* If you type international characters in a document with the **US-ASCII** charset, some characters will be lost on save.\n* If you load a **UTF-8** -encoded file using the **ISO-8859-1** one-byte charset, some characters will be displayed incorrectly.\n\nYou can fix this by changing the file encoding\neither by specifying the encoding directly in the file, e.g. by editing `encoding=` attribute in the XML prolog of XML file,\nor by changing the corresponding options in **Settings \\| Editor \\| File Encodings**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LossyEncoding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Internationalization", + "index": 79, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IgnoreFileDuplicateEntry", + "shortDescription": { + "text": "Ignore file duplicates" + }, + "fullDescription": { + "text": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed. Example: '# Output directories\n /out/\n /target/\n /out/'", + "markdown": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed.\n\nExample:\n\n\n # Output directories\n /out/\n /target/\n /out/\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IgnoreFileDuplicateEntry", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Version control", + "index": 82, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonStandardCompliance", + "shortDescription": { + "text": "Compliance with JSON standard" + }, + "fullDescription": { + "text": "Reports the following discrepancies of a JSON file with the language specification: A line or block comment (configurable). Multiple top-level values (expect for JSON Lines files, configurable for others). A trailing comma in an object or array (configurable). A single quoted string. A property key is a not a double quoted strings. A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable).", + "markdown": "Reports the following discrepancies of a JSON file with [the language specification](https://tools.ietf.org/html/rfc7159):\n\n* A line or block comment (configurable).\n* Multiple top-level values (expect for JSON Lines files, configurable for others).\n* A trailing comma in an object or array (configurable).\n* A single quoted string.\n* A property key is a not a double quoted strings.\n* A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JsonStandardCompliance", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 75, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaDeprecation", + "shortDescription": { + "text": "Deprecated JSON property" + }, + "fullDescription": { + "text": "Reports a deprecated property in a JSON file. Note that deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard extension 'deprecationMessage'.", + "markdown": "Reports a deprecated property in a JSON file. \nNote that deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard extension 'deprecationMessage'." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JsonSchemaDeprecation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 75, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaRefReference", + "shortDescription": { + "text": "Unresolved '$ref' and '$schema' references" + }, + "fullDescription": { + "text": "Reports an unresolved '$ref' or '$schema' path in a JSON schema.", + "markdown": "Reports an unresolved `$ref` or `$schema` path in a JSON schema. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonSchemaRefReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 75, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SSBasedInspection", + "shortDescription": { + "text": "Structural search inspection" + }, + "fullDescription": { + "text": "Allows configuring Structural Search/Structural Replace templates that you can apply to the file you are editing. All matches will be highlighted and marked with the template name that you have configured. If you configure the Structural Replace pattern as well, the corresponding replace option will be available as a quick-fix.", + "markdown": "Allows configuring **Structural Search/Structural Replace** templates that you can apply to the file you are editing.\n\nAll matches will be highlighted and marked with the template name that you have configured.\nIf you configure the **Structural Replace** pattern as well, the corresponding replace option will be available as a quick-fix." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SSBasedInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Structural search", + "index": 83, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckValidXmlInScriptTagBody", + "shortDescription": { + "text": "Malformed content of 'script' tag" + }, + "fullDescription": { + "text": "Reports contents of 'script' tags that are invalid XML. Example: '' After the quick-fix is applied: ''", + "markdown": "Reports contents of `script` tags that are invalid XML. \n\n**Example:**\n\n\n \n\nAfter the quick-fix is applied:\n\n\n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckValidXmlInScriptTagBody", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSuspiciousBackref", + "shortDescription": { + "text": "Suspicious back reference" + }, + "fullDescription": { + "text": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation. Example of a group defined after its back reference: '\\1(abc)' Example of a group and a back reference in different branches: 'a(b)c|(xy)\\1z' New in 2022.1", + "markdown": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation.\n\n**Example of a group defined after its back reference:**\n\n\n \\1(abc)\n\n**Example of a group and a back reference in different branches:**\n\n\n a(b)c|(xy)\\1z\n\nNew in 2022.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpSuspiciousBackref", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSingleCharAlternation", + "shortDescription": { + "text": "Single character alternation" + }, + "fullDescription": { + "text": "Reports single char alternation in a RegExp. It is simpler to use a character class instead. This may also provide better matching performance. Example: 'a|b|c|d' After the quick-fix is applied: '[abcd]' New in 2017.1", + "markdown": "Reports single char alternation in a RegExp. It is simpler to use a character class instead. This may also provide better matching performance.\n\n**Example:**\n\n\n a|b|c|d\n\nAfter the quick-fix is applied:\n\n\n [abcd]\n\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpSingleCharAlternation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckTagEmptyBody", + "shortDescription": { + "text": "Empty element content" + }, + "fullDescription": { + "text": "Reports XML elements without contents. Example: '\n \n ' After the quick-fix is applied: '\n \n '", + "markdown": "Reports XML elements without contents.\n\n**Example:**\n\n\n \n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckTagEmptyBody", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnresolvedReference", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a named pattern ('define') in RELAX-NG files that use XML syntax. Suggests creating the referenced 'define' element.", + "markdown": "Reports an unresolved reference to a named pattern (`define`) in RELAX-NG files that use XML syntax. Suggests creating the referenced `define` element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "UnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "RELAX NG", + "index": 86, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlMissingClosingTag", + "shortDescription": { + "text": "Missing closing tag" + }, + "fullDescription": { + "text": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional. Example: '\n \n

Behold!\n \n ' After the quick-fix is applied: '\n \n

Behold!

\n \n '", + "markdown": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional.\n\n**Example:**\n\n\n \n \n

Behold!\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n

Behold!

\n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlMissingClosingTag", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownAnchorTarget", + "shortDescription": { + "text": "Unresolved fragment in a link" + }, + "fullDescription": { + "text": "Reports an unresolved last part of an URL after the '#' sign.", + "markdown": "Reports an unresolved last part of an URL after the `#` sign." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownAnchorTarget", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlInvalidId", + "shortDescription": { + "text": "Unresolved 'id' reference" + }, + "fullDescription": { + "text": "Reports an unresolved 'id' reference in XML.", + "markdown": "Reports an unresolved `id` reference in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlInvalidId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReassignedToPlainText", + "shortDescription": { + "text": "Reassigned to plain text" + }, + "fullDescription": { + "text": "Reports files that were explicitly re-assigned to Plain Text File Type. This association is unnecessary because the platform auto-detects text files by content automatically. You can dismiss this warning by removing the file type association in Settings | Editor | File Types | Text.", + "markdown": "Reports files that were explicitly re-assigned to Plain Text File Type. This association is unnecessary because the platform auto-detects text files by content automatically.\n\nYou can dismiss this warning by removing the file type association\nin **Settings \\| Editor \\| File Types \\| Text**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReassignedToPlainText", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Annotator", + "shortDescription": { + "text": "Annotator" + }, + "fullDescription": { + "text": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection: Option \"Report syntax errors\": report parser-related issues. Option \"Report issues from language-specific annotators\": report issues found by annotators configured for the relevant language. See Custom Language Support: Annotators for details. Option \"Report other highlighting problems\": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See Custom Language Support: Highlighting for details.", + "markdown": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection:\n\n* Option \"**Report syntax errors**\": report parser-related issues.\n* Option \"**Report issues from language-specific annotators** \": report issues found by annotators configured for the relevant language. See [Custom Language Support: Annotators](https://plugins.jetbrains.com/docs/intellij/annotator.html) for details.\n* Option \"**Report other highlighting problems** \": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See [Custom Language Support: Highlighting](https://plugins.jetbrains.com/docs/intellij/syntax-highlighting-and-error-highlighting.html#semantic-highlighting) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Annotator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonDuplicatePropertyKeys", + "shortDescription": { + "text": "Duplicate keys in object literals" + }, + "fullDescription": { + "text": "Reports a duplicate key in an object literal.", + "markdown": "Reports a duplicate key in an object literal." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonDuplicatePropertyKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 75, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDeprecatedElement", + "shortDescription": { + "text": "Deprecated symbol" + }, + "fullDescription": { + "text": "Reports a deprecated XML element or attribute. Symbols can be marked by XML comment or documentation tag with text 'deprecated'.", + "markdown": "Reports a deprecated XML element or attribute.\n\nSymbols can be marked by XML comment or documentation tag with text 'deprecated'." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlDeprecatedElement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantNestedCharacterClass", + "shortDescription": { + "text": "Redundant nested character class" + }, + "fullDescription": { + "text": "Reports unnecessary nested character classes. Example: '[a-c[x-z]]' After the quick-fix is applied: '[a-cx-z]' New in 2020.2", + "markdown": "Reports unnecessary nested character classes.\n\n**Example:**\n\n\n [a-c[x-z]]\n\nAfter the quick-fix is applied:\n\n\n [a-cx-z]\n\nNew in 2020.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRedundantNestedCharacterClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpOctalEscape", + "shortDescription": { + "text": "Octal escape" + }, + "fullDescription": { + "text": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion. Example: '\\07' After the quick-fix is applied: '\\x07' New in 2017.1", + "markdown": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion.\n\n**Example:**\n\n\n \\07\n\nAfter the quick-fix is applied:\n\n\n \\x07\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RegExpOctalEscape", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedDefine", + "shortDescription": { + "text": "Unused define" + }, + "fullDescription": { + "text": "Reports an unused named pattern ('define') in a RELAX-NG file (XML or Compact Syntax). 'define' elements that are used through an include in another file are ignored.", + "markdown": "Reports an unused named pattern (`define`) in a RELAX-NG file (XML or Compact Syntax). `define` elements that are used through an include in another file are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedDefine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RELAX NG", + "index": 86, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpAnonymousGroup", + "shortDescription": { + "text": "Anonymous capturing group or numeric back reference" + }, + "fullDescription": { + "text": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. '(?:xxx)' instead of '(xxx)'. Example: '(\\d\\d\\d\\d)\\1' A better regex pattern could look like this: '(?\\d\\d\\d\\d)\\k' New in 2017.2", + "markdown": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. `(?:xxx)` instead of `(xxx)`.\n\n**Example:**\n\n\n (\\d\\d\\d\\d)\\1\n\nA better regex pattern could look like this:\n\n\n (?\\d\\d\\d\\d)\\k\n\nNew in 2017.2" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpAnonymousGroup", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnresolvedReference", + "shortDescription": { + "text": "Unresolved references" + }, + "fullDescription": { + "text": "Reports an unresolved references in XML.", + "markdown": "Reports an unresolved references in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlUnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 42, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpDuplicateAlternationBranch", + "shortDescription": { + "text": "Duplicate branch in alternation" + }, + "fullDescription": { + "text": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression. Example: '(alpha|bravo|charlie|alpha)' After the quick-fix is applied: '(alpha|bravo|charlie)' New in 2017.1", + "markdown": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression.\n\n**Example:**\n\n\n (alpha|bravo|charlie|alpha)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo|charlie)\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpDuplicateAlternationBranch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRepeatedSpace", + "shortDescription": { + "text": "Consecutive spaces" + }, + "fullDescription": { + "text": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier. Example: '( )' After the quick-fix is applied: '( {5})' New in 2017.1", + "markdown": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier.\n\n**Example:**\n\n\n ( )\n\nAfter the quick-fix is applied:\n\n\n ( {5})\n\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRepeatedSpace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 49, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckEmptyScriptTag", + "shortDescription": { + "text": "Empty tag" + }, + "fullDescription": { + "text": "Reports empty tags that do not work in some browsers. Example: '\n \n '", + "markdown": "Reports empty tags that do not work in some browsers.\n\n**Example:**\n\n\n \n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckEmptyScriptTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "JavaScript", + "version": "241.17570", + "rules": [ + { + "id": "JSUnusedAssignment", + "shortDescription": { + "text": "Unused assignment" + }, + "fullDescription": { + "text": "Reports a variable whose value is never used after assignment. Suggests removing the unused variable to shorten the code and to avoid redundant allocations. The following cases are reported: A variable is never read after assignment. The value of a variable is always overwritten with another assignment before the variable is read next time. The initializer of a variable is redundant (for one of the above-mentioned reasons).", + "markdown": "Reports a variable whose value is never used after assignment. \nSuggests removing the unused variable to shorten the code and to avoid redundant allocations.\n\nThe following cases are reported:\n\n* A variable is never read after assignment.\n* The value of a variable is always overwritten with another assignment before the variable is read next time.\n* The initializer of a variable is redundant (for one of the above-mentioned reasons)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 15, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSError", + "shortDescription": { + "text": "Flow type checker" + }, + "fullDescription": { + "text": "Reports errors from Flow.", + "markdown": "Reports errors from [Flow](https://flowtype.org/)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "FlowJSError", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 17, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReuseOfLocalVariableJS", + "shortDescription": { + "text": "Reuse of local variable" + }, + "fullDescription": { + "text": "Reports reusing a local variable and overwriting its value with a new value that is not related to the original variable usage. Reusing a local variable in this way may be confusing because the intended semantics of the local variable may vary with each usage. It may also cause bugs, if code changes result in values that were expected to be overwritten while they are actually live. It is good practices to keep variable lifetimes as short as possible, and not reuse local variables for the sake of brevity.", + "markdown": "Reports reusing a local variable and overwriting its value with a new value that is not related to the original variable usage. Reusing a local variable in this way may be confusing because the intended semantics of the local variable may vary with each usage. It may also cause bugs, if code changes result in values that were expected to be overwritten while they are actually live. It is good practices to keep variable lifetimes as short as possible, and not reuse local variables for the sake of brevity." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReuseOfLocalVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Data flow", + "index": 18, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftOutOfRangeJS", + "shortDescription": { + "text": "Shift operation by possibly wrong constant" + }, + "fullDescription": { + "text": "Reports a shift operation where the second operand is a constant outside the reasonable range, for example, an integer shift operation outside the range '0..31', shifting by negative or overly large values.", + "markdown": "Reports a shift operation where the second operand is a constant outside the reasonable range, for example, an integer shift operation outside the range `0..31`, shifting by negative or overly large values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ShiftOutOfRangeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 22, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSClosureCompilerSyntax", + "shortDescription": { + "text": "Incorrect usage of JSDoc tags" + }, + "fullDescription": { + "text": "Reports warnings implied by Google Closure Compiler annotations including correct use of '@abstract', '@interface', and '@implements' tags.", + "markdown": "Reports warnings implied by *Google Closure Compiler* annotations including correct use of `@abstract`, `@interface`, and `@implements` tags." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSClosureCompilerSyntax", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertLetToConst", + "shortDescription": { + "text": "'let' is used instead of 'const'" + }, + "fullDescription": { + "text": "Reports a 'let' declaration that can be made 'const'.", + "markdown": "Reports a `let` declaration that can be made `const`. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertLetToConst", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXDomNesting", + "shortDescription": { + "text": "Invalid DOM element nesting" + }, + "fullDescription": { + "text": "Detects HTML elements in JSX files which are not nested properly according to the DOM specification. React reports runtime warnings on incorrectly nested elements.", + "markdown": "Detects HTML elements in JSX files which are not nested properly according to the DOM specification. React reports runtime warnings on incorrectly nested elements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSXDomNesting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/React", + "index": 30, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadExpressionStatementJS", + "shortDescription": { + "text": "Expression statement which is not assignment or call" + }, + "fullDescription": { + "text": "Reports an expression statement that is neither an assignment nor a call. Such statements usually indicate an error.", + "markdown": "Reports an expression statement that is neither an assignment nor a call. Such statements usually indicate an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadExpressionStatementJS", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 31, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingFloatingPointLiteralJS", + "shortDescription": { + "text": "Confusing floating point literal" + }, + "fullDescription": { + "text": "Reports any floating point number that does not have a decimal point, or any numbers before the decimal point, or and numbers after the decimal point. Such literals may be confusing, and violate several coding standards.", + "markdown": "Reports any floating point number that does not have a decimal point, or any numbers before the decimal point, or and numbers after the decimal point. Such literals may be confusing, and violate several coding standards." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConfusingFloatingPointLiteralJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueOrBreakFromFinallyBlockJS", + "shortDescription": { + "text": "'continue' or 'break' inside 'finally' block" + }, + "fullDescription": { + "text": "Reports a 'break' or 'continue' statement inside a 'finally' block. Such statements are very confusing, may hide exceptions, and complicate debugging.", + "markdown": "Reports a `break` or `continue` statement inside a `finally` block. Such statements are very confusing, may hide exceptions, and complicate debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueOrBreakFromFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLocalVariableJS", + "shortDescription": { + "text": "Redundant local variable" + }, + "fullDescription": { + "text": "Reports an unnecessary local variable that does not make a function more comprehensible: a local variable that is immediately returned a local variable that is immediately assigned to another variable and is not used anymore a local variable that always has the same value as another local variable or parameter. Use the checkbox below to have this inspection ignore variables that are immediately returned or thrown. Some coding styles suggest using such variables for clarity and ease of debugging.", + "markdown": "Reports an unnecessary local variable that does not make a function more comprehensible:\n\n* a local variable that is immediately returned\n* a local variable that is immediately assigned to another variable and is not used anymore\n* a local variable that always has the same value as another local variable or parameter.\n\n\nUse the checkbox below to have this inspection ignore variables that are immediately\nreturned or thrown. Some coding styles suggest using such variables for clarity and\nease of debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLocalVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Data flow", + "index": 18, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMethodCanBeStatic", + "shortDescription": { + "text": "Method can be made 'static'" + }, + "fullDescription": { + "text": "Reports a class method that can be safely made 'static'. A method can be 'static' if it does not reference any of its class' non-static methods and non-static fields and is not overridden in a subclass. Use the first checkbox below to inspect only 'private' methods.", + "markdown": "Reports a class method that can be safely made `static`. A method can be `static` if it does not reference any of its class' non-static methods and non-static fields and is not overridden in a subclass.\n\n\nUse the first checkbox below to inspect only `private` methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMethodCanBeStatic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXUnresolvedComponent", + "shortDescription": { + "text": "Unresolved JSX component" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a JSX component. Suggests adding a missing import statement if the referenced component is defined in the project or its dependencies or creating a new component with this name. The template for a new component can be modified in Editor | File and Code Templates.", + "markdown": "Reports an unresolved reference to a JSX component. Suggests adding a missing import statement if the referenced component is defined in the project or its dependencies or creating a new component with this name.\n\nThe template for a new component can be modified in Editor \\| File and Code Templates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSXUnresolvedComponent", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelOnBreakStatementJS", + "shortDescription": { + "text": "Unnecessary label on 'break' statement" + }, + "fullDescription": { + "text": "Reports a labeled 'break' statement whose labels may be removed without changing the flow of control.", + "markdown": "Reports a labeled `break` statement whose labels may be removed without changing the flow of control." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelOnBreakStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueStatementJS", + "shortDescription": { + "text": "'continue' statement" + }, + "fullDescription": { + "text": "Reports a 'continue' statement.", + "markdown": "Reports a `continue` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 43, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUndeclaredVariable", + "shortDescription": { + "text": "Implicitly declared global JavaScript variable" + }, + "fullDescription": { + "text": "Reports an implicit declaration of a global variable. Example: 'var aaa = 1; // good\n bbb = 2; // bad, if bbb is not declared with 'var' somewhere'", + "markdown": "Reports an implicit declaration of a global variable.\n\nExample:\n\n\n var aaa = 1; // good\n bbb = 2; // bad, if bbb is not declared with 'var' somewhere\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUndeclaredVariable", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DivideByZeroJS", + "shortDescription": { + "text": "Division by zero" + }, + "fullDescription": { + "text": "Reports division by zero or a remainder by zero.", + "markdown": "Reports division by zero or a remainder by zero." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DivideByZeroJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSReferencingMutableVariableFromClosure", + "shortDescription": { + "text": "Referencing mutable variable from closure" + }, + "fullDescription": { + "text": "Reports access to outer mutable variables from functions. Example: 'for (var i = 1; i <= 3; i++) {\n setTimeout(function() {\n console.log(i); // bad\n }, 0);\n }'", + "markdown": "Reports access to outer mutable variables from functions.\n\nExample:\n\n\n for (var i = 1; i <= 3; i++) {\n setTimeout(function() {\n console.log(i); // bad\n }, 0);\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSReferencingMutableVariableFromClosure", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ChainedEqualityJS", + "shortDescription": { + "text": "Chained equality" + }, + "fullDescription": { + "text": "Reports a chained equality comparison (i.e. 'a==b==c'). Such comparisons are confusing.", + "markdown": "Reports a chained equality comparison (i.e. `a==b==c`). Such comparisons are confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ChainedEqualityComparisonsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SillyAssignmentJS", + "shortDescription": { + "text": "Variable is assigned to itself" + }, + "fullDescription": { + "text": "Reports an assignment in the form 'x = x'.", + "markdown": "Reports an assignment in the form `x = x`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SillyAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 51, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertRequireIntoImport", + "shortDescription": { + "text": "'require()' is used instead of 'import'" + }, + "fullDescription": { + "text": "Reports a 'require()' statement. Suggests converting it to a 'require()' call with an 'import' statement. Enable 'Convert require() inside inner scopes with Fix all action' to convert all 'require()' calls inside the nested functions and statements when using the 'Fix all' action. Please note that converting 'require()' statements inside inner scopes to 'import' statements may cause changes in the semantics of the code. Import statements are static module dependencies and are hoisted, which means that they are moved to the top of the current module. 'require()' calls load modules dynamically. They can be executed conditionally, and their scope is defined by the expression in which they are used. Clear the 'Convert require() inside inner scopes with Fix all action' checkbox to prevent any changes in these complex cases when using the 'Fix all' action.", + "markdown": "Reports a `require()` statement. Suggests converting it to a `require()` call with an `import` statement. \n\nEnable 'Convert require() inside inner scopes with Fix all action' to convert all `require()` calls inside the nested functions and statements when using the 'Fix all' action. \n\nPlease note that converting `require()` statements inside inner scopes to `import` statements may cause changes in the semantics of the code. Import statements are static module dependencies and are hoisted, which means that they are moved to the top of the current module. `require()` calls load modules dynamically. They can be executed conditionally, and their scope is defined by the expression in which they are used. \nClear the 'Convert require() inside inner scopes with Fix all action' checkbox to prevent any changes in these complex cases when using the 'Fix all' action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertRequireIntoImport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptCheckImport", + "shortDescription": { + "text": "Unresolved imported name" + }, + "fullDescription": { + "text": "Reports an unresolved name or binding in an 'import' declaration in TypeScript code.", + "markdown": "Reports an unresolved name or binding in an `import` declaration in TypeScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptCheckImport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXSyntaxUsed", + "shortDescription": { + "text": "JSX syntax used" + }, + "fullDescription": { + "text": "Reports a usage of a JSX tag in JavaScript code.", + "markdown": "Reports a usage of a JSX tag in JavaScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSXSyntaxUsed", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSJoinVariableDeclarationAndAssignment", + "shortDescription": { + "text": "Variable declaration can be merged with the first assignment to the variable" + }, + "fullDescription": { + "text": "Reports a variable that is declared without an initializer and is used much further in the code or in a single nested scope. Suggests moving the variable closer to its usages and joining it with the initializer expression.", + "markdown": "Reports a variable that is declared without an initializer and is used much further in the code or in a single nested scope. Suggests moving the variable closer to its usages and joining it with the initializer expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSJoinVariableDeclarationAndAssignment", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSRedundantSwitchStatement", + "shortDescription": { + "text": "'switch' statement is redundant and can be replaced" + }, + "fullDescription": { + "text": "Reports a 'switch' statement with an empty body, or with only one 'case' branch, or with a 'default' branch only.", + "markdown": "Reports a `switch` statement with an empty body, or with only one `case` branch, or with a `default` branch only." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSRedundantSwitchStatement", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedGlobalSymbols", + "shortDescription": { + "text": "Unused global symbol" + }, + "fullDescription": { + "text": "Reports an unused globally accessible public function, variable, class, or property.", + "markdown": "Reports an unused globally accessible public function, variable, class, or property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedGlobalSymbols", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 15, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertModuleExportToExport", + "shortDescription": { + "text": "'module.exports' is used instead of 'export'" + }, + "fullDescription": { + "text": "Reports a 'module.export' statement. Suggests replacing it with an 'export' or 'export default' statement. Please note that the quick-fix for converting 'module.export' into 'export' is not available for 'module.export' inside functions or statements because 'export' statements can only be at the top level of a module.", + "markdown": "Reports a `module.export` statement. Suggests replacing it with an `export` or `export default` statement. \n\nPlease note that the quick-fix for converting `module.export` into `export` is not available for `module.export` inside functions or statements because `export` statements can only be at the top level of a module." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertModuleExportToExport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DocumentWriteJS", + "shortDescription": { + "text": "Call to 'document.write()'" + }, + "fullDescription": { + "text": "Reports a method call to 'document.write()' or 'document.writeln()'. Most usages of such calls are performed better with explicit DOM calls, such as 'getElementByID()' and 'createElement()'. Additionally, the 'write()' and 'writeln()' calls will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can result in difficulty to point out bugs.", + "markdown": "Reports a method call to `document.write()` or `document.writeln()`. Most usages of such calls are performed better with explicit DOM calls, such as `getElementByID()` and `createElement()`. Additionally, the `write()` and `writeln()` calls will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can result in difficulty to point out bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DocumentWriteJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 57, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BlockStatementJS", + "shortDescription": { + "text": "Unnecessary block statement" + }, + "fullDescription": { + "text": "Reports a block statement that is not used as the body of 'if', 'for', 'while', 'do', 'with', or 'try' statements, or as the body of a function declaration. Starting from ECMAScript 6, JavaScript blocks introduce new scopes for 'let' and 'const' variables, but still free-standing block statements may be confusing and result in subtle bugs when used with 'var' variables.", + "markdown": "Reports a block statement that is not used as the body of `if`, `for`, `while`, `do`, `with`, or `try` statements, or as the body of a function declaration. Starting from ECMAScript 6, JavaScript blocks introduce new scopes for `let` and `const` variables, but still free-standing block statements may be confusing and result in subtle bugs when used with `var` variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BlockStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InfiniteRecursionJS", + "shortDescription": { + "text": "Infinite recursion" + }, + "fullDescription": { + "text": "Reports a function which must either recurse infinitely or throw an exception. Such functions may not return normally.", + "markdown": "Reports a function which must either recurse infinitely or throw an exception. Such functions may not return normally." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InfiniteRecursionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedConditionalExpressionJS", + "shortDescription": { + "text": "Nested conditional expression" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression within another ternary condition. Such nested conditionals may be extremely confusing, and best replaced by more explicit conditional logic.", + "markdown": "Reports a ternary conditional expression within another ternary condition. Such nested conditionals may be extremely confusing, and best replaced by more explicit conditional logic." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncompatibleMaskJS", + "shortDescription": { + "text": "Incompatible bitwise mask operation" + }, + "fullDescription": { + "text": "Reports a bitwise mask expression which for sure evaluates to 'true' or 'false'. Expressions are of the form '(var & constant1) == constant2' or '(var | constant1) == constant2', where 'constant1' and 'constant2' are incompatible bitmask constants. Example: '// Incompatible mask: as the last byte in mask is zero,\n// something like 0x1200 would be possible, but not 0x1234\nif ((mask & 0xFF00) == 0x1234) {...}'", + "markdown": "Reports a bitwise mask expression which for sure evaluates to `true` or `false`. Expressions are of the form `(var & constant1) == constant2` or `(var | constant1) == constant2`, where `constant1` and `constant2` are incompatible bitmask constants.\n\nExample:\n\n\n // Incompatible mask: as the last byte in mask is zero,\n // something like 0x1200 would be possible, but not 0x1234\n if ((mask & 0xFF00) == 0x1234) {...}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncompatibleBitwiseMaskOperation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 22, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6PossiblyAsyncFunction", + "shortDescription": { + "text": "'await' in non-async function" + }, + "fullDescription": { + "text": "Reports a usage of 'await' in a function that was possibly intended to be async but is actually missing the 'async' modifier. Although 'await' can be used as an identifier, it is likely that it was intended to be used as an operator, so the containing function should be made 'async'.", + "markdown": "Reports a usage of `await` in a function that was possibly intended to be async but is actually missing the `async` modifier. Although `await` can be used as an identifier, it is likely that it was intended to be used as an operator, so the containing function should be made `async`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6PossiblyAsyncFunction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 58, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TextLabelInSwitchStatementJS", + "shortDescription": { + "text": "Text label in 'switch' statement" + }, + "fullDescription": { + "text": "Reports a labeled statement inside a 'switch' statement, which often results from a typo. Example: 'switch(x)\n {\n case 1:\n case2: //typo!\n case 3:\n break;\n }'", + "markdown": "Reports a labeled statement inside a `switch` statement, which often results from a typo.\n\nExample:\n\n\n switch(x)\n {\n case 1:\n case2: //typo!\n case 3:\n break;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TextLabelInSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSFlagCommentPlacement", + "shortDescription": { + "text": "Misplaced @flow flag" + }, + "fullDescription": { + "text": "Reports a '@flow' flag comment that is not located at the top of a file.", + "markdown": "Reports a `@flow` flag comment that is not located at the top of a file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FlowJSFlagCommentPlacement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 17, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDuplicatedDeclaration", + "shortDescription": { + "text": "Duplicate declaration" + }, + "fullDescription": { + "text": "Reports multiple declarations in a scope.", + "markdown": "Reports multiple declarations in a scope." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSDuplicatedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSOctalInteger", + "shortDescription": { + "text": "Octal integer" + }, + "fullDescription": { + "text": "Reports a deprecated octal integer literal prefixed with '0' instead of '0o'. Such literals are not allowed in modern ECMAScript code, and using them in the strict mode is an error. To force this inspection for ES5 and ES3 language levels, select the 'Warn about obsolete octal literals in ES5- code' checkbox below.", + "markdown": "Reports a deprecated octal integer literal prefixed with `0` instead of `0o`. \nSuch literals are not allowed in modern ECMAScript code, and using them in the strict mode is an error. \nTo force this inspection for ES5 and ES3 language levels, select the 'Warn about obsolete octal literals in ES5- code' checkbox below." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSOctalInteger", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 31, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptValidateGenericTypes", + "shortDescription": { + "text": "Incorrect generic type argument" + }, + "fullDescription": { + "text": "Reports an invalid type argument in a function, interface, or class declaration.", + "markdown": "Reports an invalid type argument in a function, interface, or class declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptValidateGenericTypes", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMismatchedCollectionQueryUpdate", + "shortDescription": { + "text": "Mismatched query and update of collection" + }, + "fullDescription": { + "text": "Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried. Such mismatched queries and updates are pointless and may indicate either dead code or a typographical error. Query methods are automatically detected, based on whether they return something, or a callback is passed to them. Use the table below to specify which methods are update methods.", + "markdown": "Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried. Such mismatched queries and updates are pointless and may indicate either dead code or a typographical error.\n\n\nQuery methods are automatically detected, based on whether they return something, or a callback is passed to them.\nUse the table below to specify which methods are update methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSMismatchedCollectionQueryUpdate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMissingSwitchDefault", + "shortDescription": { + "text": "'switch' statement has no 'default' branch" + }, + "fullDescription": { + "text": "Reports a 'switch' statement without a 'default' clause when some possible values are not enumerated.", + "markdown": "Reports a `switch` statement without a `default` clause when some possible values are not enumerated." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMissingSwitchDefault", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXNamespaceValidation", + "shortDescription": { + "text": "Missing JSX namespace" + }, + "fullDescription": { + "text": "Reports a usage of a JSX construction without importing namespace. Having the namespace in the file scope ensures proper code compilation.", + "markdown": "Reports a usage of a JSX construction without importing namespace. Having the namespace in the file scope ensures proper code compilation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSXNamespaceValidation", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 62, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6PreferShortImport", + "shortDescription": { + "text": "Import can be shortened" + }, + "fullDescription": { + "text": "Reports an ES6 import whose 'from' part can be shortened. Suggests importing the parent directory.", + "markdown": "Reports an ES6 import whose `from` part can be shortened. Suggests importing the parent directory." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6PreferShortImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessBitwiseExpressionJS", + "shortDescription": { + "text": "Bitwise expression can be simplified" + }, + "fullDescription": { + "text": "Reports an expression that includes 'and' with zero, 'or' by zero, or shifting by zero. Such expressions may result from not fully completed automated refactorings.", + "markdown": "Reports an expression that includes `and` with zero, `or` by zero, or shifting by zero. Such expressions may result from not fully completed automated refactorings." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessBitwiseExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 22, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSStringConcatenationToES6Template", + "shortDescription": { + "text": "String concatenation is used instead of template literal" + }, + "fullDescription": { + "text": "Reports a string concatenation. Suggests replacing it with a template literal Example '\"result: \" + a + \".\"' After applying the quick-fix the code looks as follows: '`result: ${a}.`'", + "markdown": "Reports a string concatenation. Suggests replacing it with a [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)\n\nExample\n\n \"result: \" + a + \".\" \n\nAfter applying the quick-fix the code looks as follows:\n\n `result: ${a}.` \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSStringConcatenationToES6Template", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceAssignmentWithOperatorAssignmentJS", + "shortDescription": { + "text": "Assignment could be replaced with operator assignment" + }, + "fullDescription": { + "text": "Reports an assignment operation that can be replaced by an operator assignment to make your code shorter and probably clearer. Example: 'x = x + 3;'\n 'x = x / 3;'\n After the quick fix is applied the result looks like: 'x += 3;'\n 'x /= 3;'", + "markdown": "Reports an assignment operation that can be replaced by an operator assignment to make your code shorter and probably clearer.\n\n\nExample:\n\n x = x + 3;\n x = x / 3;\n\nAfter the quick fix is applied the result looks like:\n\n x += 3;\n x /= 3;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentReplaceableWithOperatorAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 51, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSFileReferences", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference in a JavaScript file, including CommonJS and AMD modules references.", + "markdown": "Reports an unresolved file reference in a JavaScript file, including CommonJS and AMD modules references." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSFileReferences", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithInconsistentReturnsJS", + "shortDescription": { + "text": "Function with inconsistent returns" + }, + "fullDescription": { + "text": "Reports a function that returns a value in some cases while in other cases no value is returned. This usually indicates an error. Example: 'function foo() {\n if (true)\n return 3;\n return;\n}'", + "markdown": "Reports a function that returns a value in some cases while in other cases no value is returned. This usually indicates an error.\n\nExample:\n\n\n function foo() {\n if (true)\n return 3;\n return;\n }\n\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithInconsistentReturnsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 31, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ClassMemberInitializationOrder", + "shortDescription": { + "text": "Use of possibly unassigned property in a static initializer" + }, + "fullDescription": { + "text": "Reports a class member initializer which references another non-hoisted class member while the latter may be not initialized yet. Initialization of class members happens consequently for fields, so a field cannot reference another field that is declared later.", + "markdown": "Reports a class member initializer which references another non-hoisted class member while the latter may be not initialized yet. \n\nInitialization of class members happens consequently for fields, so a field cannot reference another field that is declared later." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6ClassMemberInitializationOrder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyTryBlockJS", + "shortDescription": { + "text": "Empty 'try' block" + }, + "fullDescription": { + "text": "Reports an empty 'try' block, which usually indicates an error.", + "markdown": "Reports an empty `try` block, which usually indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyTryBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReservedWordUsedAsNameJS", + "shortDescription": { + "text": "Reserved word used as name" + }, + "fullDescription": { + "text": "Reports a JavaScript reserved word used as a name. The JavaScript specification reserves a number of words which are currently not used as keywords. Using those words as identifiers may result in broken code if later versions of JavaScript start using them as keywords.", + "markdown": "Reports a JavaScript reserved word used as a name. The JavaScript specification reserves a number of words which are currently not used as keywords. Using those words as identifiers may result in broken code if later versions of JavaScript start using them as keywords." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReservedWordAsName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 31, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedFunctionJS", + "shortDescription": { + "text": "Nested function" + }, + "fullDescription": { + "text": "Reports a function nested inside another function. Although JavaScript allows functions to be nested, such constructs may be confusing. Use the checkbox below to ignore anonymous nested functions.", + "markdown": "Reports a function nested inside another function. Although JavaScript allows functions to be nested, such constructs may be confusing.\n\n\nUse the checkbox below to ignore anonymous nested functions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncrementDecrementResultUsedJS", + "shortDescription": { + "text": "Result of increment or decrement used" + }, + "fullDescription": { + "text": "Reports an increment ('++') or decrement ('--') expression where the result of the assignment is used in a containing expression. Such assignments can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Example: 'var a = b++'", + "markdown": "Reports an increment (`++`) or decrement (`--`) expression where the result of the assignment is used in a containing expression. Such assignments can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Example: `var a = b++`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncrementDecrementResultUsedJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousTypeOfGuard", + "shortDescription": { + "text": "Unsound type guard check" + }, + "fullDescription": { + "text": "Reports a 'typeof' or 'instanceof' unsound type guard check. The 'typeof x' type guard can be unsound in one of the following two cases: 'typeof x' never corresponds to the specified value (for example, 'typeof x === 'number'' when 'x' is of the type 'string | boolean') 'typeof x' always corresponds to the specified value (for example, 'typeof x === 'string'' when 'x' is of the type 'string') The 'x instanceof A' type guard can be unsound in one of the following two cases: The type of 'x' is not related to 'A' The type of 'x' is 'A' or a subtype of 'A'", + "markdown": "Reports a `typeof` or `instanceof` unsound type guard check. The `typeof x` type guard can be unsound in one of the following two cases:\n\n* `typeof x` never corresponds to the specified value (for example, `typeof x === 'number'` when `x` is of the type 'string \\| boolean')\n* `typeof x` always corresponds to the specified value (for example, `typeof x === 'string'` when `x` is of the type 'string')\n\nThe `x instanceof A` type guard can be unsound in one of the following two cases:\n\n* The type of `x` is not related to `A`\n* The type of `x` is `A` or a subtype of `A`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SuspiciousTypeOfGuard", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6DestructuringVariablesMerge", + "shortDescription": { + "text": "Destructuring properties with the same key" + }, + "fullDescription": { + "text": "Reports multiple destructuring properties with identical keys. Suggests merging the properties.", + "markdown": "Reports multiple destructuring properties with identical keys. Suggests merging the properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6DestructuringVariablesMerge", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LoopStatementThatDoesntLoopJS", + "shortDescription": { + "text": "Loop statement that doesn't loop" + }, + "fullDescription": { + "text": "Reports a 'for', 'while', or 'do' statement whose bodies are guaranteed to execute at most once. Normally, this indicates an error.", + "markdown": "Reports a `for`, `while`, or `do` statement whose bodies are guaranteed to execute at most once. Normally, this indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LoopStatementThatDoesntLoopJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSNonASCIINames", + "shortDescription": { + "text": "Identifiers with non-ASCII symbols" + }, + "fullDescription": { + "text": "Reports a non-ASCII symbol in a name. If the 'Allow only ASCII names' option is selected, reports all names that contain non-ASCII symbols. Otherwise reports all names that contain both ASCII and non-ASCII symbols.", + "markdown": "Reports a non-ASCII symbol in a name. \n\nIf the 'Allow only ASCII names' option is selected, reports all names that contain non-ASCII symbols. \nOtherwise reports all names that contain both ASCII and non-ASCII symbols." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSNonASCIINames", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 66, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptRedundantGenericType", + "shortDescription": { + "text": "Redundant type arguments" + }, + "fullDescription": { + "text": "Reports a type argument that is equal to the default one and can be removed. Example: 'type Foo = T;\nlet z: Foo;'", + "markdown": "Reports a type argument that is equal to the default one and can be removed.\n\n\nExample:\n\n\n type Foo = T;\n let z: Foo;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptRedundantGenericType", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptUMDGlobal", + "shortDescription": { + "text": "Referenced UMD global variable" + }, + "fullDescription": { + "text": "Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS). Referencing UMD variables without explicit imports can lead to a runtime error if the library isn't included implicitly.", + "markdown": "Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS). Referencing UMD variables without explicit imports can lead to a runtime error if the library isn't included implicitly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptUMDGlobal", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryReturnJS", + "shortDescription": { + "text": "Unnecessary 'return' statement" + }, + "fullDescription": { + "text": "Reports an unnecessary 'return' statement, that is, a 'return' statement that returns no value and occurs just before the function would have \"fallen through\" the bottom. These statements may be safely removed.", + "markdown": "Reports an unnecessary `return` statement, that is, a `return` statement that returns no value and occurs just before the function would have \"fallen through\" the bottom. These statements may be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryReturnStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSLastCommaInObjectLiteral", + "shortDescription": { + "text": "Unneeded last comma in object literal" + }, + "fullDescription": { + "text": "Reports usages of a trailing comma in object literals. The warning is reported only when the JavaScript language version is set to ECMAScript 5.1. Trailing commas in object literals are allowed by the specification, however, some browsers might throw an error when a trailing comma is used. You can configure formatting options for trailing commas in Code Style | JavaScript or TypeScript | Punctuation.", + "markdown": "Reports usages of a trailing comma in object literals.\n\nThe warning is reported only when the JavaScript language version is set to ECMAScript 5.1.\n\nTrailing commas in object literals are allowed by the specification, however, some browsers might throw an error when a trailing comma is used.\n\nYou can configure formatting options for trailing commas in **Code Style** \\| **JavaScript** or **TypeScript** \\| **Punctuation**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSLastCommaInObjectLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6MissingAwait", + "shortDescription": { + "text": "Missing await for an async function call" + }, + "fullDescription": { + "text": "Reports an 'async' function call without an expected 'await' prefix inside an 'async' function. Such call returns a 'Promise' and control flow is continued immediately. Example: 'async function bar() { /* ... */ }\nasync function foo() {\n bar(); // bad\n}' After the quick-fix is applied, the 'await' prefix is added: 'async function bar() { /* ... */ }\nasync function foo() {\n await bar(); // good\n}' When the 'Report for promises in return statements' checkbox is selected, also suggests adding 'await' in return statements. While this is generally not necessary, it gives two main benefits. You won't forget to add 'await' when surrounding your code with 'try-catch'. An explicit 'await' helps V8 runtime to provide async stack traces.", + "markdown": "Reports an `async` function call without an expected `await` prefix inside an `async` function. Such call returns a `Promise` and control flow is continued immediately.\n\nExample:\n\n\n async function bar() { /* ... */ }\n async function foo() {\n bar(); // bad\n }\n\n\nAfter the quick-fix is applied, the `await` prefix is added:\n\n\n async function bar() { /* ... */ }\n async function foo() {\n await bar(); // good\n }\n\nWhen the 'Report for promises in return statements' checkbox is selected, also suggests adding `await` in return statements. \nWhile this is generally not necessary, it gives two main benefits. \n\n* You won't forget to add `await` when surrounding your code with `try-catch`.\n* An explicit `await` helps V8 runtime to provide [async stack traces](https://bit.ly/v8-zero-cost-async-stack-traces)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6MissingAwait", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 58, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TailRecursionJS", + "shortDescription": { + "text": "Tail recursion" + }, + "fullDescription": { + "text": "Reports a tail recursion, that is, when a function calls itself as its last action before returning. A tail recursion can always be replaced by looping, which will be considerably faster. Some JavaScript engines perform this optimization, while others do not. Thus, tail recursive solutions may have considerably different performance characteristics in different environments.", + "markdown": "Reports a tail recursion, that is, when a function calls itself as its last action before returning. A tail recursion can always be replaced by looping, which will be considerably faster. Some JavaScript engines perform this optimization, while others do not. Thus, tail recursive solutions may have considerably different performance characteristics in different environments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TailRecursionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSCoverage", + "shortDescription": { + "text": "Code is not covered by Flow" + }, + "fullDescription": { + "text": "Reports JavaScript code fragments that are not covered by the Flow type checker. To use this inspection, configure the Flow executable in Settings | Languages & Frameworks | JavaScript.", + "markdown": "Reports JavaScript code fragments that are not covered by the Flow type checker. To use this inspection, configure the Flow executable in [Settings \\| Languages \\& Frameworks \\| JavaScript](settings://Settings.JavaScript)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "FlowJSCoverage", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 17, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StandardJS", + "shortDescription": { + "text": "Standard code style" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the JavaScript Standard Style linter. The highlighting severity in the editor is based on the severity level the linter reports.", + "markdown": "Reports a discrepancy detected by the [JavaScript Standard Style](https://standardjs.com/) linter. \n\nThe highlighting severity in the editor is based on the severity level the linter reports." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "StandardJS", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 68, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedAssignmentJS", + "shortDescription": { + "text": "Nested assignment" + }, + "fullDescription": { + "text": "Reports an assignment expression nested inside another expression, for example, 'a = b = 1'. Such expressions may be confusing and violate the general design principle that a given construct should do precisely one thing.", + "markdown": "Reports an assignment expression nested inside another expression, for example, `a = b = 1`. Such expressions may be confusing and violate the general design principle that a given construct should do precisely one thing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 51, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DefaultNotLastCaseInSwitchJS", + "shortDescription": { + "text": "'default' not last case in 'switch'" + }, + "fullDescription": { + "text": "Reports a 'switch' statement where the 'default' case comes before another case instead of being the very last case, which may cause confusion.", + "markdown": "Reports a `switch` statement where the `default` case comes before another case instead of being the very last case, which may cause confusion." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DefaultNotLastCaseInSwitchJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingPlusesOrMinusesJS", + "shortDescription": { + "text": "Confusing sequence of '+' or '-'" + }, + "fullDescription": { + "text": "Reports a suspicious combination of '+' or '-' characters in JavaScript code (for example, 'a+++b'. Such sequences are confusing, and their semantics may change through changes in the whitespace.", + "markdown": "Reports a suspicious combination of `+` or `-` characters in JavaScript code (for example, `a+++b`. Such sequences are confusing, and their semantics may change through changes in the whitespace." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConfusingPlusesOrMinusesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyFinallyBlockJS", + "shortDescription": { + "text": "Empty 'finally' block" + }, + "fullDescription": { + "text": "Reports an empty 'finally' block, which usually indicates an error.", + "markdown": "Reports an empty `finally` block, which usually indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSCommentMatchesSignature", + "shortDescription": { + "text": "Mismatched JSDoc and function signature" + }, + "fullDescription": { + "text": "Reports mismatch between the names and the number of parameters within a JSDoc comment and the actual parameters of a function. Suggests updating parameters in JSDoc comment. Example: '/**\n * @param height Height in pixels\n */\nfunction sq(height, width) {} // width is not documented' After the quick-fix is applied: '/**\n * @param height Height in pixels\n * @param width\n */\nfunction sq(height, width) {}'", + "markdown": "Reports mismatch between the names and the number of parameters within a JSDoc comment and the actual parameters of a function. Suggests updating parameters in JSDoc comment.\n\n**Example:**\n\n\n /**\n * @param height Height in pixels\n */\n function sq(height, width) {} // width is not documented\n\nAfter the quick-fix is applied:\n\n\n /**\n * @param height Height in pixels\n * @param width\n */\n function sq(height, width) {}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSCommentMatchesSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptConfig", + "shortDescription": { + "text": "Inconsistent tsconfig.json properties" + }, + "fullDescription": { + "text": "Reports inconsistency of a 'paths', 'checkJs', or 'extends' property in a tsconfig.json file. The 'checkJs' property requires 'allowJs'. The 'extends' property should be a valid file reference.", + "markdown": "Reports inconsistency of a `paths`, `checkJs`, or `extends` property in a tsconfig.json file. \nThe `checkJs` property requires `allowJs`. \nThe `extends` property should be a valid file reference." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptConfig", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForLoopThatDoesntUseLoopVariableJS", + "shortDescription": { + "text": "'for' loop where update or condition does not use loop variable" + }, + "fullDescription": { + "text": "Reports a 'for' loop where the condition or update does not use the 'for' loop variable.", + "markdown": "Reports a `for` loop where the condition or update does not use the `for` loop variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ForLoopThatDoesntUseLoopVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptAbstractClassConstructorCanBeMadeProtected", + "shortDescription": { + "text": "Abstract class constructor can be made protected" + }, + "fullDescription": { + "text": "Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public).", + "markdown": "Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptAbstractClassConstructorCanBeMadeProtected", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithMultipleReturnPointsJS", + "shortDescription": { + "text": "Function with multiple return points" + }, + "fullDescription": { + "text": "Reports a function with multiple return points. Such functions are hard to understand and maintain.", + "markdown": "Reports a function with multiple return points. Such functions are hard to understand and maintain." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMultipleReturnPointsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 72, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSIgnoredPromiseFromCall", + "shortDescription": { + "text": "Result of method call returning a promise is ignored" + }, + "fullDescription": { + "text": "Reports a function call that returns a 'Promise' that is not used later. Such calls are usually unintended and indicate an error.", + "markdown": "Reports a function call that returns a `Promise` that is not used later. Such calls are usually unintended and indicate an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSIgnoredPromiseFromCall", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 58, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThreeNegationsPerFunctionJS", + "shortDescription": { + "text": "Function with more than three negations" + }, + "fullDescription": { + "text": "Reports a function with three or more negation operations ('!' or '!='). Such functions may be unnecessarily confusing.", + "markdown": "Reports a function with three or more negation operations (`!` or `!=`). Such functions may be unnecessarily confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMoreThanThreeNegationsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 72, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSRemoveUnnecessaryParentheses", + "shortDescription": { + "text": "Unnecessary parentheses" + }, + "fullDescription": { + "text": "Reports redundant parentheses. In expressions: 'var x = ((1) + 2) + 3' In arrow function argument lists: 'var incrementer = (x) => x + 1' In TypeScript and Flow type declarations: 'type Card = (Suit & Rank) | (Suit & Number)'", + "markdown": "Reports redundant parentheses.\n\nIn expressions:\n\n var x = ((1) + 2) + 3\n\nIn arrow function argument lists:\n\n var incrementer = (x) => x + 1\n\nIn TypeScript and Flow type declarations:\n\n type Card = (Suit & Rank) | (Suit & Number)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSRemoveUnnecessaryParentheses", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverlyComplexBooleanExpressionJS", + "shortDescription": { + "text": "Overly complex boolean expression" + }, + "fullDescription": { + "text": "Reports a boolean expression with too many terms. Such expressions may be confusing and bug-prone. Use the field below to specify the maximum number of terms allowed in an arithmetic expression.", + "markdown": "Reports a boolean expression with too many terms. Such expressions may be confusing and bug-prone.\n\n\nUse the field below to specify the maximum number of terms allowed in an arithmetic expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexBooleanExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverlyComplexArithmeticExpressionJS", + "shortDescription": { + "text": "Overly complex arithmetic expression" + }, + "fullDescription": { + "text": "Reports an arithmetic expression with too many terms. Such expressions may be confusing and bug-prone. Use the field below to specify the maximum number of terms allowed in an arithmetic expression.", + "markdown": "Reports an arithmetic expression with too many terms. Such expressions may be confusing and bug-prone.\n\n\nUse the field below to specify the maximum number of terms allowed in an arithmetic expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexArithmeticExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLiteralBreaksHTMLJS", + "shortDescription": { + "text": "String literal which breaks HTML parsing" + }, + "fullDescription": { + "text": "Reports a string literal that contains a ' for the complete list." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NodeCoreCodingAssistance", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Node.js", + "index": 85, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPrimitiveTypeWrapperUsage", + "shortDescription": { + "text": "Primitive type object wrapper used" + }, + "fullDescription": { + "text": "Reports an improper usage of a wrapper for primitive types or a property of a primitive type being modified, as in the latter case the assigned value will be lost.", + "markdown": "Reports an improper usage of a wrapper for primitive types or a property of a primitive type being modified, as in the latter case the assigned value will be lost." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPrimitiveTypeWrapperUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptSmartCast", + "shortDescription": { + "text": "Narrowed type" + }, + "fullDescription": { + "text": "Reports a usage of a variable where the variable type is narrowed by a type guard. Note that severity level doesn't affect this inspection.", + "markdown": "Reports a usage of a variable where the variable type is narrowed by a type guard. Note that severity level doesn't affect this inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptSmartCast", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertIndexedForToForOf", + "shortDescription": { + "text": "Indexed 'for' is used instead of 'for..of'" + }, + "fullDescription": { + "text": "Reports an indexed 'for' loop used on an array. Suggests replacing it with a 'for..of' loop. 'for..of' loops are introduced in ECMAScript 6 and iterate over 'iterable' objects.", + "markdown": "Reports an indexed [for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) loop used on an array. Suggests replacing it with a [for..of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop. \n`for..of` loops are introduced in ECMAScript 6 and iterate over `iterable` objects." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertIndexedForToForOf", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSLastCommaInArrayLiteral", + "shortDescription": { + "text": "Unneeded last comma in array literal" + }, + "fullDescription": { + "text": "Reports a usage of a trailing comma in an array literal. The warning is reported only when the JavaScript language version is set to ECMAScript 5.1. Although trailing commas in arrays are allowed by the specification, some browsers may throw an error when a trailing comma is used. You can configure formatting options for trailing commas in Code Style | JavaScript or TypeScript | Punctuation.", + "markdown": "Reports a usage of a trailing comma in an array literal.\n\nThe warning is reported only when the JavaScript language version is set to ECMAScript 5.1.\n\nAlthough trailing commas in arrays are allowed by the specification, some browsers may throw an error when a trailing comma is used.\n\nYou can configure formatting options for trailing commas in **Code Style** \\| **JavaScript** or **TypeScript** \\| **Punctuation**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSLastCommaInArrayLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalExpressionJS", + "shortDescription": { + "text": "Conditional expression" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression. Some coding standards prohibit such expressions in favor of explicit 'if' statements.", + "markdown": "Reports a ternary conditional expression. Some coding standards prohibit such expressions in favor of explicit `if` statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 43, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertVarToLetConst", + "shortDescription": { + "text": "'var' is used instead of 'let' or 'const'" + }, + "fullDescription": { + "text": "Reports a 'var' declaration that is used instead of 'let' or 'const'. Both 'let' and 'const' are block-scoped and behave more strictly. Suggests replacing all 'var' declarations with 'let' or 'const' declarations, depending on the semantics of a particular value. The declarations may be moved to the top of the function or placed before the first usage of the variable to avoid Reference errors. Select the 'Conservatively convert var with Fix all action' option to prevent any changes in these complex cases when using the 'Fix all' action.", + "markdown": "Reports a `var` declaration that is used instead of `let` or `const`. \nBoth `let` and `const` are block-scoped and behave more strictly. \n\nSuggests replacing all `var` declarations with `let` or `const` declarations, depending on the semantics of a particular value. The declarations may be moved to the top of the function or placed before the first usage of the variable to avoid Reference errors. \nSelect the 'Conservatively convert var with Fix all action' option to prevent any changes in these complex cases when using the 'Fix all' action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertVarToLetConst", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessBooleanExpressionJS", + "shortDescription": { + "text": "Pointless statement or boolean expression" + }, + "fullDescription": { + "text": "Reports a pointless or pointlessly complicated boolean expression or statement. Example: 'let a = !(false && x);\n let b = false || x;' After the quick fix is applied the result looks like: 'let a = true;\n let b = x;'", + "markdown": "Reports a pointless or pointlessly complicated boolean expression or statement.\n\nExample:\n\n\n let a = !(false && x);\n let b = false || x;\n\nAfter the quick fix is applied the result looks like:\n\n\n let a = true;\n let b = x;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessBooleanExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DynamicallyGeneratedCodeJS", + "shortDescription": { + "text": "Execution of dynamically generated code" + }, + "fullDescription": { + "text": "Reports a call of the 'eval()', 'setTimeout()', or 'setInterval()' function or an allocation of a 'Function' object. These functions are used to execute arbitrary strings of JavaScript text, which often dynamically generated. This can be very confusing, and may be a security risk. Ignores the cases when a callback function is provided to these methods statically, without code generation.", + "markdown": "Reports a call of the `eval()`, `setTimeout()`, or `setInterval()` function or an allocation of a `Function` object. These functions are used to execute arbitrary strings of JavaScript text, which often dynamically generated. This can be very confusing, and may be a security risk. \n\nIgnores the cases when a callback function is provided to these methods statically, without code generation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DynamicallyGeneratedCodeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegatedConditionalExpressionJS", + "shortDescription": { + "text": "Negated conditional expression" + }, + "fullDescription": { + "text": "Reports a conditional expression whose condition is negated. Suggests flipping the order of branches in the conditional expression to increase the clarity of the statement. Example: '!condition ? 2 : 1'", + "markdown": "Reports a conditional expression whose condition is negated. Suggests flipping the order of branches in the conditional expression to increase the clarity of the statement. Example: `!condition ? 2 : 1`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NegatedConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUrlImportUsage", + "shortDescription": { + "text": "URL import is used" + }, + "fullDescription": { + "text": "Checks used URL imports in the JavaScript language. Suggests downloading the module for the specified remote URL. Such association enables the IDE to provide proper code completion and navigation. URLs in import specifiers are supported only for ECMAScript modules in the JavaScript language.", + "markdown": "Checks used URL imports in the JavaScript language. Suggests downloading the module for the specified remote URL. Such association enables the IDE to provide proper code completion and navigation. \n\nURLs in import specifiers are supported only for ECMAScript modules in the JavaScript language." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUrlImportUsage", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 62, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelOnContinueStatementJS", + "shortDescription": { + "text": "Unnecessary label on 'continue' statement" + }, + "fullDescription": { + "text": "Reports a labeled 'continue' statement whose labels may be removed without changing the flow of control.", + "markdown": "Reports a labeled `continue` statement whose labels may be removed without changing the flow of control." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelOnContinueStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidTargetOfIndexedPropertyAccess", + "shortDescription": { + "text": "Possibly incorrect target of indexed property access" + }, + "fullDescription": { + "text": "Reports a potentially invalid indexed property access, for example, 'Array[1]'.", + "markdown": "Reports a potentially invalid indexed property access, for example, `Array[1]`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidTargetOfIndexedPropertyAccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAccessibilityCheck", + "shortDescription": { + "text": "Inaccessible @private and @protected members referenced" + }, + "fullDescription": { + "text": "Reports a reference to a JavaScript member that is marked with a '@private' or '@protected' tag but does not comply with visibility rules that these tags imply.", + "markdown": "Reports a reference to a JavaScript member that is marked with a `@private` or `@protected` tag but does not comply with visibility rules that these tags imply." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSAccessibilityCheck", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithMultipleLoopsJS", + "shortDescription": { + "text": "Function with multiple loops" + }, + "fullDescription": { + "text": "Reports a function with multiple loop statements.", + "markdown": "Reports a function with multiple loop statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMultipleLoopsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 72, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LabeledStatementJS", + "shortDescription": { + "text": "Labeled statement" + }, + "fullDescription": { + "text": "Reports a labeled statement.", + "markdown": "Reports a labeled statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LabeledStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 43, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NpmUsedModulesInstalled", + "shortDescription": { + "text": "Missing module dependency" + }, + "fullDescription": { + "text": "Reports a module from a 'require()' call or an 'import' statement that is not installed or is not listed in package.json dependencies. Suggests installing the module and/or including it into package.json. For 'require()' calls, works only in the files from the scope of Node.js Core JavaScript library.", + "markdown": "Reports a module from a `require()` call or an `import` statement that is not installed or is not listed in package.json dependencies.\n\nSuggests installing the module and/or including it into package.json.\n\nFor `require()` calls, works only in the files from the scope of *Node.js Core* JavaScript library." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "NpmUsedModulesInstalled", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 62, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedCatchParameterJS", + "shortDescription": { + "text": "Unused 'catch' parameter" + }, + "fullDescription": { + "text": "Reports a 'catch' parameter that is not used in the corresponding block. The 'catch' parameters named 'ignore' or 'ignored' are ignored. Use the checkbox below to disable this inspection for 'catch' blocks with comments.", + "markdown": "Reports a `catch` parameter that is not used in the corresponding block. The `catch` parameters named `ignore` or `ignored` are ignored.\n\n\nUse the checkbox below to disable this inspection for `catch`\nblocks with comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedCatchParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WithStatementJS", + "shortDescription": { + "text": "'with' statement" + }, + "fullDescription": { + "text": "Reports a 'with' statements. Such statements result in potentially confusing implicit bindings, and may behave strangely in setting new variables.", + "markdown": "Reports a `with` statements. Such statements result in potentially confusing implicit bindings, and may behave strangely in setting new variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "WithStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 43, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSConstantReassignment", + "shortDescription": { + "text": "Attempt to assign to const or readonly variable" + }, + "fullDescription": { + "text": "Reports reassigning a value to a constant or a readonly variable.", + "markdown": "Reports reassigning a value to a constant or a readonly variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSConstantReassignment", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 31, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MagicNumberJS", + "shortDescription": { + "text": "Magic number" + }, + "fullDescription": { + "text": "Reports a \"magic number\" that is a numeric literal used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but remains unchanged in another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0.0 and 1.0 are ignored.", + "markdown": "Reports a \"magic number\" that is a numeric literal used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but remains unchanged in another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0.0 and 1.0 are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MagicNumberJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionNamingConventionJS", + "shortDescription": { + "text": "Function naming convention" + }, + "fullDescription": { + "text": "Reports a function whose name is too short, too long, or does not follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression for function names. Use the standard 'java.util.regex' format for regular expressions.", + "markdown": "Reports a function whose name is too short, too long, or does not follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nfor function names. Use the standard `java.util.regex` format for regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 66, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptLibrary", + "shortDescription": { + "text": "Missing global library" + }, + "fullDescription": { + "text": "Reports a TypeScript library file that is required for a symbol but is not listed under the 'lib' compiler option in 'tsconfig.json'.", + "markdown": "Reports a TypeScript library file that is required for a symbol but is not listed under the `lib` compiler option in `tsconfig.json`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptLibrary", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptMissingAugmentationImport", + "shortDescription": { + "text": "Missing augmentation import" + }, + "fullDescription": { + "text": "Reports a usage from augmentation module without an explicit import.", + "markdown": "Reports a usage from [augmentation module](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation) without an explicit import." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptMissingAugmentationImport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnonymousFunctionJS", + "shortDescription": { + "text": "Anonymous function" + }, + "fullDescription": { + "text": "Reports an anonymous function. An explicit name of a function expression may be helpful for debugging. Ignores function expressions without names if they have a 'name' property specified in the ECMAScript 6 standard. For example, 'var bar = function() {};' is not reported.", + "markdown": "Reports an anonymous function. An explicit name of a function expression may be helpful for debugging. Ignores function expressions without names if they have a `name` property specified in the ECMAScript 6 standard. For example, `var bar = function() {};` is not reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AnonymousFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 43, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ObjectAllocationIgnoredJS", + "shortDescription": { + "text": "Result of object allocation ignored" + }, + "fullDescription": { + "text": "Reports object allocation where the result of the allocated object is ignored, for example, 'new Error();' as a statement, without any assignment. Such allocation expressions may indicate an odd object initialization strategy.", + "markdown": "Reports object allocation where the result of the allocated object is ignored, for example, `new Error();` as a statement, without any assignment. Such allocation expressions may indicate an odd object initialization strategy." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ObjectAllocationIgnored", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSTypeOfValues", + "shortDescription": { + "text": "'typeof' comparison with non-standard value" + }, + "fullDescription": { + "text": "Reports a comparison of a 'typeof' expression with a literal string which is not one of the standard types: 'undefined', 'object', 'boolean', 'number', 'string', 'function', or 'symbol'. Such comparisons always return 'false'.", + "markdown": "Reports a comparison of a `typeof` expression with a literal string which is not one of the standard types: `undefined`, `object`, `boolean`, `number`, `string`, `function`, or `symbol`. Such comparisons always return `false`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSTypeOfValues", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyCatchBlockJS", + "shortDescription": { + "text": "Empty 'catch' block" + }, + "fullDescription": { + "text": "Reports an empty 'catch' block. This indicates that errors are simply ignored instead of handling them. Any comment in a 'catch' block mutes the inspection.", + "markdown": "Reports an empty `catch` block. This indicates that errors are simply ignored instead of handling them. \n\nAny comment in a `catch` block mutes the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyCatchBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSHint", + "shortDescription": { + "text": "JSHint" + }, + "fullDescription": { + "text": "Reports a problem detected by the JSHint linter.", + "markdown": "Reports a problem detected by the [JSHint](https://jshint.com/) linter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSHint", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 68, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Eslint", + "shortDescription": { + "text": "ESLint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the ESLint linter. The highlighting is based on the rule severity specified in the ESLint configuration file for each individual rule. Clear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all ESLint rules.", + "markdown": "Reports a discrepancy detected by the [ESLint](https://eslint.org) linter. \n\nThe highlighting is based on the rule severity specified in the [ESLint configuration file](https://eslint.org/docs/user-guide/configuring) for each individual rule. \n\nClear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all ESLint rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Eslint", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 68, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSEqualityComparisonWithCoercion.TS", + "shortDescription": { + "text": "Equality operator may cause type coercion" + }, + "fullDescription": { + "text": "Reports a usage of equality operators may cause unexpected type coercions. Suggests replacing '==' or '!=' equality operators with type-safe '===' or '!==' operators. Depending on the option selected, one of the following cases will be reported: All usages of '==' and '!=' operators. All usages except comparison with null. Some code styles allow using 'x == null' as a replacement for 'x === null || x === undefined'. Only suspicious expressions, such as: '==' or '!=' comparisons with '0', '''', 'null', 'true', 'false', or 'undefined'.", + "markdown": "Reports a usage of equality operators may cause unexpected type coercions. Suggests replacing `==` or `!=` equality operators with type-safe `===` or `!==` operators.\n\nDepending on the option selected, one of the following cases will be reported:\n\n* All usages of `==` and `!=` operators.\n* All usages except comparison with null. Some code styles allow using `x == null` as a replacement for `x === null || x === undefined`.\n* Only suspicious expressions, such as: `==` or `!=` comparisons with `0`, `''`, `null`, `true`, `false`, or `undefined`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EqualityComparisonWithCoercionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExceptionCaughtLocallyJS", + "shortDescription": { + "text": "Exception used for local control-flow" + }, + "fullDescription": { + "text": "Reports a 'throw' statement whose exceptions are always caught by the containing 'try' statement. Using 'throw' statements as a 'goto' to change the local flow of control is confusing.", + "markdown": "Reports a `throw` statement whose exceptions are always caught by the containing `try` statement. Using `throw` statements as a `goto` to change the local flow of control is confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ExceptionCaughtLocallyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThrowFromFinallyBlockJS", + "shortDescription": { + "text": "'throw' inside 'finally' block" + }, + "fullDescription": { + "text": "Reports s 'throw' statement inside a 'finally' block. Such 'throw' statements may mask exceptions thrown, and complicate debugging.", + "markdown": "Reports s `throw` statement inside a `finally` block. Such `throw` statements may mask exceptions thrown, and complicate debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ThrowInsideFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 36, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CyclomaticComplexityJS", + "shortDescription": { + "text": "Overly complex function" + }, + "fullDescription": { + "text": "Reports a function with too many branching points in a function (too high cyclomatic complexity). Such functions may be confusing and hard to test. Use the field provided below to specify the maximum acceptable cyclomatic complexity for a function.", + "markdown": "Reports a function with too many branching points in a function (too high cyclomatic complexity). Such functions may be confusing and hard to test.\n\n\nUse the field provided below to specify the maximum acceptable cyclomatic complexity for a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 72, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PackageJsonMismatchedDependency", + "shortDescription": { + "text": "Mismatched dependencies in package.json" + }, + "fullDescription": { + "text": "Reports a dependency from package.json that is not installed or doesn't match the specified version range.", + "markdown": "Reports a dependency from package.json that is not installed or doesn't match the specified [version range](https://docs.npmjs.com/about-semantic-versioning)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PackageJsonMismatchedDependency", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 62, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidUsageOfThis", + "shortDescription": { + "text": "Potentially invalid reference to 'this' from closure" + }, + "fullDescription": { + "text": "Reports a 'this' in closure that is used for referencing properties of outer context. Example: 'function Outer() {\n this.outerProp = 1;\n function inner() {\n // bad, because 'outerProp' of Outer\n // won't be updated here\n // on calling 'new Outer()' as may be expected\n this.outerProp = 2;\n }\n inner();\n}'", + "markdown": "Reports a `this` in closure that is used for referencing properties of outer context.\n\nExample:\n\n\n function Outer() {\n this.outerProp = 1;\n function inner() {\n // bad, because 'outerProp' of Outer\n // won't be updated here\n // on calling 'new Outer()' as may be expected\n this.outerProp = 2;\n }\n inner();\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidUsageOfThis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnresolvedLibraryURL", + "shortDescription": { + "text": "Missed locally stored library for HTTP link" + }, + "fullDescription": { + "text": "Reports a URL of an external JavaScript library that is not associated with any locally stored file. Suggests downloading the library. Such association enables the IDE to provide proper code completion and navigation.", + "markdown": "Reports a URL of an external JavaScript library that is not associated with any locally stored file. Suggests downloading the library. Such association enables the IDE to provide proper code completion and navigation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnresolvedLibraryURL", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InfiniteLoopJS", + "shortDescription": { + "text": "Infinite loop statement" + }, + "fullDescription": { + "text": "Reports a 'for', 'while', or 'do' statement which can only exit by throwing an exception. Such statements often indicate coding errors.", + "markdown": "Reports a `for`, `while`, or `do` statement which can only exit by throwing an exception. Such statements often indicate coding errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InfiniteLoopJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSArrowFunctionBracesCanBeRemoved", + "shortDescription": { + "text": "Redundant braces around arrow function body" + }, + "fullDescription": { + "text": "Reports an arrow function whose body only consists of braces and exactly one statement. Suggests converting to concise syntax without braces. 'let incrementer = (x) => {return x + 1};' After the quick-fix is applied, the code fragment looks as follows: 'let incrementer = (x) => x + 1;'", + "markdown": "Reports an arrow function whose body only consists of braces and exactly one statement. Suggests converting to concise syntax without braces.\n\n\n let incrementer = (x) => {return x + 1};\n\nAfter the quick-fix is applied, the code fragment looks as follows:\n\n\n let incrementer = (x) => x + 1;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSArrowFunctionBracesCanBeRemoved", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSClassNamingConvention", + "shortDescription": { + "text": "Class naming convention" + }, + "fullDescription": { + "text": "Reports a class or a function that is annotated with a JSDoc '@constructor' or '@class' tag whose names are too short, too long, or do not follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression expected for classes names. Use the standard 'java.util.regex' format for regular expressions.", + "markdown": "Reports a class or a function that is annotated with a JSDoc `@constructor` or `@class` tag whose names are too short, too long, or do not follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nexpected for classes names. Use the standard `java.util.regex` format for regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSClassNamingConvention", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 66, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XHTMLIncompatabilitiesJS", + "shortDescription": { + "text": "Incompatible XHTML usages" + }, + "fullDescription": { + "text": "Reports common JavaScript DOM patterns which may present problems with XHTML documents. In particular, the patterns detected will behave completely differently depending on whether the document is loaded as XML or HTML. This can result in subtle bugs where script behaviour is dependent on the MIME-type of the document, rather than its content. Patterns detected include document.body, document.images, document.applets, document.links, document.forms, and document.anchors.", + "markdown": "Reports common JavaScript DOM patterns which may present problems with XHTML documents. In particular, the patterns detected will behave completely differently depending on whether the document is loaded as XML or HTML. This can result in subtle bugs where script behaviour is dependent on the MIME-type of the document, rather than its content. Patterns detected include **document.body** , **document.images** , **document.applets** , **document.links** , **document.forms** , and **document.anchors**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XHTMLIncompatabilitiesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 57, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptJSXUnresolvedComponent", + "shortDescription": { + "text": "Unresolved JSX component" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a JSX component. Suggests adding an import statement if the referenced component is defined in the project or its dependencies or creating a new component with the specified name. The template for a new component can be modified in Editor | File and Code Templates.", + "markdown": "Reports an unresolved reference to a JSX component. Suggests adding an import statement if the referenced component is defined in the project or its dependencies or creating a new component with the specified name.\n\nThe template for a new component can be modified in Editor \\| File and Code Templates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptJSXUnresolvedComponent", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptFieldCanBeMadeReadonly", + "shortDescription": { + "text": "Field can be readonly" + }, + "fullDescription": { + "text": "Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor).", + "markdown": "Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptFieldCanBeMadeReadonly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegatedIfStatementJS", + "shortDescription": { + "text": "Negated 'if' statement" + }, + "fullDescription": { + "text": "Reports if statements which have an else branch and a negated condition. Flipping the order of the if and else branches will usually increase the clarity of such statements.", + "markdown": "Reports **if** statements which have an **else** branch and a negated condition. Flipping the order of the **if** and **else** branches will usually increase the clarity of such statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NegatedIfStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalExpressionWithIdenticalBranchesJS", + "shortDescription": { + "text": "Conditional expression with identical branches" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression with identical 'then' and 'else' branches.", + "markdown": "Reports a ternary conditional expression with identical `then` and `else` branches." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionalExpressionWithIdenticalBranchesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSIncompatibleTypesComparison", + "shortDescription": { + "text": "Comparison of expressions having incompatible types" + }, + "fullDescription": { + "text": "Reports a comparison with operands of incompatible types or an operand with a type without possible common values.", + "markdown": "Reports a comparison with operands of incompatible types or an operand with a type without possible common values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSIncompatibleTypesComparison", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnfilteredForInLoop", + "shortDescription": { + "text": "Unfiltered for..in loop" + }, + "fullDescription": { + "text": "Reports unfiltered 'for-in' loops. The use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when 'Object''s prototype may be incorrectly modified. For example, the following code will print 42 and myMethod: 'Object.prototype.myMethod = function myMethod() {};\nlet a = { foo: 42 };\nfor (let i in a) {\n console.log(a[i]);\n}' Suggests replacing the whole loop with a 'Object.keys()' method or adding a 'hasOwnProperty()' check. After applying the quick-fix the code looks as follows: 'for (let i in a) {\n if (a.hasOwnProperty(i)) {\n console.log(a[i]);\n }\n}'", + "markdown": "Reports unfiltered `for-in` loops. \n\nThe use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when `Object`'s prototype may be incorrectly modified. For example, the following code will print **42** and **myMethod** : \n\n\n Object.prototype.myMethod = function myMethod() {};\n let a = { foo: 42 };\n for (let i in a) {\n console.log(a[i]);\n }\n\nSuggests replacing the whole loop with a `Object.keys()` method or adding a `hasOwnProperty()` check. After applying the quick-fix the code looks as follows:\n\n\n for (let i in a) {\n if (a.hasOwnProperty(i)) {\n console.log(a[i]);\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnfilteredForInLoop", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAnnotator", + "shortDescription": { + "text": "ECMAScript specification is not followed" + }, + "fullDescription": { + "text": "Reports basic syntax issues and inconsistencies with language specification, such as invalid usages of keywords, usages of incompatible numeric format, or multiple parameters to getters/setters. Generally, such errors must always be reported and shouldn't be disabled. But in some cases, such as issues due to the dynamic nature of JavaScript, the use of not yet supported language features, or bugs in IDE's checker, it may be handy to disable reporting these very basic errors.", + "markdown": "Reports basic syntax issues and inconsistencies with language specification, such as invalid usages of keywords, usages of incompatible numeric format, or multiple parameters to getters/setters. \nGenerally, such errors must always be reported and shouldn't be disabled. But in some cases, such as issues due to the dynamic nature of JavaScript, the use of not yet supported language features, or bugs in IDE's checker, it may be handy to disable reporting these very basic errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSAnnotator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSFunctionExpressionToArrowFunction", + "shortDescription": { + "text": "Function expression is used instead of arrow function" + }, + "fullDescription": { + "text": "Reports a function expression. Suggests converting it to an arrow function. Example: 'arr.map(function(el) {return el + 1})' After applying the quick-fix the code looks as follows: 'arr.map(el => el + 1)'", + "markdown": "Reports a [function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function) expression. Suggests converting it to an [arrow function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions).\n\nExample:\n\n arr.map(function(el) {return el + 1})\n\nAfter applying the quick-fix the code looks as follows:\n\n arr.map(el => el + 1)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSFunctionExpressionToArrowFunction", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6TopLevelAwaitExpression", + "shortDescription": { + "text": "Top-level 'await' expression" + }, + "fullDescription": { + "text": "Reports a usage of a top-level 'await' expression. While the new 'top-level async' proposal is on its way, using 'await' outside async functions is not allowed.", + "markdown": "Reports a usage of a top-level `await` expression. While the new 'top-level async' proposal is on its way, using `await` outside async functions is not allowed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ES6TopLevelAwaitExpression", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 58, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertToForOf", + "shortDescription": { + "text": "'for..in' is used instead of 'for..of'" + }, + "fullDescription": { + "text": "Reports a usage of a 'for..in' loop on an array. Suggests replacing it with a 'for..of' loop. 'for..of' loops, which are introduced in ECMAScript 6, iterate over 'iterable' objects. For arrays, this structure is preferable to 'for..in', because it works only with array values but not with array object's properties.", + "markdown": "Reports a usage of a [for..in](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) loop on an array. Suggests replacing it with a [for..of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop. \n`for..of` loops, which are introduced in ECMAScript 6, iterate over `iterable` objects. For arrays, this structure is preferable to `for..in`, because it works only with array values but not with array object's properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertToForOf", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 25, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParameterNamingConventionJS", + "shortDescription": { + "text": "Function parameter naming convention" + }, + "fullDescription": { + "text": "Reports a function parameter whose name is too short, too long, or doesn't follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length and regular expression expected for local variables names. Use the standard 'java.util.regex' format regular expressions.", + "markdown": "Reports a function parameter whose name is too short, too long, or doesn't follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length and regular expression\nexpected for local variables names. Use the standard `java.util.regex` format regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ParameterNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 66, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUndefinedPropertyAssignment", + "shortDescription": { + "text": "Undefined property assignment" + }, + "fullDescription": { + "text": "Reports an assignment to a property that is not defined in the type of a variable. Example: '/**\n * @type {{ property1: string, property2: number }}\n */\nlet myVariable = create();\n\nmyVariable.newProperty = 3; // bad'", + "markdown": "Reports an assignment to a property that is not defined in the type of a variable.\n\nExample:\n\n\n /**\n * @type {{ property1: string, property2: number }}\n */\n let myVariable = create();\n\n myVariable.newProperty = 3; // bad\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUndefinedPropertyAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParametersPerFunctionJS", + "shortDescription": { + "text": "Function with too many parameters" + }, + "fullDescription": { + "text": "Reports a function with too many parameters. Such functions often indicate problems with design. Use the field below to specify the maximum acceptable number of parameters for a function.", + "markdown": "Reports a function with too many parameters. Such functions often indicate problems with design.\n\n\nUse the field below to specify the maximum acceptable number of parameters for a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 72, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThisExpressionReferencesGlobalObjectJS", + "shortDescription": { + "text": "'this' expression which references the global object" + }, + "fullDescription": { + "text": "Reports a 'this' expression outside an object literal or a constructor body. Such 'this' expressions reference the top-level \"global\" JavaScript object, but are mostly useless.", + "markdown": "Reports a `this` expression outside an object literal or a constructor body. Such `this` expressions reference the top-level \"global\" JavaScript object, but are mostly useless." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ThisExpressionReferencesGlobalObjectJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 31, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDeprecatedSymbols", + "shortDescription": { + "text": "Deprecated symbol used" + }, + "fullDescription": { + "text": "Reports a usage of a deprecated function variable.", + "markdown": "Reports a usage of a deprecated function variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSDeprecatedSymbols", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalVariableNamingConventionJS", + "shortDescription": { + "text": "Local variable naming convention" + }, + "fullDescription": { + "text": "Reports a local variable whose name is too short, too long, or doesn't follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression expected for local variables names. Use the standard 'java.util.regex' format regular expressions.", + "markdown": "Reports a local variable whose name is too short, too long, or doesn't follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nexpected for local variables names. Use the standard `java.util.regex` format regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LocalVariableNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 66, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UpdateDependencyToLatestVersion", + "shortDescription": { + "text": "Update package.json dependencies to latest versions" + }, + "fullDescription": { + "text": "Suggests to upgrade your package.json dependencies to the latest versions, ignoring specified versions.", + "markdown": "Suggests to upgrade your package.json dependencies to the latest versions, ignoring specified versions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "UpdateDependencyToLatestVersion", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 62, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSuspiciousNameCombination", + "shortDescription": { + "text": "Suspicious variable/parameter name combination" + }, + "fullDescription": { + "text": "Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it. Example: 'var x = 0;\n var y = x;' or 'var x = 0, y = 0;\n var rc = new Rectangle(y, x, 20, 20);' Here the inspection guesses that 'x' and 'y' are mixed up. Specify the names that should not be used together. An error is reported if a parameter name or an assignment target name contains words from one group while the name of the assigned or passed variable contains words from another group.", + "markdown": "Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it.\n\nExample:\n\n\n var x = 0;\n var y = x;\n\nor\n\n\n var x = 0, y = 0;\n var rc = new Rectangle(y, x, 20, 20);\n\nHere the inspection guesses that `x` and `y` are mixed up.\n\nSpecify the names that should not be used together. An error is reported\nif a parameter name or an assignment target name contains words from one group while the name of the assigned or passed\nvariable contains words from another group." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSuspiciousNameCombination", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnresolvedExtXType", + "shortDescription": { + "text": "Unresolved Ext JS xtype" + }, + "fullDescription": { + "text": "Reports an Ext JS 'xtype' reference that doesn't have a corresponding class.", + "markdown": "Reports an Ext JS `xtype` reference that doesn't have a corresponding class." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnresolvedExtXType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6RedundantNestingInTemplateLiteral", + "shortDescription": { + "text": "Redundant nesting in template literal" + }, + "fullDescription": { + "text": "Reports nested instances of a string or a template literal. Suggests inlining the nested instances into the containing template string. Example: 'let a = `Hello, ${`Brave ${\"New\"}`} ${\"World\"}!`' After applying the quick-fix the code looks as follows: 'let a = `Hello, Brave New World!`'", + "markdown": "Reports nested instances of a string or a template literal. Suggests inlining the nested instances into the containing template string.\n\nExample:\n\n\n let a = `Hello, ${`Brave ${\"New\"}`} ${\"World\"}!`\n\nAfter applying the quick-fix the code looks as follows:\n\n\n let a = `Hello, Brave New World!`\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6RedundantNestingInTemplateLiteral", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestingDepthJS", + "shortDescription": { + "text": "Overly nested function" + }, + "fullDescription": { + "text": "Reports a function whose body contains statements that are too deeply nested within other statements. Such functions may be confusing and indicate that refactoring may be necessary. Use the field provided below to specify the maximum acceptable nesting depth allowed in a function.", + "markdown": "Reports a function whose body contains statements that are too deeply nested within other statements. Such functions may be confusing and indicate that refactoring may be necessary.\n\n\nUse the field provided below to specify the maximum acceptable nesting depth allowed in a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyNestedFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 72, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptSuspiciousConstructorParameterAssignment", + "shortDescription": { + "text": "Assigned constructor field parameter" + }, + "fullDescription": { + "text": "Reports a common mistake in TypeScript code, when a class field is declared as a constructor parameter, and then this parameter is assigned. In this case, the corresponding field won't be assigned, only the local parameter value is modified. 'class Foo {\n constructor(private p: number) {\n p = 1; //must be this.p = 1;\n }\n}'", + "markdown": "Reports a common mistake in TypeScript code, when a class field is declared as a constructor parameter, and then this parameter is assigned. \nIn this case, the corresponding field *won't* be assigned, only the local parameter value is modified.\n\n\n class Foo {\n constructor(private p: number) {\n p = 1; //must be this.p = 1;\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptSuspiciousConstructorParameterAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ChainedFunctionCallJS", + "shortDescription": { + "text": "Chained function call" + }, + "fullDescription": { + "text": "Reports a function call whose target is another function call, for example, 'foo().bar()'", + "markdown": "Reports a function call whose target is another function call, for example, `foo().bar()`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ChainedFunctionCallJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedFunctionCallJS", + "shortDescription": { + "text": "Nested function call" + }, + "fullDescription": { + "text": "Reports a function call that is used as an argument in another function call, for example, 'foo(bar())'", + "markdown": "Reports a function call that is used as an argument in another function call, for example, `foo(bar())`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedFunctionCallJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSEqualityComparisonWithCoercion", + "shortDescription": { + "text": "Equality operator may cause type coercion" + }, + "fullDescription": { + "text": "Reports a usage of an equality operator that may cause unexpected type coercions. Suggests replacing '==' and '!=' with type-safe equality operators '===' and '!=='. Depending on the option selected, one of the following cases will be reported: All usages of '==' and '!=' operators. All usages except comparison with null. Some code styles allow using 'x == null' as a replacement for 'x === null || x === undefined'. Only suspicious expressions, such as: '==' or '!=' comparisons with '0', '''', 'null', 'true', 'false', or 'undefined'.", + "markdown": "Reports a usage of an equality operator that may cause unexpected type coercions. Suggests replacing `==` and `!=` with type-safe equality operators `===` and `!==`.\n\nDepending on the option selected, one of the following cases will be reported:\n\n* All usages of `==` and `!=` operators.\n* All usages except comparison with null. Some code styles allow using `x == null` as a replacement for `x === null || x === undefined`.\n* Only suspicious expressions, such as: `==` or `!=` comparisons with `0`, `''`, `null`, `true`, `false`, or `undefined`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EqualityComparisonWithCoercionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantOnLHSOfComparisonJS", + "shortDescription": { + "text": "Constant on left side of comparison" + }, + "fullDescription": { + "text": "Reports a comparison operation with a constant value in the left-hand side. According to coding conventions, constants should be in the right-hand side of comparisons.", + "markdown": "Reports a comparison operation with a constant value in the left-hand side. According to coding conventions, constants should be in the right-hand side of comparisons." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConstantOnLefSideOfComparisonJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSCheckFunctionSignatures", + "shortDescription": { + "text": "Signature mismatch" + }, + "fullDescription": { + "text": "Reports a JavaScript call expression where the arguments do not match the signature of the referenced function, including the types of arguments and their number. Also, reports if the overloading function doesn't match the overloaded one in terms of parameters and return types. TypeScript code is ignored.", + "markdown": "Reports a JavaScript call expression where the arguments do not match the signature of the referenced function, including the types of arguments and their number. Also, reports if the overloading function doesn't match the overloaded one in terms of parameters and return types.\n\nTypeScript code is ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSCheckFunctionSignatures", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentResultUsedJS", + "shortDescription": { + "text": "Result of assignment used" + }, + "fullDescription": { + "text": "Reports an assignment expression where the result of the assignment is used in the containing expression. Such assignments often indicate coding errors, for example, '=' instead of '=='. Moreover, they can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Expressions in parentheses are ignored.", + "markdown": "Reports an assignment expression where the result of the assignment is used in the containing expression. Such assignments often indicate coding errors, for example, `=` instead of `==`. Moreover, they can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways.\n\nExpressions in parentheses are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentResultUsedJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 51, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantOnRHSOfComparisonJS", + "shortDescription": { + "text": "Constant on right side of comparison" + }, + "fullDescription": { + "text": "Reports a comparison operation with a constant in the right-hand side. According to coding conventions, constants should only be in the left-hand side of comparisons.", + "markdown": "Reports a comparison operation with a constant in the right-hand side. According to coding conventions, constants should only be in the left-hand side of comparisons." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConstantOnRightSideOfComparisonJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 50, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnnecessarySemicolon", + "shortDescription": { + "text": "Unnecessary semicolon" + }, + "fullDescription": { + "text": "Reports an unneeded semicolon.", + "markdown": "Reports an unneeded semicolon." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnnecessarySemicolon", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptUnresolvedReference", + "shortDescription": { + "text": "Unresolved TypeScript reference" + }, + "fullDescription": { + "text": "Reports an unresolved reference in TypeScript code.", + "markdown": "Reports an unresolved reference in TypeScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptUnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSNonStrictModeUsed", + "shortDescription": { + "text": "Non-strict mode used" + }, + "fullDescription": { + "text": "Reports a JavaScript file that is not in the 'strict' mode.", + "markdown": "Reports a JavaScript file that is not in the `strict` mode." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSNonStrictModeUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6RedundantAwait", + "shortDescription": { + "text": "Redundant 'await' expression" + }, + "fullDescription": { + "text": "Reports a redundant usage of 'await', such as 'await await', or awaiting a non-promise result. When the 'Report for promises' option is selected, suggests removing 'await' before promises when applicable (in 'return' statements, and with 'Promise.resolve/reject'). Removing 'await' in such contexts causes two problems. Surrounding your code with 'try-catch' and forgetting to add 'await' will change code semantics while you may fail to notice that. Having an explicit 'await' may prevent the V8 runtime from providing async stack traces.", + "markdown": "Reports a redundant usage of `await`, such as `await await`, or awaiting a non-promise result.\n\n\nWhen the 'Report for promises' option is selected, suggests removing `await` before promises when applicable\n(in `return` statements, and with `Promise.resolve/reject`).\n\nRemoving `await` in such contexts causes two problems.\n\n* Surrounding your code with `try-catch` and forgetting to add `await` will change code semantics while you may fail to notice that.\n* Having an explicit `await` may prevent the V8 runtime from providing [async stack traces](http://bit.ly/v8-zero-cost-async-stack-traces)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6RedundantAwait", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 58, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedSwitchStatementJS", + "shortDescription": { + "text": "Nested 'switch' statement" + }, + "fullDescription": { + "text": "Reports a 'switch' statement that is nested in another 'switch' statement. Nested 'switch' statements may be very confusing, particularly if indenting is inconsistent.", + "markdown": "Reports a `switch` statement that is nested in another `switch` statement. Nested `switch` statements may be very confusing, particularly if indenting is inconsistent." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentToFunctionParameterJS", + "shortDescription": { + "text": "Assignment to function parameter" + }, + "fullDescription": { + "text": "Reports an assignment to a function parameter, including increment and decrement operations. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error.", + "markdown": "Reports an assignment to a function parameter, including increment and decrement operations. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentToFunctionParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 51, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FallThroughInSwitchStatementJS", + "shortDescription": { + "text": "Fallthrough in 'switch' statement" + }, + "fullDescription": { + "text": "Reports a 'switch' statement where control can proceed from a branch to the next one. Such \"fall-through\" often indicates an error, for example, a missing 'break' or 'return'.", + "markdown": "Reports a `switch` statement where control can proceed from a branch to the next one. Such \"fall-through\" often indicates an error, for example, a missing `break` or `return`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FallThroughInSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CallerJS", + "shortDescription": { + "text": "Use of 'caller' property" + }, + "fullDescription": { + "text": "Reports a usage of the 'caller' property in a JavaScript function. Using this property to access the stack frame of the calling method can be extremely confusing and result in subtle bugs.", + "markdown": "Reports a usage of the `caller` property in a JavaScript function. Using this property to access the stack frame of the calling method can be extremely confusing and result in subtle bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CallerJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptExplicitMemberType", + "shortDescription": { + "text": "Explicit types" + }, + "fullDescription": { + "text": "Reports a type annotation that doesn't match the current code style for explicit types. Type declarations are not necessary when the type that is inferred from the context exactly matches the type annotation, for example: 'var pi: number = 3.14' In some cases it is preferable to always have explicit types - this prevents accidental type changes and makes code more explicit.", + "markdown": "Reports a type annotation that doesn't match the current code style for explicit types.\n\n\nType declarations are not necessary when the type that is inferred from the context exactly matches the type annotation, for example:\n\n\n var pi: number = 3.14\n\nIn some cases it is preferable to always have explicit types - this prevents accidental type changes and makes code more explicit." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptExplicitMemberType", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDuplicateCaseLabel", + "shortDescription": { + "text": "Duplicate 'case' label" + }, + "fullDescription": { + "text": "Reports a duplicated 'case' label on a 'switch' statement, which normally indicates an error.", + "markdown": "Reports a duplicated `case` label on a `switch` statement, which normally indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSDuplicateCaseLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMissingSwitchBranches", + "shortDescription": { + "text": "'switch' statement has missing branches" + }, + "fullDescription": { + "text": "Reports a 'switch' statement on a variable of the type 'enum' or 'union' when the statement doesn't cover some value options from the type.", + "markdown": "Reports a `switch` statement on a variable of the type `enum` or `union` when the statement doesn't cover some value options from the type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMissingSwitchBranches", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSwitchVariableDeclarationIssue", + "shortDescription": { + "text": "Variable is declared and being used in different 'case' clauses" + }, + "fullDescription": { + "text": "Reports a variable that is declared in one 'case' clause of a 'switch' statement but is used in another 'case' clause of the same statement. For block-scoped variables, this results in throwing a 'ReferenceError'. For 'var' variables, it indicates a potential error. Disable the inspection for 'var' variables if this pattern is used intentionally.", + "markdown": "Reports a variable that is declared in one `case` clause of a `switch` statement but is used in another `case` clause of the same statement. For block-scoped variables, this results in throwing a `ReferenceError`. For `var` variables, it indicates a potential error.\n\nDisable the inspection for `var` variables if this pattern is used intentionally." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSwitchVariableDeclarationIssue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 56, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSJQueryEfficiency", + "shortDescription": { + "text": "JQuery selector can be optimized" + }, + "fullDescription": { + "text": "Reports a duplicated jQuery selector that can be cached or a usage of an attribute or a pseudo-selector (optional).", + "markdown": "Reports a duplicated jQuery selector that can be cached or a usage of an attribute or a pseudo-selector (optional)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSJQueryEfficiency", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnreachableCodeJS", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Reports code that can never be executed, which almost certainly indicates an error", + "markdown": "Reports code that can never be executed, which almost certainly indicates an error" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnreachableCodeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 41, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSuspiciousEqPlus", + "shortDescription": { + "text": "Suspicious '=+' assignment" + }, + "fullDescription": { + "text": "Reports an assignment in the form 'a =+ b'. Suggests replacing with 'a += b'.", + "markdown": "Reports an assignment in the form `a =+ b`. Suggests replacing with `a += b`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSuspiciousEqPlus", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 46, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyStatementBodyJS", + "shortDescription": { + "text": "Statement with empty body" + }, + "fullDescription": { + "text": "Reports an 'if', 'while', 'for', or 'with' statement with an empty body. Such statements often result from typos, and may cause confusion. Use the checkbox below to specify whether the statements with empty block statements as bodies should be reported.", + "markdown": "Reports an `if`, `while`, `for`, or `with` statement with an empty body. Such statements often result from typos, and may cause confusion.\n\n\nUse the checkbox below to specify whether the statements with empty block statements as bodies\nshould be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "StatementWithEmptyBodyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 32, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedLocalSymbols", + "shortDescription": { + "text": "Unused local symbol" + }, + "fullDescription": { + "text": "Reports an unused locally accessible parameter, local variable, function, class, or private member declaration.", + "markdown": "Reports an unused locally accessible parameter, local variable, function, class, or private member declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedLocalSymbols", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 15, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "gherkin", + "version": "241.17570", + "rules": [ + { + "id": "GherkinScenarioToScenarioOutline", + "shortDescription": { + "text": "Scenario with Examples section" + }, + "fullDescription": { + "text": "Reports Gherkin scenarios that contain an 'Examples' section. Use the quick-fix to convert 'Scenario' to 'Scenario Outline'.", + "markdown": "Reports Gherkin scenarios that contain an `Examples` section.\n\nUse the quick-fix to convert `Scenario` to `Scenario Outline`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "GherkinScenarioToScenarioOutline", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CucumberTableInspection", + "shortDescription": { + "text": "Unused or missing columns in Cucumber tables" + }, + "fullDescription": { + "text": "Reports tables in 'Examples' sections in Cucumber .feature files with unused or missing columns.", + "markdown": "Reports tables in `Examples` sections in Cucumber .feature files with unused or missing columns." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CucumberTableInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GherkinBrokenTableInspection", + "shortDescription": { + "text": "Gherkin table is broken" + }, + "fullDescription": { + "text": "Reports a table if there is at least one row with the number of cells different from the number of cells in the table header.", + "markdown": "Reports a table if there is at least one row with the number of cells different from the number of cells in the table header." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "GherkinBrokenTableInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GherkinMisplacedBackground", + "shortDescription": { + "text": "Misplaced background section" + }, + "fullDescription": { + "text": "Reports 'Background' sections that are located incorrectly. The 'Background' section must be located before the 'Scenario' section.", + "markdown": "Reports `Background` sections that are located incorrectly. The `Background` section must be located before the `Scenario` section." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "GherkinMisplacedBackground", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CucumberMissedExamples", + "shortDescription": { + "text": "Missing examples section" + }, + "fullDescription": { + "text": "Reports scenario outlines in Cucumber .feature files that do not have the 'Examples' section. Use the quick-fix to automatically create the 'Examples' section with a pre-filled table header.", + "markdown": "Reports scenario outlines in Cucumber .feature files that do not have the `Examples` section.\n\nUse the quick-fix to automatically create the `Examples` section with a pre-filled table header." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CucumberMissedExamples", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CucumberUndefinedStep", + "shortDescription": { + "text": "Undefined step" + }, + "fullDescription": { + "text": "Reports steps in Cucumber (or some other Gherkin) .feature files that do not have matching step definitions. Use the quick-fix to automatically create a new step definition.", + "markdown": "Reports steps in Cucumber (or some other Gherkin) .feature files that do not have matching step definitions.\n\nUse the quick-fix to automatically create a new step definition." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CucumberUndefinedStep", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CucumberExamplesColon", + "shortDescription": { + "text": "Missing ':' after examples keyword" + }, + "fullDescription": { + "text": "Reports 'Examples' sections in Cucumber .feature files if they do not have ':' after the 'Examples' keyword.", + "markdown": "Reports `Examples` sections in Cucumber .feature files if they do not have ':' after the `Examples` keyword." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CucumberExamplesColon", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Cucumber", + "index": 16, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.editorconfig.editorconfigjetbrains", + "version": "241.17570", + "rules": [ + { + "id": "EditorConfigRootDeclarationUniqueness", + "shortDescription": { + "text": "Extra top-level declaration" + }, + "fullDescription": { + "text": "Reports multiple top-level declarations. There can be only one optional “root=true” top-level declaration in the EditorConfig file. Using multiple top-level declarations is not allowed.", + "markdown": "Reports multiple top-level declarations. There can be only one optional \"root=true\" top-level declaration in the EditorConfig file. Using multiple top-level declarations is not allowed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigRootDeclarationUniqueness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigNumerousWildcards", + "shortDescription": { + "text": "Too many wildcards" + }, + "fullDescription": { + "text": "Reports sections that contain too many wildcards. Using a lot of wildcards may lead to performance issues.", + "markdown": "Reports sections that contain too many wildcards. Using a lot of wildcards may lead to performance issues." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EditorConfigNumerousWildcards", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigKeyCorrectness", + "shortDescription": { + "text": "Unknown property" + }, + "fullDescription": { + "text": "Reports properties that are not supported by the IDE. Note: some “ij” domain properties may require specific language plugins.", + "markdown": "Reports properties that are not supported by the IDE. Note: some \"ij\" domain properties may require specific language plugins." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigKeyCorrectness", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigEncoding", + "shortDescription": { + "text": "File encoding doesn't match EditorConfig charset" + }, + "fullDescription": { + "text": "Checks that current file encoding matches the encoding defined in \"charset\" property of .editorconfig file.", + "markdown": "Checks that current file encoding matches the encoding defined in \"charset\" property of .editorconfig file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigEncoding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigRootDeclarationCorrectness", + "shortDescription": { + "text": "Unexpected top-level declaration" + }, + "fullDescription": { + "text": "Reports unexpected top-level declarations. Top-level declarations other than “root=true” are not allowed in the EditorConfig file.", + "markdown": "Reports unexpected top-level declarations. Top-level declarations other than \"root=true\" are not allowed in the EditorConfig file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigRootDeclarationCorrectness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPatternRedundancy", + "shortDescription": { + "text": "Duplicate or redundant pattern" + }, + "fullDescription": { + "text": "Reports file patterns that are redundant as there already are other patterns that define the same scope of files or even a broader one. For example, in '[{*.java,*}]' the first '*.java' pattern defines a narrower scope compared to '*'. That is why it is redundant and can be removed.", + "markdown": "Reports file patterns that are redundant as there already are other patterns that define the same scope of files or even a broader one. For example, in `[{*.java,*}]` the first `*.java` pattern defines a narrower scope compared to `*`. That is why it is redundant and can be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigPatternRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigDeprecatedDescriptor", + "shortDescription": { + "text": "Deprecated property" + }, + "fullDescription": { + "text": "Reports EditorConfig properties that are no longer supported.", + "markdown": "Reports EditorConfig properties that are no longer supported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigDeprecatedDescriptor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigShadowedOption", + "shortDescription": { + "text": "Overridden property" + }, + "fullDescription": { + "text": "Reports properties that are already defined in other sections. For example: '[*.java]\nindent_size=4\n[{*.java,*.js}]\nindent_size=2' The second section includes all '*.java' files too but it also redefines indent_size. As a result the value 2 will be used for files matching '*.java'.", + "markdown": "Reports properties that are already defined in other sections.\n\nFor example:\n\n\n [*.java]\n indent_size=4\n [{*.java,*.js}]\n indent_size=2\n\nThe second section includes all `*.java` files too but it also redefines indent_size. As a result the value 2 will be used for files matching `*.java`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigShadowedOption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigEmptyHeader", + "shortDescription": { + "text": "Empty header" + }, + "fullDescription": { + "text": "Reports sections with an empty header. Section header must contain file path globs in the format similar to one supported by 'gitignore'.", + "markdown": "Reports sections with an empty header. Section header must contain file path globs in the format similar to one supported by `gitignore`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigEmptyHeader", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigValueUniqueness", + "shortDescription": { + "text": "Non-unique list value" + }, + "fullDescription": { + "text": "Reports duplicates in lists of values.", + "markdown": "Reports duplicates in lists of values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigValueUniqueness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigMissingRequiredDeclaration", + "shortDescription": { + "text": "Required declarations are missing" + }, + "fullDescription": { + "text": "Reports properties that miss the required declarations. Refer to the documentation for more information.", + "markdown": "Reports properties that miss the required declarations. Refer to the documentation for more information." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigMissingRequiredDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigSpaceInHeader", + "shortDescription": { + "text": "Space in file pattern" + }, + "fullDescription": { + "text": "Reports space characters in wildcard patterns that affect pattern matching. If these characters are not intentional, they should be removed.", + "markdown": "Reports space characters in wildcard patterns that affect pattern matching. If these characters are not intentional, they should be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EditorConfigSpaceInHeader", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigOptionRedundancy", + "shortDescription": { + "text": "Redundant property" + }, + "fullDescription": { + "text": "Reports properties that are redundant when another applicable section already contains the same property and value. For example: '[*]\nindent_size=4\n[*.java]\nindent_size=4' are both applicable to '*.java' files and define the same 'indent_size' value.", + "markdown": "Reports properties that are redundant when another applicable section already contains the same property and value.\n\n\nFor example:\n\n\n [*]\n indent_size=4\n [*.java]\n indent_size=4\n\nare both applicable to `*.java` files and define the same `indent_size` value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigOptionRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigUnexpectedComma", + "shortDescription": { + "text": "Unexpected comma" + }, + "fullDescription": { + "text": "Reports commas that cannot be used in the current context. Commas are allowed only as separators for values in lists.", + "markdown": "Reports commas that cannot be used in the current context. Commas are allowed only as separators for values in lists." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigUnexpectedComma", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigCharClassRedundancy", + "shortDescription": { + "text": "Unnecessary character class" + }, + "fullDescription": { + "text": "Reports character classes that consist of a single character. Such classes can be simplified to a character, for example '[a]'→'a'.", + "markdown": "Reports character classes that consist of a single character. Such classes can be simplified to a character, for example `[a]`→`a`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigCharClassRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPartialOverride", + "shortDescription": { + "text": "Overlapping sections" + }, + "fullDescription": { + "text": "Reports subsets of files specified in the current section that overlap with other subsets in other sections. For example: '[{foo,bar}]' and '[{foo,bas}]' both contain “foo”.", + "markdown": "Reports subsets of files specified in the current section that overlap with other subsets in other sections. For example: `[{foo,bar}]` and `[{foo,bas}]` both contain \"foo\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EditorConfigPartialOverride", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigEmptySection", + "shortDescription": { + "text": "Empty section" + }, + "fullDescription": { + "text": "Reports sections that do not contain any EditorConfig properties.", + "markdown": "Reports sections that do not contain any EditorConfig properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigEmptySection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigShadowingOption", + "shortDescription": { + "text": "Overriding property" + }, + "fullDescription": { + "text": "Reports properties that override the same properties defined earlier in the file. For example: '[*.java]\nindent_size=4\n[{*.java,*.js}]\nindent_size=2' The second section includes the same files as '[*.java]' but also sets indent_size to value 2. Thus the first declaration 'indent_size=4'will be ignored.", + "markdown": "Reports properties that override the same properties defined earlier in the file.\n\nFor example:\n\n\n [*.java]\n indent_size=4\n [{*.java,*.js}]\n indent_size=2\n\nThe second section includes the same files as `[*.java]` but also sets indent_size to value 2. Thus the first declaration `indent_size=4`will be ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigShadowingOption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigListAcceptability", + "shortDescription": { + "text": "Unexpected value list" + }, + "fullDescription": { + "text": "Reports lists of values that are used in properties in which lists are not supported. In this case, only a single value can be specified.", + "markdown": "Reports lists of values that are used in properties in which lists are not supported. In this case, only a single value can be specified." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigListAcceptability", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPatternEnumerationRedundancy", + "shortDescription": { + "text": "Unnecessary braces" + }, + "fullDescription": { + "text": "Reports pattern lists that are either empty '{}' or contain just one pattern, for example '{foo}' in contrast to a list containing multiple patterns, for example '{foo,bar}'. In this case braces are handled as a part of the name. For example, the pattern '*.{a}' will match the file 'my.{a}' but not 'my.a'.", + "markdown": "Reports pattern lists that are either empty `{}` or contain just one pattern, for example `{foo}` in contrast to a list containing multiple patterns, for example `{foo,bar}`. In this case braces are handled as a part of the name. For example, the pattern `*.{a}` will match the file `my.{a}` but not `my.a`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigPatternEnumerationRedundancy", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigReferenceCorrectness", + "shortDescription": { + "text": "Invalid reference" + }, + "fullDescription": { + "text": "Reports identifiers that are either unknown or have a wrong type.", + "markdown": "Reports identifiers that are either unknown or have a wrong type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigReferenceCorrectness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPairAcceptability", + "shortDescription": { + "text": "Unexpected key-value pair" + }, + "fullDescription": { + "text": "Reports key-value pairs that are not allowed in the current context.", + "markdown": "Reports key-value pairs that are not allowed in the current context." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigPairAcceptability", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigNoMatchingFiles", + "shortDescription": { + "text": "No matching files" + }, + "fullDescription": { + "text": "Reports sections with wildcard patterns that do not match any files under the directory in which the '.editorconfig' file is located.", + "markdown": "Reports sections with wildcard patterns that do not match any files under the directory in which the `.editorconfig` file is located." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigNoMatchingFiles", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigWildcardRedundancy", + "shortDescription": { + "text": "Redundant wildcard" + }, + "fullDescription": { + "text": "Reports wildcards that become redundant when the “**” wildcard is used in the same section. The “**” wildcard defines a broader set of files than any other wildcard. That is why, any other wildcard used in the same section has no affect and can be removed.", + "markdown": "Reports wildcards that become redundant when the \"\\*\\*\" wildcard is used in the same section.\n\n\nThe \"\\*\\*\" wildcard defines a broader set of files than any other wildcard.\nThat is why, any other wildcard used in the same section has no affect and can be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigWildcardRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigHeaderUniqueness", + "shortDescription": { + "text": "EditorConfig section is not unique" + }, + "fullDescription": { + "text": "Reports sections that define the same file pattern as other sections.", + "markdown": "Reports sections that define the same file pattern as other sections." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigHeaderUniqueness", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigValueCorrectness", + "shortDescription": { + "text": "Invalid property value" + }, + "fullDescription": { + "text": "Reports property values that do not meet value restrictions. For example, some properties may be only “true” or “false”, others contain only integer numbers etc. If a value has a limited set of variants, use code completion to see all of them.", + "markdown": "Reports property values that do not meet value restrictions. For example, some properties may be only \"true\" or \"false\", others contain only integer numbers etc. If a value has a limited set of variants, use code completion to see all of them." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigValueCorrectness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigVerifyByCore", + "shortDescription": { + "text": "Invalid .editorconfig file" + }, + "fullDescription": { + "text": "Verifies the whole file using the backing EditorConfig core library and reports any failures. Any such failure would prevent EditorConfig properties from being correctly applied.", + "markdown": "Verifies the whole file using the backing EditorConfig core library and reports any failures. Any such failure would prevent EditorConfig properties from being correctly applied." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigVerifyByCore", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigCharClassLetterRedundancy", + "shortDescription": { + "text": "Duplicate character class letter" + }, + "fullDescription": { + "text": "Reports wildcard patterns in the EditorConfig section that contain a duplicate character in the character class, for example '[aa]'.", + "markdown": "Reports wildcard patterns in the EditorConfig section that contain a duplicate character in the character class, for example `[aa]`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigCharClassLetterRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigUnusedDeclaration", + "shortDescription": { + "text": "Unused declaration" + }, + "fullDescription": { + "text": "Reports unused declarations. Such declarations can be removed.", + "markdown": "Reports unused declarations. Such declarations can be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigUnusedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.plugins.postcss", + "version": "241.17570", + "rules": [ + { + "id": "PostCssUnresolvedModuleValueReference", + "shortDescription": { + "text": "Unresolved CSS module value" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a CSS Module Value ('@value' declaration). Example: '@value foo from unknown;'", + "markdown": "Reports an unresolved reference to a [CSS Module Value](https://github.com/css-modules/postcss-modules-values) (`@value` declaration).\n\nExample:\n\n\n @value foo from unknown;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssUnresolvedModuleValueReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 21, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssNesting", + "shortDescription": { + "text": "Invalid nested rule" + }, + "fullDescription": { + "text": "Reports a nested style rule whose syntax doesn't comply with the PostCSS Nested or the PostCSS Nesting specification. Example: '.phone {\n &_title {}\n}'", + "markdown": "Reports a nested style rule whose syntax doesn't comply with the [PostCSS Nested](https://github.com/postcss/postcss-nested) or the [PostCSS Nesting](https://github.com/csstools/postcss-nesting) specification.\n\nExample:\n\n\n .phone {\n &_title {}\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PostCssNesting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 21, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssCustomMedia", + "shortDescription": { + "text": "Invalid custom media" + }, + "fullDescription": { + "text": "Reports a syntax error in a PostCSS Custom Media query. Example: '@custom-media --small-viewport (max-width: 30em);'", + "markdown": "Reports a syntax error in a [PostCSS Custom Media](https://github.com/postcss/postcss-custom-media) query.\n\nExample:\n\n\n @custom-media --small-viewport (max-width: 30em);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssCustomMedia", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 21, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssCustomSelector", + "shortDescription": { + "text": "Invalid custom selector" + }, + "fullDescription": { + "text": "Reports a syntax error in PostCSS Custom Selector. Example: '@custom-selector :--heading h1, h2, h3;'", + "markdown": "Reports a syntax error in [PostCSS Custom Selector](https://github.com/postcss/postcss-custom-selectors).\n\nExample:\n\n\n @custom-selector :--heading h1, h2, h3;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssCustomSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 21, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssMediaRange", + "shortDescription": { + "text": "Invalid media query range" + }, + "fullDescription": { + "text": "Checks range context syntax, which may alternatively be used for media features with a 'range' type. Example: '@media screen and (500px <= width <= 1200px) {}'", + "markdown": "Checks [range context](https://github.com/postcss/postcss-media-minmax) syntax, which may alternatively be used for media features with a 'range' type.\n\nExample:\n\n\n @media screen and (500px <= width <= 1200px) {}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssMediaRange", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 21, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "HtmlTools", + "version": "241.17570", + "rules": [ + { + "id": "HtmlRequiredAltAttribute", + "shortDescription": { + "text": "Missing required 'alt' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'alt' attribute in a 'img' or 'applet' tag or in a 'area' element of an image map. Suggests adding a required attribute with a text alternative for the contents of the tag. Based on WCAG 2.0: H24, H35, H36, H37.", + "markdown": "Reports a missing `alt` attribute in a `img` or `applet` tag or in a `area` element of an image map. Suggests adding a required attribute with a text alternative for the contents of the tag. Based on WCAG 2.0: [H24](https://www.w3.org/TR/WCAG20-TECHS/H24.html), [H35](https://www.w3.org/TR/WCAG20-TECHS/H35.html), [H36](https://www.w3.org/TR/WCAG20-TECHS/H36.html), [H37](https://www.w3.org/TR/WCAG20-TECHS/H37.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredAltAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 29, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlDeprecatedTag", + "shortDescription": { + "text": "Obsolete tag" + }, + "fullDescription": { + "text": "Reports an obsolete HTML5 tag. Suggests replacing the obsolete tag with a CSS or another tag.", + "markdown": "Reports an obsolete HTML5 tag. Suggests replacing the obsolete tag with a CSS or another tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlDeprecatedTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckImageSize", + "shortDescription": { + "text": "Mismatched image size" + }, + "fullDescription": { + "text": "Reports a 'width' and 'height' attribute value of a 'img' tag that is different from the actual width and height of the referenced image.", + "markdown": "Reports a `width` and `height` attribute value of a `img` tag that is different from the actual width and height of the referenced image." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckImageSize", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredSummaryAttribute", + "shortDescription": { + "text": "Missing required 'summary' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'summary' attribute in a 'table' tag. Suggests adding a'summary' attribute. Based on WCAG 2.0: H73.", + "markdown": "Reports a missing `summary` attribute in a `table` tag. Suggests adding a`summary` attribute. Based on WCAG 2.0: [H73](https://www.w3.org/TR/WCAG20-TECHS/H73.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlRequiredSummaryAttribute", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 29, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlNonExistentInternetResource", + "shortDescription": { + "text": "Unresolved web link" + }, + "fullDescription": { + "text": "Reports an unresolved web link. Works by making network requests in the background.", + "markdown": "Reports an unresolved web link. Works by making network requests in the background." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlNonExistentInternetResource", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlFormInputWithoutLabel", + "shortDescription": { + "text": "Missing associated label" + }, + "fullDescription": { + "text": "Reports a form element ('input', 'textarea', or 'select') without an associated label. Suggests creating a new label. Based on WCAG 2.0: H44.", + "markdown": "Reports a form element (`input`, `textarea`, or `select`) without an associated label. Suggests creating a new label. Based on WCAG 2.0: [H44](https://www.w3.org/TR/WCAG20-TECHS/H44.html). " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlFormInputWithoutLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 29, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredTitleAttribute", + "shortDescription": { + "text": "Missing required 'title' attribute" + }, + "fullDescription": { + "text": "Reports a missing title attribute 'frame', 'iframe', 'dl', and 'a' tags. Suggests adding a title attribute. Based on WCAG 2.0: H33, H40, and H64.", + "markdown": "Reports a missing title attribute `frame`, `iframe`, `dl`, and `a` tags. Suggests adding a title attribute. Based on WCAG 2.0: [H33](https://www.w3.org/TR/WCAG20-TECHS/H33.html), [H40](https://www.w3.org/TR/WCAG20-TECHS/H40.html), and [H64](https://www.w3.org/TR/WCAG20-TECHS/H64.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlRequiredTitleAttribute", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 29, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredLangAttribute", + "shortDescription": { + "text": "Missing required 'lang' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'lang' (or 'xml:lang') attribute in a 'html' tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0: H57.", + "markdown": "Reports a missing `lang` (or `xml:lang`) attribute in a `html` tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0: [H57](https://www.w3.org/TR/WCAG20-TECHS/H57.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredLangAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 29, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredTitleElement", + "shortDescription": { + "text": "Missing required 'title' element" + }, + "fullDescription": { + "text": "Reports a missing 'title' element inside a 'head' section. Suggests adding a 'title' element. The title should describe the document. Based on WCAG 2.0: H25.", + "markdown": "Reports a missing `title` element inside a `head` section. Suggests adding a `title` element. The title should describe the document. Based on WCAG 2.0: [H25](https://www.w3.org/TR/WCAG20-TECHS/H25.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredTitleElement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 29, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlDeprecatedAttribute", + "shortDescription": { + "text": "Obsolete attribute" + }, + "fullDescription": { + "text": "Reports an obsolete HTML5 attribute.", + "markdown": "Reports an obsolete HTML5 attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlDeprecatedAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlPresentationalElement", + "shortDescription": { + "text": "Presentational tag" + }, + "fullDescription": { + "text": "Reports a presentational HTML tag. Suggests replacing the presentational tag with a CSS or another tag.", + "markdown": "Reports a presentational HTML tag. Suggests replacing the presentational tag with a CSS or another tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlPresentationalElement", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 14, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.css", + "version": "241.17570", + "rules": [ + { + "id": "CssInvalidHtmlTagReference", + "shortDescription": { + "text": "Invalid type selector" + }, + "fullDescription": { + "text": "Reports a CSS type selector that matches an unknown HTML element.", + "markdown": "Reports a CSS [type selector](https://developer.mozilla.org/en-US/docs/Web/CSS/Type_selectors) that matches an unknown HTML element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidHtmlTagReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidFunction", + "shortDescription": { + "text": "Invalid function" + }, + "fullDescription": { + "text": "Reports an unknown CSS function or an incorrect function parameter.", + "markdown": "Reports an unknown [CSS function](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Functions) or an incorrect function parameter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidFunction", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssMissingSemicolon", + "shortDescription": { + "text": "Missing semicolon" + }, + "fullDescription": { + "text": "Reports a missing semicolon at the end of a declaration.", + "markdown": "Reports a missing semicolon at the end of a declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssMissingSemicolon", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code style issues", + "index": 44, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssMissingComma", + "shortDescription": { + "text": "Missing comma in selector list" + }, + "fullDescription": { + "text": "Reports a multi-line selector. Most likely this means that several single-line selectors are actually intended but a comma is missing at the end of one or several lines. Example: 'input /* comma has probably been forgotten */\n.button {\n margin: 1px;\n}'", + "markdown": "Reports a multi-line selector. Most likely this means that several single-line selectors are actually intended but a comma is missing at the end of one or several lines.\n\n**Example:**\n\n\n input /* comma has probably been forgotten */\n .button {\n margin: 1px;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssMissingComma", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 54, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCustomPropertyAtRuleName", + "shortDescription": { + "text": "Invalid @property name" + }, + "fullDescription": { + "text": "Reports an invalid custom property name. Custom property name should be prefixed with two dashes. Example: '@property invalid-property-name {\n ...\n}\n\n@property --valid-property-name {\n ...\n}'", + "markdown": "Reports an invalid custom property name. Custom property name should be prefixed with two dashes.\n\n**Example:**\n\n\n @property invalid-property-name {\n ...\n }\n\n @property --valid-property-name {\n ...\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidCustomPropertyAtRuleName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssConvertColorToHexInspection", + "shortDescription": { + "text": "Color could be replaced with #-hex" + }, + "fullDescription": { + "text": "Reports an 'rgb()', 'hsl()', or other color function. Suggests replacing a color function with an equivalent hexadecimal notation. Example: 'rgb(12, 15, 255)' After the quick-fix is applied: '#0c0fff'.", + "markdown": "Reports an `rgb()`, `hsl()`, or other color function.\n\nSuggests replacing a color function with an equivalent hexadecimal notation.\n\n**Example:**\n\n rgb(12, 15, 255)\n\nAfter the quick-fix is applied:\n\n #0c0fff.\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssConvertColorToHexInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssConvertColorToRgbInspection", + "shortDescription": { + "text": "Color could be replaced with rgb()" + }, + "fullDescription": { + "text": "Reports an 'hsl()' or 'hwb()' color function or a hexadecimal color notation. Suggests replacing such color value with an equivalent 'rgb()' or 'rgba()' color function. Example: '#0c0fff' After the quick-fix is applied: 'rgb(12, 15, 255)'.", + "markdown": "Reports an `hsl()` or `hwb()` color function or a hexadecimal color notation.\n\nSuggests replacing such color value with an equivalent `rgb()` or `rgba()` color function.\n\n**Example:**\n\n #0c0fff\n\nAfter the quick-fix is applied:\n\n rgb(12, 15, 255).\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssConvertColorToRgbInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnusedSymbol", + "shortDescription": { + "text": "Unused selector" + }, + "fullDescription": { + "text": "Reports a CSS class or an element IDs that appears in selectors but is not used in HTML. Note that complete inspection results are available only when running it via Code | Inspect Code or Code | Analyze Code | Run Inspection by Name. Due to performance reasons, style sheet files are not inspected on the fly.", + "markdown": "Reports a CSS class or an element IDs that appears in selectors but is not used in HTML.\n\n\nNote that complete inspection results are available only when running it via **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name**.\nDue to performance reasons, style sheet files are not inspected on the fly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssUnusedSymbol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidAtRule", + "shortDescription": { + "text": "Unknown at-rule" + }, + "fullDescription": { + "text": "Reports an unknown CSS at-rule.", + "markdown": "Reports an unknown [CSS at-rule](https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidAtRule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownTarget", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference, for example, an incorrect path in an '@import' statement.", + "markdown": "Reports an unresolved file reference, for example, an incorrect path in an `@import` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnknownTarget", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNegativeValue", + "shortDescription": { + "text": "Negative property value" + }, + "fullDescription": { + "text": "Reports a negative value of a CSS property that is not expected to be less than zero, for example, object width or height.", + "markdown": "Reports a negative value of a CSS property that is not expected to be less than zero, for example, object width or height." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssNegativeValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNoGenericFontName", + "shortDescription": { + "text": "Missing generic font family name" + }, + "fullDescription": { + "text": "Verifies that the 'font-family' property contains a generic font family name as a fallback alternative. Generic font family names are: 'serif', 'sans-serif', 'cursive', 'fantasy', and 'monospace'.", + "markdown": "Verifies that the [font-family](https://developer.mozilla.org/en-US/docs/Web/CSS/font-family) property contains a generic font family name as a fallback alternative.\n\n\nGeneric font family names are: `serif`, `sans-serif`, `cursive`, `fantasy`,\nand `monospace`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssNoGenericFontName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 54, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCharsetRule", + "shortDescription": { + "text": "Misplaced or incorrect @charset" + }, + "fullDescription": { + "text": "Reports a misplaced '@charset' at-rule or an incorrect charset value.", + "markdown": "Reports a misplaced `@charset` at-rule or an incorrect charset value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidCharsetRule", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidPseudoSelector", + "shortDescription": { + "text": "Invalid pseudo-selector" + }, + "fullDescription": { + "text": "Reports an incorrect CSS pseudo-class pseudo-element.", + "markdown": "Reports an incorrect CSS [pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes) [pseudo-element](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidPseudoSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCustomPropertyAtRuleDeclaration", + "shortDescription": { + "text": "Invalid @property declaration" + }, + "fullDescription": { + "text": "Reports a missing required syntax, inherits, or initial-value property in a declaration of a custom property.", + "markdown": "Reports a missing required [syntax](https://developer.mozilla.org/en-US/docs/web/css/@property/syntax), [inherits](https://developer.mozilla.org/en-US/docs/web/css/@property/inherits), or [initial-value](https://developer.mozilla.org/en-US/docs/web/css/@property/initial-value) property in a declaration of a custom property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidCustomPropertyAtRuleDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssRedundantUnit", + "shortDescription": { + "text": "Redundant measure unit" + }, + "fullDescription": { + "text": "Reports a measure unit of a zero value where units are not required by the specification. Example: 'width: 0px'", + "markdown": "Reports a measure unit of a zero value where units are not required by the specification.\n\n**Example:**\n\n width: 0px\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssRedundantUnit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code style issues", + "index": 44, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidPropertyValue", + "shortDescription": { + "text": "Invalid property value" + }, + "fullDescription": { + "text": "Reports an incorrect CSS property value.", + "markdown": "Reports an incorrect CSS property value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidPropertyValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssBrowserCompatibilityForProperties", + "shortDescription": { + "text": "Property is incompatible with selected browsers" + }, + "fullDescription": { + "text": "Reports a CSS property that is not supported by the specified browsers. Based on the MDN Compatibility Data.", + "markdown": "Reports a CSS property that is not supported by the specified browsers. Based on the [MDN Compatibility Data](https://github.com/mdn/browser-compat-data)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssBrowserCompatibilityForProperties", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssReplaceWithShorthandUnsafely", + "shortDescription": { + "text": "Properties may probably be replaced with a shorthand" + }, + "fullDescription": { + "text": "Reports a set of longhand CSS properties and suggests replacing an incomplete set of longhand CSS properties with a shorthand form, which is however not 100% equivalent in this case. For example, 2 properties: 'outline-color' and 'outline-style' may be replaced with a single 'outline'. Such replacement is not 100% equivalent because shorthands reset all omitted sub-values to their initial states. In this example, switching to the 'outline' shorthand means that 'outline-width' is also set to its initial value, which is 'medium'. This inspection doesn't handle full sets of longhand properties (when switching to shorthand is 100% safe). For such cases see the 'Properties may be safely replaced with a shorthand' inspection instead.", + "markdown": "Reports a set of longhand CSS properties and suggests replacing an incomplete set of longhand CSS properties with a shorthand form, which is however not 100% equivalent in this case.\n\n\nFor example, 2 properties: `outline-color` and `outline-style` may be replaced with a single `outline`.\nSuch replacement is not 100% equivalent because shorthands reset all omitted sub-values to their initial states.\nIn this example, switching to the `outline` shorthand means that `outline-width` is also set to its initial value,\nwhich is `medium`.\n\n\nThis inspection doesn't handle full sets of longhand properties (when switching to shorthand is 100% safe).\nFor such cases see the 'Properties may be safely replaced with a shorthand' inspection instead." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssReplaceWithShorthandUnsafely", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownUnit", + "shortDescription": { + "text": "Unknown unit" + }, + "fullDescription": { + "text": "Reports an unknown unit.", + "markdown": "Reports an unknown unit." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnknownUnit", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidMediaFeature", + "shortDescription": { + "text": "Invalid media feature" + }, + "fullDescription": { + "text": "Reports an unknown CSS media feature or an incorrect media feature value.", + "markdown": "Reports an unknown [CSS media feature](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) or an incorrect media feature value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidMediaFeature", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssDeprecatedValue", + "shortDescription": { + "text": "Deprecated value" + }, + "fullDescription": { + "text": "Reports a deprecated CSS value. Suggests replacing the deprecated value with its valid equivalent.", + "markdown": "Reports a deprecated CSS value. Suggests replacing the deprecated value with its valid equivalent." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssDeprecatedValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNonIntegerLengthInPixels", + "shortDescription": { + "text": "Non-integer length in pixels" + }, + "fullDescription": { + "text": "Reports a non-integer length in pixels. Example: 'width: 3.14px'", + "markdown": "Reports a non-integer length in pixels.\n\n**Example:**\n\n width: 3.14px\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssNonIntegerLengthInPixels", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 54, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidImport", + "shortDescription": { + "text": "Misplaced @import" + }, + "fullDescription": { + "text": "Reports a misplaced '@import' statement. According to the specification, '@import' rules must precede all other types of rules, except '@charset' rules.", + "markdown": "Reports a misplaced `@import` statement.\n\n\nAccording to the [specification](https://developer.mozilla.org/en-US/docs/Web/CSS/@import),\n`@import` rules must precede all other types of rules, except `@charset` rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnresolvedCustomProperty", + "shortDescription": { + "text": "Unresolved custom property" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a custom property among the arguments of the 'var()' function.", + "markdown": "Reports an unresolved reference to a [custom property](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) among the arguments of the `var()` function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnresolvedCustomProperty", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssOverwrittenProperties", + "shortDescription": { + "text": "Overwritten property" + }, + "fullDescription": { + "text": "Reports a duplicated CSS property within a ruleset. Respects shorthand properties. Example: '.foo {\n margin-bottom: 1px;\n margin-bottom: 1px; /* duplicates margin-bottom */\n margin: 0; /* overrides margin-bottom */\n}'", + "markdown": "Reports a duplicated CSS property within a ruleset. Respects shorthand properties.\n\n**Example:**\n\n\n .foo {\n margin-bottom: 1px;\n margin-bottom: 1px; /* duplicates margin-bottom */\n margin: 0; /* overrides margin-bottom */\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssOverwrittenProperties", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnresolvedClassInComposesRule", + "shortDescription": { + "text": "Unresolved class in 'composes' rule" + }, + "fullDescription": { + "text": "Reports a CSS class reference in the 'composes' rule that cannot be resolved to any valid target. Example: '.className {/* ... */}\n\n .otherClassName {\n composes: className;\n }'", + "markdown": "Reports a CSS class reference in the ['composes'](https://github.com/css-modules/css-modules#composition) rule that cannot be resolved to any valid target.\n\n**Example:**\n\n\n .className {/* ... */}\n\n .otherClassName {\n composes: className;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnresolvedClassInComposesRule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssReplaceWithShorthandSafely", + "shortDescription": { + "text": "Properties may be safely replaced with a shorthand" + }, + "fullDescription": { + "text": "Reports a set of longhand properties. Suggests replacing a complete set of longhand CSS properties with an equivalent shorthand form. For example, 4 properties: 'padding-top', 'padding-right', 'padding-bottom', and 'padding-left' can be safely replaced with a single 'padding' property. Note that this inspection doesn't show up if the set of longhand properties is incomplete (e.g. only 3 'padding-xxx' properties in a ruleset) because switching to a shorthand may change the result. For such cases consider the 'Properties may probably be replaced with a shorthand' inspection.", + "markdown": "Reports a set of longhand properties. Suggests replacing a complete set of longhand CSS properties with an equivalent shorthand form.\n\n\nFor example, 4 properties: `padding-top`, `padding-right`, `padding-bottom`, and\n`padding-left`\ncan be safely replaced with a single `padding` property.\n\n\nNote that this inspection doesn't show up if the set of longhand properties is incomplete\n(e.g. only 3 `padding-xxx` properties in a ruleset)\nbecause switching to a shorthand may change the result.\nFor such cases consider the 'Properties may probably be replaced with a shorthand'\ninspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssReplaceWithShorthandSafely", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 33, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownProperty", + "shortDescription": { + "text": "Unknown property" + }, + "fullDescription": { + "text": "Reports an unknown CSS property or a property used in a wrong context. Add the unknown property to the 'Custom CSS properties' list to skip validation.", + "markdown": "Reports an unknown CSS property or a property used in a wrong context.\n\nAdd the unknown property to the 'Custom CSS properties' list to skip validation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssUnknownProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidNestedSelector", + "shortDescription": { + "text": "Invalid nested selector" + }, + "fullDescription": { + "text": "Reports a nested selector starting with an identifier or a functional notation.", + "markdown": "Reports a nested selector starting with an identifier or a functional notation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidNestedSelector", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 34, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.yaml", + "version": "241.17570", + "rules": [ + { + "id": "YAMLSchemaValidation", + "shortDescription": { + "text": "Validation by JSON Schema" + }, + "fullDescription": { + "text": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified. Scheme example: '{\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeNumberProperty: hello world'", + "markdown": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified.\n\n**Scheme example:**\n\n\n {\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeNumberProperty: hello world\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLSchemaValidation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLUnresolvedAlias", + "shortDescription": { + "text": "Unresolved alias" + }, + "fullDescription": { + "text": "Reports unresolved aliases in YAML files. Example: 'some_key: *unknown_alias'", + "markdown": "Reports unresolved aliases in YAML files.\n\n**Example:**\n\n\n some_key: *unknown_alias\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLUnresolvedAlias", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLSchemaDeprecation", + "shortDescription": { + "text": "Deprecated YAML key" + }, + "fullDescription": { + "text": "Reports deprecated keys in YAML files. Deprecation is checked only if there exists a JSON schema associated with the corresponding YAML file. Note that the deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard 'deprecationMessage' extension. Scheme deprecation example: '{\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeDeprecatedProperty: some value'", + "markdown": "Reports deprecated keys in YAML files.\n\nDeprecation is checked only if there exists a JSON schema associated with the corresponding YAML file.\n\nNote that the deprecation mechanism is not defined in the JSON Schema specification yet,\nand this inspection uses a non-standard `deprecationMessage` extension.\n\n**Scheme deprecation example:**\n\n\n {\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeDeprecatedProperty: some value\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "YAMLSchemaDeprecation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLIncompatibleTypes", + "shortDescription": { + "text": "Suspicious type mismatch" + }, + "fullDescription": { + "text": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions. Example: 'myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings'", + "markdown": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions.\n\n**Example:**\n\n\n myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLIncompatibleTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLRecursiveAlias", + "shortDescription": { + "text": "Recursive alias" + }, + "fullDescription": { + "text": "Reports recursion in YAML aliases. Alias can't be recursive and be used inside the data referenced by a corresponding anchor. Example: 'some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor'", + "markdown": "Reports recursion in YAML aliases.\n\nAlias can't be recursive and be used inside the data referenced by a corresponding anchor.\n\n**Example:**\n\n\n some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLRecursiveAlias", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLDuplicatedKeys", + "shortDescription": { + "text": "Duplicated YAML keys" + }, + "fullDescription": { + "text": "Reports duplicated keys in YAML files. Example: 'same_key: some value\n same_key: another value'", + "markdown": "Reports duplicated keys in YAML files.\n\n**Example:**\n\n\n same_key: some value\n same_key: another value\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLDuplicatedKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLUnusedAnchor", + "shortDescription": { + "text": "Unused anchor" + }, + "fullDescription": { + "text": "Reports unused anchors. Example: 'some_key: &some_anchor\n key1: value1'", + "markdown": "Reports unused anchors.\n\n**Example:**\n\n\n some_key: &some_anchor\n key1: value1\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLUnusedAnchor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 37, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.restClient", + "version": "241.17570", + "rules": [ + { + "id": "HttpRequestWhitespaceInsideRequestTargetPath", + "shortDescription": { + "text": "Whitespace in URL in request" + }, + "fullDescription": { + "text": "Highlights spaces inside URL path segments. HTTP Client will ignore them. For better composing use Split Lines action.", + "markdown": "Highlights spaces inside URL path segments. HTTP Client will ignore them. For better composing use Split Lines action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestWhitespaceInsideRequestTargetPath", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpClientUnresolvedAuthId", + "shortDescription": { + "text": "Unresolved Auth identifier" + }, + "fullDescription": { + "text": "Highlights references to non-existent Auth configurations. Suggests creating a new one in the current environment.", + "markdown": "Highlights references to non-existent Auth configurations. Suggests creating a new one in the current environment." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "HttpClientUnresolvedAuthId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestEnvironmentAuthConfigurationValidationInspection", + "shortDescription": { + "text": "Auth configuration validation" + }, + "fullDescription": { + "text": "Reports Auth configuration the following problems in HTTP Client environment files: Missing properties in Auth configuration Auth/Security configuration placed in private environment file", + "markdown": "Reports Auth configuration the following problems in HTTP Client environment files:\n\n* Missing properties in Auth configuration\n* Auth/Security configuration placed in private environment file" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpRequestEnvironmentAuthConfigurationValidationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpClientUnresolvedVariable", + "shortDescription": { + "text": "Unresolved environment variable" + }, + "fullDescription": { + "text": "Reports variables undeclared in the current environment HTTP Client. Executing requests with undeclared variables probably fail. Consider adding a variable to the environment or selecting an environment with this variable. Inspection doesn't report variables in request bodies, because it can be a valid syntax of the body. Some variables may be not reported as unresolved, because they are declared in response or pre-request handler scripts via 'client.global.set' or 'request.variables.set' functions call.", + "markdown": "Reports variables undeclared in the current environment HTTP Client.\n\n\nExecuting requests with undeclared variables probably fail.\nConsider adding a variable to the environment or selecting an environment with this variable.\n\nInspection doesn't report variables in request bodies, because it can be a valid syntax of the body.\n\n\nSome variables may be not reported as unresolved, because they are declared in response or pre-request handler scripts via\n`client.global.set` or `request.variables.set` functions call." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpClientUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpUrlsUsage", + "shortDescription": { + "text": "Link with unencrypted protocol" + }, + "fullDescription": { + "text": "Reports the links that use unencrypted protocols (such as HTTP), which can expose your data to man-in-the-middle attacks. These attacks are dangerous in general and may be especially harmful for artifact repositories. Use protocols with encryption, such as HTTPS, instead. See HTTPS: Difference from HTTP (wikipedia.org).", + "markdown": "Reports the links that use unencrypted protocols (such as HTTP), which can expose your data to man-in-the-middle attacks. These attacks\nare dangerous in general and may be especially harmful for artifact repositories. Use protocols with encryption, such as HTTPS,\ninstead.\n\nSee [HTTPS: Difference from HTTP (wikipedia.org)](https://en.wikipedia.org/wiki/HTTPS#Difference_from_HTTP)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpUrlsUsage", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 74, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestRequestSeparatorJsonBodyInspection", + "shortDescription": { + "text": "Missing request separator in JSON body" + }, + "fullDescription": { + "text": "Reports possible requests in injected JSON body where request separator '###' is missing. The quick fix suggests adding the separator '###' before the request.", + "markdown": "Reports possible requests in injected JSON body where request separator `###` is missing. The quick fix suggests adding the separator `###` before the request." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestRequestSeparatorJsonBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestContentLengthIsIgnored", + "shortDescription": { + "text": "Redundant 'Content-Length'" + }, + "fullDescription": { + "text": "Reports an explicitly set 'Content-Length' header. The header is redundant because HTTP Client uses the actual request body length.", + "markdown": "Reports an explicitly set `Content-Length` header. The header is redundant because HTTP Client uses the actual request body length." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpRequestContentLengthIsIgnored", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestRequestSeparatorXmlBodyInspection", + "shortDescription": { + "text": "Missing request separator in HTML/XML body" + }, + "fullDescription": { + "text": "Reports possible requests in injected XML/HTML body where request separator '###' is missing. The quick fix suggests adding the separator '###' before the request.", + "markdown": "Reports possible requests in injected XML/HTML body where request separator `###` is missing. The quick fix suggests adding the separator `###` before the request." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestRequestSeparatorXmlBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncorrectHttpHeaderInspection", + "shortDescription": { + "text": "Incorrect HTTP header" + }, + "fullDescription": { + "text": "Reports unknown HTTP headers that do not match any publicly known headers. The quick fix suggests adding the header to the list of custom headers when the Use custom HTTP headers option is enabled. HTTP headers from the list of custom headers will not trigger the inspection.", + "markdown": "Reports unknown HTTP headers that do not match any [publicly\nknown headers](https://www.iana.org/assignments/message-headers/message-headers.xml). The quick fix suggests adding the header to the list of custom headers when the **Use custom HTTP headers** option\nis enabled. HTTP headers from the list of custom headers will not trigger the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncorrectHttpHeaderInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpClientInappropriateProtocolUsageInspection", + "shortDescription": { + "text": "Inappropriate HTTP Protocol usage" + }, + "fullDescription": { + "text": "Reports inappropriate usage of HTTP protocol keyword, e.g. 'HTTP/2', with non-HTTP method requests. Such a usage will be ignored.", + "markdown": "Reports inappropriate usage of HTTP protocol keyword, e.g. `HTTP/2`, with non-HTTP method requests. Such a usage will be ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpClientInappropriateProtocolUsageInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestPlaceholder", + "shortDescription": { + "text": "'$placeholder' in HTTP Request" + }, + "fullDescription": { + "text": "Reports a '$placeholder' inside a request. A '$placeholder' to be replaced by the user is created automatically when a tool cannot recognize a part of a request. For example, a request mapping '/aaaa/*/bbb' will be generated as 'GET localhost/aaaa/{{$placeholder}}/bbb'.", + "markdown": "Reports a `$placeholder` inside a request.\n\nA `$placeholder` to be replaced by the user is created automatically when a tool cannot recognize a part of a request. For example, a request mapping `/aaaa/*/bbb` will be generated as `GET localhost/aaaa/{{$placeholder}}/bbb`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpRequestPlaceholder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestRequestSeparatorYamlBodyInspection", + "shortDescription": { + "text": "Missing request separator in YAML body" + }, + "fullDescription": { + "text": "Reports possible requests in injected YAML body where request separator '###' is missing. The quick fix suggests adding the separator '###' before the request.", + "markdown": "Reports possible requests in injected YAML body where request separator `###` is missing. The quick fix suggests adding the separator `###` before the request." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestRequestSeparatorYamlBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 38, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.less", + "version": "241.17570", + "rules": [ + { + "id": "LessUnresolvedVariable", + "shortDescription": { + "text": "Unresolved variable" + }, + "fullDescription": { + "text": "Reports a reference to a Less variable that is not resolved. Example: '* {\n margin: @unknown-var;\n}'", + "markdown": "Reports a reference to a [Less variable](http://lesscss.org/features/#variables-feature) that is not resolved.\n\n**Example:**\n\n\n * {\n margin: @unknown-var;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LessUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 45, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LessResolvedByNameOnly", + "shortDescription": { + "text": "Missing import" + }, + "fullDescription": { + "text": "Reports a reference to a variable or mixin that is declared in another file, which is not explicitly imported in the current file. Example: '* {\n margin: @var-in-other-file;\n}'", + "markdown": "Reports a reference to a variable or mixin that is declared in another file, which is not explicitly [imported](http://lesscss.org/features/#import-atrules-feature) in the current file.\n\n**Example:**\n\n\n * {\n margin: @var-in-other-file;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "LessResolvedByNameOnly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 45, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LessUnresolvedMixin", + "shortDescription": { + "text": "Unresolved mixin" + }, + "fullDescription": { + "text": "Reports a reference to a Less mixin that is not resolved. Example: '* {\n .unknown-mixin();\n}'", + "markdown": "Reports a reference to a [Less mixin](http://lesscss.org/features/#mixins-feature) that is not resolved.\n\n**Example:**\n\n\n * {\n .unknown-mixin();\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LessUnresolvedMixin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 45, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "XPathView", + "version": "241.17570", + "rules": [ + { + "id": "XsltUnusedDeclaration", + "shortDescription": { + "text": "Unused variable or parameter" + }, + "fullDescription": { + "text": "Reports local variables and parameters that are never used.", + "markdown": "Reports local variables and parameters that are never used." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XsltUnusedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 48, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantTypeConversion", + "shortDescription": { + "text": "Redundant type conversion" + }, + "fullDescription": { + "text": "Reports unnecessary type conversions. Type conversions are unnecessary when the argument type of a 'string()', 'number()', or 'boolean()' function is already the same as the function's return type or if the expected expression type is 'any'. Suggests removing the unnecessary conversion.", + "markdown": "Reports unnecessary type conversions. Type conversions are unnecessary when the argument type of a `string()`, `number()`, or `boolean()` function is already the same as the function's return type or if the expected expression type is `any`. Suggests removing the unnecessary conversion." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantTypeConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 77, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IndexZeroUsage", + "shortDescription": { + "text": "XPath predicate with index 0" + }, + "fullDescription": { + "text": "Reports usages of '0' in a predicate index or in a comparison with the function 'position()'. Such usage is almost always a bug because in XPath, the index starts at '1', not at '0'. Example: '//someelement[position() = 0]' or '//something[0]'", + "markdown": "Reports usages of `0` in a predicate index or in a comparison with the function `position()`. Such usage is almost always a bug because in XPath, the index starts at `1`, *not* at `0`.\n\n**Example:**\n\n\n //someelement[position() = 0] or //something[0]\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IndexZeroUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 77, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckNodeTest", + "shortDescription": { + "text": "Unknown element or attribute name" + }, + "fullDescription": { + "text": "Reports names of elements or attributes that are used in an XPath-expression but are missing in the associated XML files and are not defined in the referenced schemas. Such names are often the result of typos and would otherwise probably only be discovered at runtime. Example: '' If the 'h' is bound to the XHTML namespace, the inspection will report this part of the 'match' expression as an unknown element name because the correct name of the element is \"textarea\".", + "markdown": "Reports names of elements or attributes that are used in an XPath-expression but are missing in the associated XML files and are not defined in the referenced schemas. Such names are often the result of typos and would otherwise probably only be discovered at runtime.\n\n**Example:**\n\n\n \n\n\nIf the `h` is bound to the XHTML namespace, the inspection will report this part of the `match` expression as an\nunknown element name because the correct name of the element is \"textarea\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckNodeTest", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 77, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XsltDeclarations", + "shortDescription": { + "text": "Incorrect declaration" + }, + "fullDescription": { + "text": "Reports duplicate declarations and illegal identifiers in XSLT variables, parameters, and named templates:", + "markdown": "Reports duplicate declarations and illegal identifiers in XSLT variables, parameters, and named templates:" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XsltDeclarations", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 48, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XsltVariableShadowing", + "shortDescription": { + "text": "Shadowed variable" + }, + "fullDescription": { + "text": "Reports shadowed XSLT variables.", + "markdown": "Reports shadowed XSLT variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XsltVariableShadowing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 48, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HardwiredNamespacePrefix", + "shortDescription": { + "text": "Hardcoded namespace prefix" + }, + "fullDescription": { + "text": "Reports comparisons of the 'name()' function with a string that contains a colon (':'). Such usages usually indicate a hardcoded namespace prefix in the comparison. As a result, the code will break when run against XML that uses another prefix for the same namespace. Example: '...'", + "markdown": "Reports comparisons of the `name()` function with a string that contains a colon (`:`). Such usages usually indicate a hardcoded namespace prefix in the comparison. As a result, the code will break when run against XML that uses another prefix for the same namespace.\n\n**Example:**\n\n\n ...\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HardwiredNamespacePrefix", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 77, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XsltTemplateInvocation", + "shortDescription": { + "text": "Incorrect template invocation" + }, + "fullDescription": { + "text": "Reports missing arguments, passing arguments that are not declared, and passing arguments for parameters more than once in named XSLT template invocations. Parameters declared with a default value are optional and will not be reported as missing.", + "markdown": "Reports missing arguments, passing arguments that are not declared, and passing arguments for parameters more than once in named XSLT template invocations.\n\n\nParameters declared with a default value are optional and will not be reported as missing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XsltTemplateInvocation", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 48, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ImplicitTypeConversion", + "shortDescription": { + "text": "Implicit type conversion" + }, + "fullDescription": { + "text": "Reports implicit conversions between the predefined XPath-types 'STRING', 'NUMBER', 'BOOLEAN', and 'NODESET'. Helps to write XSLT scripts that are more expressive about types and prevents subtle bugs: Example: '' is not the same as '' The first test checks whether the element \"foo\" exists ('count(foo) > 0)'; the latter one however is only true if the element actually contains any text ('string-length(foo) > 0'). Suggests making the type conversion more explicit. Use the following options to configure the inspection: Enable or disable implicit conversions between certain types Always report explicit conversions that do not result in the actually expected type, for example, '' Ignore conversion from 'NODESET' to 'BOOLEAN' by using the 'string()' function as a shortcut for writing 'string-length() > 0'.", + "markdown": "Reports implicit conversions between the predefined XPath-types `STRING`, `NUMBER`, `BOOLEAN`, and `NODESET`. Helps to write XSLT scripts that are more expressive about types and prevents subtle bugs:\n\n**Example:**\n\n\n \n\nis not the same as\n\n\n \n\n\nThe first test checks whether the element \"foo\" exists (`count(foo) > 0)`; the latter one however is only\ntrue if the element actually contains any text (`string-length(foo) > 0`). Suggests making\nthe type conversion more explicit.\n\n\nUse the following options to configure the inspection:\n\n* Enable or disable implicit conversions between certain types\n* Always report explicit conversions that do not result in the actually expected type, for example, ``\n* Ignore conversion from `NODESET` to `BOOLEAN` by using the `string()` function as a shortcut for writing `string-length() > 0`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ImplicitTypeConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 77, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.php.joomla", + "version": "241.17570", + "rules": [ + { + "id": "FileHeaderInspection", + "shortDescription": { + "text": "Missing @copyright/@license tags" + }, + "fullDescription": { + "text": "Reports the file header DocBlocks that do not contain the '@copyright' and '@license' tags required by the Joomla! DocBlocks standard. See Joomla! Coding Standards (developer.joomla.org) for details.", + "markdown": "Reports the file header DocBlocks that do not contain the `@copyright` and `@license` tags required by the Joomla! DocBlocks standard.\n\n\nSee [Joomla! Coding Standards (developer.joomla.org)](https://developer.joomla.org/coding-standards/docblocks.html) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "FileHeaderInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Joomla!", + "index": 52, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingSinceTagDocInspection", + "shortDescription": { + "text": "Missing @since tag" + }, + "fullDescription": { + "text": "Reports the class, class property, and class method DocBlocks that do not contain the '@since' tag required by the Joomla! DocBlocks standard. See Joomla! Coding Standards (developer.joomla.org) for details.", + "markdown": "Reports the class, class property, and class method DocBlocks that do not contain the `@since` tag required by the Joomla! DocBlocks standard.\n\nSee [Joomla! Coding Standards (developer.joomla.org)](https://developer.joomla.org/coding-standards/docblocks.html) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "MissingSinceTagDocInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Joomla!", + "index": 52, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.php.architecture", + "version": "241.17570", + "rules": [ + { + "id": "PhpComplexClassInspection", + "shortDescription": { + "text": "Complex class should be refactored" + }, + "fullDescription": { + "text": "Reports the classes that are too complex. Class complexity is evaluated based on three metrics: TCC (Tight class cohesion) — the measure of class cohesiveness (more is better). WMC (Weighted Method count) — the sum of cyclomatic complexities for all methods in a class (less is better). ATFD (Access to foreign data) — the number of properties from another class that are accessed in the current class (less is better).", + "markdown": "Reports the classes that are too complex.\n\nClass complexity is evaluated based on three metrics:\n\n* TCC (Tight class cohesion) --- the measure of class cohesiveness (more is better).\n* WMC (Weighted Method count) --- the sum of cyclomatic complexities for all methods in a class (less is better).\n* ATFD (Access to foreign data) --- the number of properties from another class that are accessed in the current class (less is better)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpComplexClassInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpMemberCanBePulledUpInspection", + "shortDescription": { + "text": "Member can be pulled up" + }, + "fullDescription": { + "text": "Reports the class methods and properties that should be pulled up to the parent class or interface.", + "markdown": "Reports the class methods and properties that should be pulled up to the parent class or interface." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpMemberCanBePulledUpInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFeatureEnvyLocalInspection", + "shortDescription": { + "text": "Method has Feature Envy on another class" + }, + "fullDescription": { + "text": "Reports the \"Feature Envy\" code smell. Feature envy is defined as occurring when a method calls methods on another class more times than on the source class. It often indicates that the intended functionality is located in the wrong class. Calls to library classes, parent classes, and contained or containing classes are not counted by this inspection.", + "markdown": "Reports the \"Feature Envy\" code smell. Feature envy is defined as occurring when a method calls methods on another class more times than on the source class. It often indicates that the intended functionality is located in the wrong class.\n\n\nCalls to library classes, parent classes, and contained or containing classes are not counted by this inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpFeatureEnvyLocalInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpClassHasTooManyDeclaredMembersInspection", + "shortDescription": { + "text": "Class has too many declared members" + }, + "fullDescription": { + "text": "Reports the classes that have too many properties or methods.", + "markdown": "Reports the classes that have too many properties or methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpClassHasTooManyDeclaredMembersInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpFunctionCyclomaticComplexityInspection", + "shortDescription": { + "text": "Function has too high cyclomatic complexity" + }, + "fullDescription": { + "text": "Reports the methods that have high cyclomatic complexity and can probably be simplified. See Cyclomatic complexity (wikipedia.org) for details.", + "markdown": "Reports the methods that have high cyclomatic complexity and can probably be simplified.\n\n\nSee [Cyclomatic complexity (wikipedia.org)](https://en.wikipedia.org/wiki/Cyclomatic_complexity) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpFunctionCyclomaticComplexityInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpHalsteadMetricInspection", + "shortDescription": { + "text": "Halstead metric" + }, + "fullDescription": { + "text": "Reports the methods with high Halstead Complexity metric. See Halstead measure (wikipedia.org) for details.", + "markdown": "Reports the methods with high Halstead Complexity metric.\n\n\nSee [Halstead measure (wikipedia.org)](https://en.wikipedia.org/wiki/Halstead_complexity_measures) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpHalsteadMetricInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpComplexFunctionInspection", + "shortDescription": { + "text": "Complex function should be refactored" + }, + "fullDescription": { + "text": "Reports the functions or methods that are too complex. Complexity is evaluated based on four metrics: Lines of code — the number of code lines in a function/method (less is better) Maximum Nesting depth — the maximum number of nested statements in a function/method body (less is better) Cyclomatic complexity — the function/method cyclomatic complexity (less is better) Number of variables — the number of variables used in function/method body", + "markdown": "Reports the functions or methods that are too complex.\n\nComplexity is evaluated based on four metrics:\n\n* Lines of code --- the number of code lines in a function/method (less is better)\n* Maximum Nesting depth --- the maximum number of nested statements in a function/method body (less is better)\n* Cyclomatic complexity --- the function/method cyclomatic complexity (less is better)\n* Number of variables --- the number of variables used in function/method body" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpComplexFunctionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpLackOfCohesionInspection", + "shortDescription": { + "text": "LCOM metric" + }, + "fullDescription": { + "text": "Reports the classes that have high Lack of Cohesion metric value, which represents the degree of cohesiveness of a class. It uses class dependency graph components for class cohesiveness measure (M. Hitz and B. Montazeri definition of LCOM metric)", + "markdown": "Reports the classes that have high Lack of Cohesion metric value, which represents the degree of cohesiveness of a class.\n\n\nIt uses class dependency graph components for class cohesiveness measure (M. Hitz and B. Montazeri definition of LCOM metric)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpLackOfCohesionInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Refactoring opportunities", + "index": 53, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.qodana", + "version": "241.17570", + "rules": [ + { + "id": "JsCoverageInspection", + "shortDescription": { + "text": "Check JavaScript and TypeScript source code coverage" + }, + "fullDescription": { + "text": "Reports methods, classes and files whose coverage is below a certain threshold.", + "markdown": "Reports methods, classes and files whose coverage is below a certain threshold." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsCoverageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Code Coverage", + "index": 59, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpCoverageInspection", + "shortDescription": { + "text": "Check the PHP source code coverage" + }, + "fullDescription": { + "text": "Reports methods, classes and files whose coverage is below a certain threshold.", + "markdown": "Reports methods, classes and files whose coverage is below a certain threshold." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PhpCoverageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Code Coverage", + "index": 59, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "QodanaSanity", + "shortDescription": { + "text": "Sanity" + }, + "fullDescription": { + "text": "Reports issues essential to this file like syntax errors, unresolved methods and variables, etc...", + "markdown": "Reports issues essential to this file like syntax errors, unresolved methods and variables, etc..." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "QodanaSanity", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Qodana", + "index": 90, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.php.behat", + "version": "241.17570", + "rules": [ + { + "id": "BehatDocStepCanBeConvertedToAttributeInspection", + "shortDescription": { + "text": "Behat doc step can be converted to attribute version" + }, + "fullDescription": { + "text": "Reports Behat doc tags that can be replaced with attribute version", + "markdown": "Reports Behat doc tags that can be replaced with attribute version" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BehatDocStepCanBeConvertedToAttributeInspection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Behat", + "index": 61, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.plugins.ini4idea", + "version": "241.17570", + "rules": [ + { + "id": "DuplicateSectionInFile", + "shortDescription": { + "text": "Duplicate section in file" + }, + "fullDescription": { + "text": "Reports duplicate sections in the 'ini' file.", + "markdown": "Reports duplicate sections in the `ini` file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateSectionInFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Ini files", + "index": 63, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateKeyInSection", + "shortDescription": { + "text": "Duplicate directive in section" + }, + "fullDescription": { + "text": "Reports duplicate properties in the 'ini' file section.", + "markdown": "Reports duplicate properties in the `ini` file section." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateKeyInSection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Ini files", + "index": 63, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.php.psalm", + "version": "241.17570", + "rules": [ + { + "id": "PsalmAdvanceCallableParamsInspection", + "shortDescription": { + "text": "Function call is not compatible with 'callable' declaration" + }, + "fullDescription": { + "text": "Reports the parameters in function calls whose types are not compatible with the ones defined via 'Closure'.", + "markdown": "Reports the parameters in function calls whose types are not compatible with the ones defined via `Closure`." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PsalmAdvanceCallableParamsInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Psalm", + "index": 65, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PsalmGlobal", + "shortDescription": { + "text": "Psalm validation" + }, + "fullDescription": { + "text": "Runs Psalm to find code problems. The inspection requires Psalm to be properly installed and set up in the IDE under Settings | PHP | Quality Tools | Psalm. To learn more about installing Psalm, see: https://psalm.dev/docs/running_psalm/installation/", + "markdown": "Runs Psalm to find code problems. \n\nThe inspection requires Psalm to be properly installed and set up in the IDE under [Settings \\| PHP \\| Quality Tools \\| Psalm](settings://settings.php.quality.tools.psalm).\n\nTo learn more about installing Psalm, see:\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PsalmGlobal", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Quality tools", + "index": 73, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.taintAnalysis", + "version": "241.17570", + "rules": [ + { + "id": "PhpTaintFunctionInspection", + "shortDescription": { + "text": "Vulnerabilities scanner" + }, + "fullDescription": { + "text": "Call of this function may be unsafe.", + "markdown": "Call of this function may be unsafe." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpTaintFunctionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Taint analysis", + "index": 67, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PhpVulnerablePathsInspection", + "shortDescription": { + "text": "Vulnerable paths scanner" + }, + "fullDescription": { + "text": "Global taint analysis inspection.", + "markdown": "Global taint analysis inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PhpVulnerablePathsInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Taint analysis", + "index": 67, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.php.blade", + "version": "241.17570", + "rules": [ + { + "id": "BladeUnpairedParenthesesInStringLiteral", + "shortDescription": { + "text": "Parse error due to unpaired parentheses in string literals" + }, + "fullDescription": { + "text": "Reports the unpaired parentheses in string literals that produce blade parser errors. See laravel issue (github.com) for details.", + "markdown": "Reports the unpaired parentheses in string literals that produce blade parser errors.\n\n\nSee [laravel issue (github.com)](https://github.com/laravel/framework/issues/18317) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "BladeUnpairedParenthesesInStringLiteral", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Blade files", + "index": 69, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BladeControlDirectives", + "shortDescription": { + "text": "Control directive missing" + }, + "fullDescription": { + "text": "Reports the Blade control directives that are not closed with the corresponding '@end...' directives. See Blade directives (laravel.com) for details.", + "markdown": "Reports the Blade control directives that are not closed with the corresponding `@end...` directives.\n\n\nSee [Blade directives (laravel.com)](https://laravel.com/docs/blade#blade-directives) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BladeControlDirectives", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Blade files", + "index": 69, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "tanvd.grazi", + "version": "241.17570", + "rules": [ + { + "id": "LanguageDetectionInspection", + "shortDescription": { + "text": "Natural language detection" + }, + "fullDescription": { + "text": "Detects natural languages and suggests enabling corresponding grammar and spelling checks.", + "markdown": "Detects natural languages and suggests enabling corresponding grammar and spelling checks." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LanguageDetectionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 60, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GrazieInspection", + "shortDescription": { + "text": "Grammar" + }, + "fullDescription": { + "text": "Reports grammar mistakes in your text. You can configure the inspection in Settings | Editor | Natural Languages | Grammar.", + "markdown": "Reports grammar mistakes in your text. You can configure the inspection in [Settings \\| Editor \\| Natural Languages \\| Grammar](settings://reference.settingsdialog.project.grazie)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "GrazieInspection", + "ideaSeverity": "GRAMMAR_ERROR", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 60, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.php.dql", + "version": "241.17570", + "rules": [ + { + "id": "PhpDqlBuilderUnknownModelInspection", + "shortDescription": { + "text": "Cannot infer DQL model class to enable completion" + }, + "fullDescription": { + "text": "Reports '$entityManager->createQueryBuilder()->from($model, $expr)' when PhpStorm cannot resolve '$model' to a class.", + "markdown": "Reports `$entityManager->createQueryBuilder()->from($model, $expr)` when PhpStorm cannot resolve `$model` to a class." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PhpDqlBuilderUnknownModelInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Undefined symbols", + "index": 26, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.vue", + "version": "241.17570", + "rules": [ + { + "id": "VueMissingComponentImportInspection", + "shortDescription": { + "text": "Missing component import" + }, + "fullDescription": { + "text": "Reports Vue components, which require to be imported in Vue templates. It provides a quick fix to add the missing import.", + "markdown": "Reports Vue components, which require to be imported in Vue templates. It provides a quick fix to add the missing import." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueMissingComponentImportInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 81, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueUnrecognizedDirective", + "shortDescription": { + "text": "Unrecognized directive" + }, + "fullDescription": { + "text": "Reports an unrecognized Vue directive.", + "markdown": "Reports an unrecognized Vue directive." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueUnrecognizedDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 81, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDuplicateTag", + "shortDescription": { + "text": "Duplicate template/script tag" + }, + "fullDescription": { + "text": "Reports multiple usages of the 'template' or 'script' tag in a Vue file. Vue Component specification indicates that each '*.vue' file can contain at most one 'template' or 'script' block at a time.", + "markdown": "Reports multiple usages of the `template` or `script` tag in a Vue file.\n\n[Vue Component specification](https://vue-loader.vuejs.org/spec.html) indicates that each `*.vue` file can contain at most one `template` or `script` block at a time." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDuplicateTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 81, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDeprecatedSymbol", + "shortDescription": { + "text": "Deprecated symbol" + }, + "fullDescription": { + "text": "Reports a deprecated Vue symbol.", + "markdown": "Reports a deprecated Vue symbol." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDeprecatedSymbol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 81, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDataFunction", + "shortDescription": { + "text": "Data function" + }, + "fullDescription": { + "text": "Reports a Vue component data property that is not a function. Suggests wrapping an object literal with a function. When defining a component, 'data' must be declared as a function that returns the initial data object, because the same definition will be used for creating numerous instances. If a plain object is still used for 'data', that very object will be shared by reference across all instances created! With a 'data' function, every time a new instance is created we can simply call it to return a fresh copy of the initial data.", + "markdown": "Reports a Vue component [data](https://vuejs.org/v2/api/#data) property that is not a function. Suggests wrapping an object literal with a function.\n\nWhen defining a component, `data` must be declared as a function that returns the initial data object, because the same definition will be used for creating numerous instances. If a plain object is still used for `data`, that very object will be shared by reference across all instances created! With a `data` function, every time a new instance is created we can simply call it to return a fresh copy of the initial data." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDataFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 81, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueUnrecognizedSlot", + "shortDescription": { + "text": "Unrecognized slot" + }, + "fullDescription": { + "text": "Reports an unrecognized Vue slot.", + "markdown": "Reports an unrecognized Vue slot." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "VueUnrecognizedSlot", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 81, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.plugins.dependencyAnalysis", + "version": "241.17570", + "rules": [ + { + "id": "CheckThirdPartySoftwareList", + "shortDescription": { + "text": "Check third party software list" + }, + "fullDescription": { + "text": "Check project for possible problems: user's third party software list does not match the collected project metadata", + "markdown": "Check project for possible problems: user's third party software list does not match the collected project metadata" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckThirdPartySoftwareList", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dependency analysis", + "index": 84, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckDependencyLicenses", + "shortDescription": { + "text": "Check dependency licenses" + }, + "fullDescription": { + "text": "Check dependencies licenses for possible problems: missing or prohibited licenses, or other compliance issues", + "markdown": "Check dependencies licenses for possible problems: missing or prohibited licenses, or other compliance issues" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CheckDependencyLicenses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dependency analysis", + "index": 84, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckModuleLicenses", + "shortDescription": { + "text": "Check module licenses" + }, + "fullDescription": { + "text": "Check module licenses for possible problems: missing licenses or other compliance issues", + "markdown": "Check module licenses for possible problems: missing licenses or other compliance issues" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckModuleLicenses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dependency analysis", + "index": 84, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.intelliLang", + "version": "241.17570", + "rules": [ + { + "id": "InjectedReferences", + "shortDescription": { + "text": "Injected references" + }, + "fullDescription": { + "text": "Reports unresolved references injected by Language Injections. Example: '@Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist'", + "markdown": "Reports unresolved references injected by [Language Injections](https://www.jetbrains.com/help/idea/using-language-injections.html).\n\nExample:\n\n\n @Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "InjectedReferences", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 28, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.php.tools.quality.phpstan", + "version": "241.17570", + "rules": [ + { + "id": "PhpStanGlobal", + "shortDescription": { + "text": "PHPStan validation" + }, + "fullDescription": { + "text": "Runs PHPStan to find code problems. The inspection requires PHPStan to be properly installed and set up in the IDE under Settings | PHP | Quality Tools | PHPStan. To learn more about installing PHPStan, see: https://phpstan.org/user-guide/getting-started", + "markdown": "Runs PHPStan to find code problems. \n\nThe inspection requires PHPStan to be properly installed and set up in the IDE under [Settings \\| PHP \\| Quality Tools \\| PHPStan](settings://settings.php.quality.tools.phpstan).\n\nTo learn more about installing PHPStan, see:\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "PhpStanGlobal", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "PHP/Quality tools", + "index": 73, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "intellij.webpack", + "version": "241.17570", + "rules": [ + { + "id": "WebpackConfigHighlighting", + "shortDescription": { + "text": "Webpack config compliance with JSON Schema" + }, + "fullDescription": { + "text": "Validates options in webpack config files (which name should start with `webpack`, e.g. `webpack.config.js`) against webpack options schema. Disable this inspection to turn off validation and code completion inside the configuration object.", + "markdown": "Validates options in webpack config files (which name should start with \\`webpack\\`, e.g. \\`webpack.config.js\\`) against [webpack options schema](https://github.com/webpack/webpack/blob/master/schemas/WebpackOptions.json). \n\nDisable this inspection to turn off validation and code completion inside the configuration object." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "WebpackConfigHighlighting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 24, + "toolComponent": { + "name": "QDPHP" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + } + ] + }, + "invocations": [ + { + "startTimeUtc": "2024-06-06T02:47:10.164545251Z", + "exitCode": 0, + "executionSuccessful": true + } + ], + "language": "en-US", + "versionControlProvenance": [ + { + "repositoryUri": "https://github.com/Neriderc/GVExport.git", + "revisionId": "035cf1372fe1678b3c02a12453bc941f98c03e5b", + "branch": "main", + "properties": { + "repoUrl": "https://github.com/Neriderc/GVExport.git", + "lastAuthorName": "Neriderc", + "vcsType": "Git", + "lastAuthorEmail": "89974636+neriderc@users.noreply.github.com" + } + } + ], + "results": [ + { + "ruleId": "PhpFullyQualifiedNameUsageInspection", + "kind": "fail", + "level": "note", + "message": { + "text": "Qualifier can be replaced with an import", + "markdown": "Qualifier can be replaced with an import" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 234, + "startColumn": 16, + "charOffset": 7801, + "charLength": 1, + "snippet": { + "text": "\\" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 232, + "startColumn": 1, + "charOffset": 7746, + "charLength": 131, + "snippet": { + "text": " * @return ResponseInterface\n *\n * @throws \\JsonException\n */\n public function getJSAction() : ResponseInterface" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c424e239df20fc17", + "equalIndicator/v1": "348b13d368428158934871bd377b3588fc0f95772980409a15bb4aaa7ba0d2fe" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpFullyQualifiedNameUsageInspection", + "kind": "fail", + "level": "note", + "message": { + "text": "Qualifier can be replaced with an import", + "markdown": "Qualifier can be replaced with an import" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 172, + "startColumn": 16, + "charOffset": 5139, + "charLength": 1, + "snippet": { + "text": "\\" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 170, + "startColumn": 1, + "charOffset": 5115, + "charLength": 129, + "snippet": { + "text": "\n /**\n * @throws \\Exception\n */\n public function getChartAction(ServerRequestInterface $request): ResponseInterface" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dedee8418dff7b7e", + "equalIndicator/v1": "55533d5bb5fabc7f90f0085530bf45a2e43fe0fbe7772843005439088e13b34a" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpFullyQualifiedNameUsageInspection", + "kind": "fail", + "level": "note", + "message": { + "text": "Qualifier can be replaced with an import", + "markdown": "Qualifier can be replaced with an import" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 205, + "startColumn": 22, + "charOffset": 6821, + "charLength": 1, + "snippet": { + "text": "\\" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 203, + "startColumn": 1, + "charOffset": 6723, + "charLength": 206, + "snippet": { + "text": " throw new \\Exception(\"Invalid token\");\n }\n } catch (\\Exception $e) {\n $userDefaultVars = $settings->loadUserSettings($this, $tree);\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0523e0c25c3f2867", + "equalIndicator/v1": "99880d914b8f08da081e69007d7d3bca965af92de64c84f9d361db4284545bed" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpFullyQualifiedNameUsageInspection", + "kind": "fail", + "level": "note", + "message": { + "text": "Qualifier can be replaced with an import", + "markdown": "Qualifier can be replaced with an import" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 203, + "startColumn": 31, + "charOffset": 6753, + "charLength": 1, + "snippet": { + "text": "\\" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 201, + "startColumn": 1, + "charOffset": 6676, + "charLength": 161, + "snippet": { + "text": " }\n } else {\n throw new \\Exception(\"Invalid token\");\n }\n } catch (\\Exception $e) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1814c7456fe9604a", + "equalIndicator/v1": "cee721bcbbfcc79008023a79e212c0ec6d9677f08085528932c7f0d8ecb97c46" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpFullyQualifiedNameUsageInspection", + "kind": "fail", + "level": "note", + "message": { + "text": "Qualifier can be replaced with an import", + "markdown": "Qualifier can be replaced with an import" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ImageFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 22, + "charOffset": 2374, + "charLength": 1, + "snippet": { + "text": "\\" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2322, + "charLength": 119, + "snippet": { + "text": " *\n * @param $filepath\n * @return false|\\GdImage|resource\n */\n private function loadImage($filepath)" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7dc8382a3db3aa8f", + "equalIndicator/v1": "e9f8fab44f060b5f96457d38bdd2cf58e6b7b04af6e0108c9c0626bfcdd095e6" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 9, + "charOffset": 5524, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 5507, + "charLength": 173, + "snippet": { + "text": "

\n

\n \n

\n
" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5058c7f1cd9ef683", + "equalIndicator/v1": "00095b788456a0d370bdca3331bb9341bd13e914bc690151f93e6f3feb0af8d6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 328, + "charOffset": 4549, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 4161, + "charLength": 669, + "snippet": { + "text": " \n
\n >\n
>\n
" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d8b305b183c6dd90", + "equalIndicator/v1": "0082bfcf99211e33cc80499cec1ad288410731790e2323c4611d3a8b66ae21f1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 50, + "charOffset": 10184, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 10067, + "charLength": 832, + "snippet": { + "text": "
\n
\n \n 'vars[border_col_type]', 'id' => 'border_col_type', 'selected' => e($vars['border_col_type']), 'options' => MainPage::updateTranslations($settings[\"border_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BORDER_CUSTOM_COLOUR, 'picker_list' => ['indi_border_col' => 'Custom background colour']]]); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da3bc7006b3437f3", + "equalIndicator/v1": "0092b5b907d8aad0d5ce9571adb8a311f27e0e186eeaacd234a6db540d27fc75" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 54, + "charOffset": 2495, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 2397, + "charLength": 404, + "snippet": { + "text": "
\n
\n \n 'vars[shape_sex_other]', 'id' => 'shape_sex_other', 'selected' => e($vars['shape_sex_other']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_custom_options\"])]) ?>\n
" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4dfb626a224a2725", + "equalIndicator/v1": "00962dff4223dae2974bc4db68907ada7d6c2c515710e99a2030fdf00d0151f8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 15, + "charOffset": 624, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 601, + "charLength": 110, + "snippet": { + "text": "\n /**\n * @param ServerRequestInterface $request\n * @param GVExport $module\n * @param Tree $tree" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "265aa25f22a1346b", + "equalIndicator/v1": "0150227a1a602fa81ecfc4fc975d537f9e08d96504274945165f117662d1bbe5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 9, + "charOffset": 713, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 629, + "charLength": 284, + "snippet": { + "text": "
\n

\n \n

\n

" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8adea3b695331f8e", + "equalIndicator/v1": "02102f9de0196dea2677b4e992a20bc85cd1c42db8914e6c9c1a3cd97495800f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 143, + "charOffset": 1801, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1537, + "charLength": 463, + "snippet": { + "text": " let firstRender = ;\n const TREE_NAME = \"name()); ?>\";\n const TREE_FAVORITES_MODULE_ACTIVE = module_service->findByInterface(FamilyTreeFavoritesModule::class)->first() === null || !Auth::isManager($tree) ? \"false\" : \"true\" ?>;\n const MY_FAVORITES_MODULE_ACTIVE = module_service->findByInterface(UserFavoritesModule::class)->first() === null ? \"false\" : \"true\" ?>;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d3d261df73fbbd75", + "equalIndicator/v1": "0226c582c43818bd1f94c5943cff8cdb7c9128e96eabaafa03d3c421f899bf51" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/BrowserRender.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 78, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 82, + "snippet": { + "text": "\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "16d1c3edb9a9d2de", + "equalIndicator/v1": "02785c7b4b1e5399490d60ee3d3baa75363abe1e3e49e4098459bc74aef1d2b3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 183, + "startColumn": 46, + "charOffset": 5607, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 181, + "startColumn": 1, + "charOffset": 5489, + "charLength": 291, + "snippet": { + "text": " $xref = $request->getQueryParams()['xref'];\n } else {\n $xref = $tree->getUserPreference(Auth::user(), UserInterface::PREF_TREE_ACCOUNT_XREF);\n }\n $individual = $this->getIndividual($tree, $tree->significantIndividual(Auth::user(), $xref)->xref());" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f3657e111cf3a47a", + "equalIndicator/v1": "0286ceeaa6da07ab25ae5bd57861d423fc2825ac2089608398a59c57ca5c4864" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 56, + "charOffset": 3025, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 2679, + "charLength": 423, + "snippet": { + "text": "

\n >\n \n
\n
" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "37b359a0835fdfa5", + "equalIndicator/v1": "0294254b6ee4ffa00565764d80ac34f5a1966af2084af799939d414969016676" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ItemsInClippingsCart.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 46, + "charOffset": 886, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 634, + "charLength": 359, + "snippet": { + "text": "
\n >\n \n
\n
" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "18da96583f37db80", + "equalIndicator/v1": "02a7045c33da7347a12aa6ba7f7769749fa53520298c4eacb300bc7f92fdc98b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 74, + "charOffset": 2397, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 2072, + "charLength": 697, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • - \n
  • \n
  • - " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b02b16d52b951945", + "equalIndicator/v1": "02c31c2339ad1c7ef6554efe2bb052a0bffac1f477edc259c6840f696fca2ed2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 56, + "charOffset": 2238, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1923, + "charLength": 630, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • - \n
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ca730be7cc407b7", + "equalIndicator/v1": "033e12ec787880a3a61e2f6939fb14778f22db211527be900e6571d3af15d1f2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 172, + "charOffset": 1220, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 893, + "charLength": 405, + "snippet": { + "text": "
    \n \n \">\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "891f14afebede82d", + "equalIndicator/v1": "0395c7030b8f56c2091273ef633911d3be45fae0810f251f2e9a4402c2f57670" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 9, + "charOffset": 2818, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2691, + "charLength": 395, + "snippet": { + "text": " \n

    \n
    \n

    \n:" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "00b779fc46d6b7be", + "equalIndicator/v1": "039adbcf9edf59ceaaee1d17568c258c81c3486c0b2ff03a67949af2ec6288f6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 26, + "charOffset": 2196, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2091, + "charLength": 177, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Menu;\nuse Fisharebest\\Webtrees\\Services\\ModuleService;\nuse Fisharebest\\Webtrees\\Validator;\nuse Fisharebest\\Webtrees\\View;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d8ee21ca8eb08d61", + "equalIndicator/v1": "03c6c2042e8730481de695e035b8910a587b62d3944c19461e9793a54c1785c1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomRecord'", + "markdown": "Undefined class 'GedcomRecord'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 364, + "startColumn": 38, + "charOffset": 10563, + "charLength": 12, + "snippet": { + "text": "GedcomRecord" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 362, + "startColumn": 1, + "charOffset": 10417, + "charLength": 192, + "snippet": { + "text": "\t\t// group and sort the records\n\t\tuasort($records, static function (GedcomRecord $x, GedcomRecord $y): int {\n\t\t\treturn $x->tag() <=> $y->tag() ?: GedcomRecord::nameComparator()($x, $y);\n\t\t});\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5b499e84953698e6", + "equalIndicator/v1": "03ec4747706f4ee6fd390b4c1d03acd895f6c471a4fe4d0de4e3525cdbc71464" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 9, + "charOffset": 637, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 577, + "charLength": 327, + "snippet": { + "text": "

    \n

    \n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "758d1f986b6a63fe", + "equalIndicator/v1": "0418682774c6d3c2737581ee2a67ebf4d4dcfadece515d8d4d5559598d77f154" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 77, + "charOffset": 3488, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 3117, + "charLength": 1020, + "snippet": { + "text": "

  • - \n
  • \n
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CA"'); ?>\n
  • \n
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CAN"'); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfccbda177982b6f", + "equalIndicator/v1": "041d98a9885e024b23db668c5fe02226ee533a99c0ced3ae9e9970c1c23fd273" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 56, + "charOffset": 4157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 3880, + "charLength": 382, + "snippet": { + "text": " ?>\n >\n \n
  • \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3678c3a8fdc08e48", + "equalIndicator/v1": "044d51633b3db2d7c54d2f6c247b3a786b9ed5ae26eb00dfef1e06b344b918c9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Session'", + "markdown": "Undefined class 'Session'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 339, + "startColumn": 11, + "charOffset": 9765, + "charLength": 7, + "snippet": { + "text": "Session" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 337, + "startColumn": 1, + "charOffset": 9693, + "charLength": 191, + "snippet": { + "text": "\tprivate static function getXrefsInCart(Tree $tree): array\n\t{\n\t\t$cart = Session::get('cart', []);\n\t\t$xrefs = array_keys($cart[$tree->name()] ?? []);\n\t\t// PHP converts numeric keys to integers" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3de99663922d3d8", + "equalIndicator/v1": "0537daf0cf97171a9192efa848322ece26e8a66138c6e0aa935a51520f7a9f3b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 99, + "charOffset": 1092, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 982, + "charLength": 282, + "snippet": { + "text": "
    \n\n
    \n
    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fab427bf03290474", + "equalIndicator/v1": "19d5dbd2ca9a69047505ac369dae76b9d44e0a7b4dead5cc58ddee2d144f2249" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleCustomInterface'", + "markdown": "Undefined class 'ModuleCustomInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 33, + "charOffset": 1767, + "charLength": 21, + "snippet": { + "text": "ModuleCustomInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1650, + "charLength": 244, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\AbstractModule;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleChartInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomTrait;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b48988d3bd5e83dd", + "equalIndicator/v1": "1a29e12693f87de30e67b68863fc0ae51497486e421b24cf6ceadede9be646a5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 43, + "charOffset": 1731, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1524, + "charLength": 491, + "snippet": { + "text": " \n
    \n \n \">\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b4bf6ca120e600be", + "equalIndicator/v1": "1aba270323b74f8f687f5ab7307ccf73e34e99c6c2073eedf1db601cb35bea8e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/OutputFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 78, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 82, + "snippet": { + "text": "\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "58adf07e2993267c", + "equalIndicator/v1": "1af7a9edae843f5056c7a198039d66a32b85401f48493918de270bca518f6ead" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 156, + "startColumn": 42, + "charOffset": 6305, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 154, + "startColumn": 1, + "charOffset": 6218, + "charLength": 135, + "snippet": { + "text": "\n if (isset($vars['use_abbr_name'])) {\n $settings['use_abbr_name'] = I18N::digits($vars['use_abbr_name']);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "205284dd58c4e46d", + "equalIndicator/v1": "1b136b556f6ec70195edb4760115d24aa86b6ecbe15f04e71b7a649fbf033082" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseInterface'", + "markdown": "Undefined class 'ResponseInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 268, + "startColumn": 70, + "charOffset": 9231, + "charLength": 17, + "snippet": { + "text": "ResponseInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 266, + "startColumn": 1, + "charOffset": 9121, + "charLength": 183, + "snippet": { + "text": " * @return ResponseInterface\n */\n public function getAdminAction(ServerRequestInterface $request): ResponseInterface\n {\n $this->layout = 'layouts/administration';" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0472fce8e34640ba", + "equalIndicator/v1": "1b863a62d9f1a4e7d0bb32116edf630eda9dae74484700c652ecc31d94d66351" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 102, + "charOffset": 4515, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 4370, + "charLength": 328, + "snippet": { + "text": " }\n if ($images_enabled) { ?>\n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f205b635646fb967", + "equalIndicator/v1": "1c09b3bc71eeb515b85600078d1f3ac92967eb2bf86302122d19abd91ce7d35f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 35, + "charOffset": 2070, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1763, + "charLength": 387, + "snippet": { + "text": " \n \">\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "787a3522babed829", + "equalIndicator/v1": "1c24f8e5c21bab28858928bd47d4c10de4e70302fafdfa0e5d0914649fda31af" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 59, + "charOffset": 6124, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 5996, + "charLength": 467, + "snippet": { + "text": "
    \n
    \n \n \">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d41fcd542d569860", + "equalIndicator/v1": "1c35b7feae85ed09658990ab766dd6d269c6c3f8024cc512e26f0fe2d444d484" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 45, + "charOffset": 2317, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 2130, + "charLength": 398, + "snippet": { + "text": " \"Unable to load setting\":\"\",\n \"Invalid JSON\":\"\",\n \"Login expired. Reloading page...\":\"\",\n \"Update successful\":\"\",\n \"Enter new setting name\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e9f28dbe80a97411", + "equalIndicator/v1": "1d2f6f25c12a50b2f0fe2767b558e2e5f815197243239bf5ef862f5da50574b0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 337, + "startColumn": 44, + "charOffset": 16852, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 335, + "startColumn": 1, + "charOffset": 16752, + "charLength": 195, + "snippet": { + "text": " }\n if (isset($vars['indi_tile_shape'])) {\n $settings['indi_tile_shape'] = I18N::digits($vars['indi_tile_shape']);\n }\n if (isset($vars['shape_sex_male'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c571616a3fb0f75b", + "equalIndicator/v1": "1d95d65f23318092026dcfeb4cb2b4a4eaf8eee297c9b77f07eb7b5a578572a4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Date'", + "markdown": "Undefined class 'Date'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 26, + "charOffset": 106, + "charLength": 4, + "snippet": { + "text": "Date" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 129, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Age;\nuse Fisharebest\\Webtrees\\Date;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e810db2115c058b", + "equalIndicator/v1": "1db5f71a045f2650c2c050e35f44b4d30540cabb7c911c4dbea2db6ccbfe45c2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'MediaFile'", + "markdown": "Undefined class 'MediaFile'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 413, + "startColumn": 13, + "charOffset": 12126, + "charLength": 9, + "snippet": { + "text": "MediaFile" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 411, + "startColumn": 1, + "charOffset": 12076, + "charLength": 143, + "snippet": { + "text": "\t *\n\t * @param Individual $individual\n\t * @return MediaFile|null\n\t */\n\tprivate function preferedPhotoInCart(Individual $individual): ?MediaFile" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8335f1f92a380242", + "equalIndicator/v1": "1ddde16c03c6e451ca0254b1998106858d79b78bfdfd49317c029130f4758e70" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 58, + "startColumn": 36, + "charOffset": 2106, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 56, + "startColumn": 1, + "charOffset": 2031, + "charLength": 117, + "snippet": { + "text": "\n if (isset($vars[\"mclimit\"])) {\n $settings['mclimit'] = I18N::digits($vars[\"mclimit\"]);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5f30c7b1e951c47", + "equalIndicator/v1": "1dffcaa53153e69eab04831208380ca0d94cc220205ec50762b32e0ed67bce2c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/About GVExport.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 399, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 386, + "charLength": 1800, + "snippet": { + "text": "\n

    \n

    Some fields have an icon i next to them, clicking this will give you some more information about that field.

    Advanced configurations are possible by toggling advanced settings by clicking the "Toggle advanced settings" option at the end of each section. Clicking the ⛶ in the top right corner of the browser rendering will display the browser rendering in full screen. Clicking the magnifying glass allows you to search the diagram for an individual.

    You can also use the webtrees "Clippings Cart" feature to select records, which GVExport can then use instead of the "People to be included" settings.

    There are several buttons that take action based on the settings that you have chosen:

    • Update: Clicking this updates the browser render (this is hidden if auto-update is enabled).
    • Download: Clicking this will download the diagram in the format chosen in the "Output file type" option.
    • Reset: Clicking this will reset the settings to the default values. Default values can be changed by an administrator in the webtrees Control Panel.
    • Help: Shows this help message.

    For more information, see the GVExport Wiki.

    You can also ask a question, provide feedback, or suggest features on our GitHub page. Just - \n

  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e4c0f4f2fcb57031", + "equalIndicator/v1": "1f8b8928c5a54076ed119633881a9f4be70036b35b82210d14e1a3116ec65f37" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 413, + "startColumn": 17, + "charOffset": 15073, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 411, + "startColumn": 1, + "charOffset": 15010, + "charLength": 353, + "snippet": { + "text": " private function getSharedNoteForm()\n {\n $vars = Validator::parsedBody($this->request)->array('vars');\n $this->response_data['success'] = true;\n $this->response_data['response'] = view($this->module->name() . '::MainPage/Appearance/TileDesign/SharedNote', ['vars' => $vars, 'tree' => $this->tree, 'module' => $this->module]);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2002f04dfac0d59f", + "equalIndicator/v1": "1fed0ab240e22537b13896a516bfea6d9225e828c5f0051c6438930640cdf00a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 38, + "charOffset": 13910, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 13796, + "charLength": 301, + "snippet": { + "text": " }\n if ($count == 0) {\n echo I18N::translate('No styles set based on shared notes.');\n } else {\n echo I18N::translate('%s shared note styles saved.', $count);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "69765b6ae90f05ab", + "equalIndicator/v1": "202070a9bd40577f925da349df86ff8eae3f19b1cca3c4afac10bd27571eb71c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 46, + "charOffset": 1150, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 966, + "charLength": 689, + "snippet": { + "text": "
    \n
    \n \n 'vars[indi_tile_shape]', 'id' => 'indi_tile_shape', 'selected' => e($vars['indi_tile_shape']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_options\"])]) ?>\n
    >" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a3213772c4575ea2", + "equalIndicator/v1": "20fd8c0ded7a51f8e53af576ad303875d06e078a3619a806a1fa210b191649a8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 33, + "charOffset": 1534, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1396, + "charLength": 436, + "snippet": { + "text": " \"Cancel\":\"\",\n \"Overwrite\":\"\",\n \"Individual not found\":\"\",\n \"Diagram will be rendered in browser as server doesn't support photo shapes\":\"\",\n \"Message history\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "930b433d79d3a363", + "equalIndicator/v1": "2179ffeafffe8c7164c0e89a2fb6020bf8b1500266d011783b0a83e64f37fea0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramType.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 49, + "charOffset": 820, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 579, + "charLength": 326, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eeae94bcb0b495fd", + "equalIndicator/v1": "2186853730241c56a3739443391cd200244c5ae3d12dabddfecee6a7f54bc452" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 645, + "startColumn": 15, + "charOffset": 27512, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 643, + "startColumn": 1, + "charOffset": 27460, + "charLength": 92, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @return string\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "58b3e389b3267df0", + "equalIndicator/v1": "21a2143cb5d98bd07f41030cd8aae6ea01325e30c1040087d2065f24e49a1099" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 303, + "startColumn": 37, + "charOffset": 9077, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 301, + "startColumn": 1, + "charOffset": 9019, + "charLength": 118, + "snippet": { + "text": "\t * @return bool\n\t */\n\tpublic static function isCartEmpty(Tree $tree): bool\n\t{\n\t\t$cart = Session::get('cart', []);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "54738a7e628fc0f8", + "equalIndicator/v1": "22d91466bda0525179828c07626ea1ccb4bda1ad22c0151299d57253de4f9ff7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 152, + "startColumn": 43, + "charOffset": 6169, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 150, + "startColumn": 1, + "charOffset": 6080, + "charLength": 138, + "snippet": { + "text": "\n if (isset($vars['use_abbr_place'])) {\n $settings['use_abbr_place'] = I18N::digits($vars['use_abbr_place']);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e5a419b0e41bef9", + "equalIndicator/v1": "22ecc3b7647862bab3ba53d16cd362c7f1a0c46ae9973769302e74634f2e4b28" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/HelpHeader.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 26, + "charOffset": 160, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 130, + "charLength": 78, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\Help;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30e1e44022f8ec97", + "equalIndicator/v1": "23568a1414359c8e0a752645370bb3985c58a087a0e8ac16531c238373fdc66e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/ColourPickerList.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 77, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 129, + "snippet": { + "text": "id() == Settings::GUEST_USER_ID) {\n $this->setFailResponse('Not logged in', 'E15');\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3fb6fbc837c9f2ea", + "equalIndicator/v1": "239e80eacbda2c7dab07803eccc70b61703916e4b01c1a0165f38e0600969f58" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/HelpHeader.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 96, + "charOffset": 596, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 399, + "charLength": 303, + "snippet": { + "text": " $breadcrumbs = array_filter($location_array);\n foreach ($breadcrumbs as $key => $breadcrumb) {\n echo '' . I18N::translate($breadcrumb) . '';\n if (array_key_last($breadcrumbs) != $key) echo ' › ';\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42319ee3d3c5b4c3", + "equalIndicator/v1": "23b78c53564e2b094af2ef0426e886076a1fc07daf64c80709afad50f199fdcc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 384, + "startColumn": 48, + "charOffset": 18953, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 382, + "startColumn": 1, + "charOffset": 18845, + "charLength": 239, + "snippet": { + "text": " }\n if (isset($vars['settings_sort_order'])) {\n $settings['settings_sort_order'] = I18N::digits($vars['settings_sort_order']);\n }\n $settings['show_diagram_panel'] = isset($vars['show_diagram_panel']);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf4570ffc5083aee", + "equalIndicator/v1": "241ba252010296a89a39450e6da3ac321abfb904dfbdeef7513902add8238644" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 9, + "charOffset": 6009, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 5992, + "charLength": 174, + "snippet": { + "text": "

    \n

    \n \n

    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e15d8141256a7a99", + "equalIndicator/v1": "245065c63cb10f4573d18a0e2bbb4ffa1dc71a3f297d4e80743a54dabf9d007c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 191, + "charOffset": 2509, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 2301, + "charLength": 309, + "snippet": { + "text": "
    \n
    \n
    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fe7fa7aa59b18dee", + "equalIndicator/v1": "247133fdbbd5cb3bf10095769d89d031243c7ce974564837a39c0099caa8e70a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 123, + "startColumn": 52, + "charOffset": 9137, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 121, + "startColumn": 1, + "charOffset": 8879, + "charLength": 367, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "51a7f9afc345f3ab", + "equalIndicator/v1": "24e7dd8d2587b669505d63a360d4ab671eac517e9faab117b7e2316053c5655b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 13, + "charOffset": 1755, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1317, + "charLength": 858, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6552e3dbe1194770", + "equalIndicator/v1": "24f235571619efa8a94937f989eac7cc7a0c0e20f70dd44bf31c0e946d48c051" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 90, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 155, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\nuse Exception;\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Validator;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d7bd5ce3a131cda3", + "equalIndicator/v1": "25f81709e2142d2ebb5315fee07fd5497a00cc3a9962b532b00aaa45c7321342" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 352, + "startColumn": 43, + "charOffset": 10069, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 350, + "startColumn": 1, + "charOffset": 10004, + "charLength": 126, + "snippet": { + "text": "\t * @return array\n\t */\n\tprivate static function getRecordsInCart(Tree $tree): array\n\t{\n\t\t$xrefs = self::getXrefsInCart($tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3829d67f59d84223", + "equalIndicator/v1": "262dcbd3813db4a15e88a77d4fe4aef00d198e75f96c16e5ce932a5d433ecc8e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 69, + "charOffset": 1831, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1695, + "charLength": 421, + "snippet": { + "text": "
    \n
    \n \n \">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c931a752c008c79", + "equalIndicator/v1": "263a86ec19d63dcb1f1c604b5d1f4d4372fcdcaf4f3983d43177624a60b533a4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 9, + "charOffset": 678, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 664, + "charLength": 196, + "snippet": { + "text": "

    \n\n

    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "82fa100ee72ba7f6", + "equalIndicator/v1": "2650bccc1b94bc3b627e121232d4916d5baf3687efa17bf168a1868b3ae89a37" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 13, + "charOffset": 1913, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1750, + "charLength": 213, + "snippet": { + "text": " var array $messages = array(); // messages for toast system\n\tprivate const ERROR_CHAR = \"E:\"; // Messages that start with this will be highlighted\n private Tree $tree;\n public string $debug_string = \"\";\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c3919622a49e26e5", + "equalIndicator/v1": "26768a7174b041bc57f5db5f237c6e1e8945bb88eefd91652368c866d540e36a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 26, + "charOffset": 107, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 158, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9bcf25200902ae9d", + "equalIndicator/v1": "26df46d163f7f398ce1866477b824f2fb6d84f1b0509474da758c02a7bea310e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 76, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 79, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d027c907d058dd9e", + "equalIndicator/v1": "277cffa25aa6c10db0670acbdb84ba73915c332ab401c39385963d0d7c1672b5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleConfigInterface'", + "markdown": "Undefined class 'ModuleConfigInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 33, + "charOffset": 1977, + "charLength": 21, + "snippet": { + "text": "ModuleConfigInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 1844, + "charLength": 246, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Module\\ModuleCustomTrait;\nuse Fisharebest\\Webtrees\\Module\\ModuleChartTrait;\nuse Fisharebest\\Webtrees\\Module\\ModuleConfigInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleConfigTrait;\nuse Fisharebest\\Webtrees\\FlashMessages;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53fa2a6c18d56247", + "equalIndicator/v1": "27b762f391b1b57fa16c1da899de8569051fa694de6f124ed8b0202808ff3865" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 22, + "charOffset": 2401, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 2234, + "charLength": 327, + "snippet": { + "text": "

    \n
    \n
    :
    \n
    ()
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "231b2e79196620d0", + "equalIndicator/v1": "27e0cd2d6799b5ecbc915e2a56dfff1da24051200509a005c8834ef20b7581d5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/XREFs of included individuals.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 394, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 381, + "charLength": 265, + "snippet": { + "text": "\n

    \n \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "89cb625be58747d3", + "equalIndicator/v1": "28135a09fe95e479090570413e97dff6f6e8deaae8f37a2b23913360fad003a8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 97, + "charOffset": 931, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 735, + "charLength": 369, + "snippet": { + "text": "\n
    \n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d3577a6a10a276cd", + "equalIndicator/v1": "29704522455401371fbd67e03c4bbb8124c51cd8c1dc02bf722b795da00a3e44" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 49, + "charOffset": 2726, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 2484, + "charLength": 330, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "540cf9fbcdaf8c5e", + "equalIndicator/v1": "2992decee3c4bb16533ce279bdb9c27d81d75f62ff593f8b6bc396964e9c3876" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 158, + "startColumn": 36, + "charOffset": 4545, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 156, + "startColumn": 1, + "charOffset": 4440, + "charLength": 219, + "snippet": { + "text": "\t * @param string $partnerType self::ID_HUSBAND or self::ID_WIFE\n\t */\n\tprivate function addDummyPartner (Family $family, string $partnerType) {\n\t\tif ($partnerType == self::ID_HUSBAND) {\n\t\t\t$partner = $family->husband();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cda3c62ac9e5631c", + "equalIndicator/v1": "299f4f9ac6ba1233e6efd994771a5b26046d928741c9db4ea698ba665dbe78ae" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 9, + "charOffset": 4166, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 4148, + "charLength": 734, + "snippet": { + "text": "\n

    \n Datahub but has been modified as for example the original CLDR name for the United Kingdom is "UK", and the original CLDR name for the United States is "US". Matching against these countries for the purposes of abbreviation is therefore pointless. So changes have been made to make this work better. Please open an issue on GitHub if you find a country is not abbreviating correctly.'); ?>\n

    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "99ed2e3fc2d4af86", + "equalIndicator/v1": "29aff63cac9bae93dc2734433f637bf38925f14615d6ca39cb9ad172a4f007c6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 231, + "startColumn": 45, + "charOffset": 7278, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 229, + "startColumn": 1, + "charOffset": 7203, + "charLength": 172, + "snippet": { + "text": "\t * @param Family $family\n\t */\n\tprivate function addInfoForExistingFamily (Individual $individual, Family $family) {\n\t\t$pid = $individual->xref();\n\t\t$fid = $family->xref();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df2d333ba7248807", + "equalIndicator/v1": "29da4ff8bb4474a8b4913d29fd2f793ccbedc676f2596af5380e6030f86dcf2f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'UserFavoritesModule'", + "markdown": "Undefined class 'UserFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 33, + "charOffset": 241, + "charLength": 19, + "snippet": { + "text": "UserFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 113, + "charLength": 180, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;\nuse Fisharebest\\Webtrees\\Tree;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df2bd011c9f89838", + "equalIndicator/v1": "2a159d965bdeef2960970951c2bfd687dd6d9153ee9bf951584303b01a4cd2ae" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 46, + "charOffset": 6914, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 6706, + "charLength": 923, + "snippet": { + "text": "
    \n
    \n \n 'vars[bg_col_type]', 'id' => 'bg_col_type', 'selected' => e($vars['bg_col_type']), 'options' => MainPage::updateTranslations($settings[\"bg_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_CUSTOM_COLOUR, 'picker_list' => ['indi_background_col' => 'Custom background colour']]]); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "71925475d9be30e5", + "equalIndicator/v1": "2a508f34fc346ae9b2bd516ccfc1cb392b813ecf8c7f9a5b6f3961605f8e99ce" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Fact'", + "markdown": "Undefined class 'Fact'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 26, + "charOffset": 1255, + "charLength": 4, + "snippet": { + "text": "Fact" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1186, + "charLength": 150, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\Fact;\nuse Fisharebest\\Webtrees\\GedcomRecord;\nuse Fisharebest\\Webtrees\\Individual;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8c23523109f53687", + "equalIndicator/v1": "2a76809d9cdbd1febe7ccc05606d6ab3a7c68c0cc1a272e7a098cba08105c49f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 265, + "startColumn": 15, + "charOffset": 9089, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 263, + "startColumn": 1, + "charOffset": 9066, + "charLength": 95, + "snippet": { + "text": "\n /**\n * @param ServerRequestInterface $request\n * @return ResponseInterface\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d3c0240f2aeaaf30", + "equalIndicator/v1": "2adc6113ce8364fc011629aa1affbd570d65b35501df3085213ed522df6101f0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 207, + "startColumn": 125, + "charOffset": 21736, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 205, + "startColumn": 1, + "charOffset": 21486, + "charLength": 325, + "snippet": { + "text": " \n
    \n \">\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8c5d706e732d8e35", + "equalIndicator/v1": "2aed7ca96914f66760e5775713b8a07edfd2b9ef8eb00ad1382f5157de8df950" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Webtrees'", + "markdown": "Undefined class 'Webtrees'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 420, + "startColumn": 8, + "charOffset": 14590, + "charLength": 8, + "snippet": { + "text": "Webtrees" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 418, + "startColumn": 1, + "charOffset": 14580, + "charLength": 42, + "snippet": { + "text": "}\n\nreturn Webtrees::make(GVExport::class);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "14c7a2bb52463ef5", + "equalIndicator/v1": "2b24579fc8f384a397a58b4ebe4e7e0abacf4cbded7da7bad115118ed29ed8f4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 165, + "startColumn": 198, + "charOffset": 17854, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 163, + "startColumn": 1, + "charOffset": 17075, + "charLength": 1016, + "snippet": { + "text": " )\" id=\"highlight_start_indis\" value=\"true\" >\n
    >\n \" />\n \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a5e3c6d5e84ce2f", + "equalIndicator/v1": "2b6f2b9f84ec01e24a1914ff7ad52f2b7355b139e4feb6da9e339a37cf1a8603" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleChartInterface'", + "markdown": "Undefined class 'ModuleChartInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 177, + "startColumn": 43, + "charOffset": 5341, + "charLength": 20, + "snippet": { + "text": "ModuleChartInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 175, + "startColumn": 1, + "charOffset": 5245, + "charLength": 186, + "snippet": { + "text": " {\n $tree = $request->getAttribute('tree');\n Auth::checkComponentAccess($this, ModuleChartInterface::class, $tree, Auth::user());\n\n assert($tree instanceof Tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70757437a69d8254", + "equalIndicator/v1": "2b7c1f1cfc84f281302301d5da3445824399ec538a6dd6734e401d75411e3c1d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 291, + "startColumn": 37, + "charOffset": 10028, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 289, + "startColumn": 1, + "charOffset": 9951, + "charLength": 187, + "snippet": { + "text": " * @return ResponseInterface\n */\n public function postAdminAction(ServerRequestInterface $request): ResponseInterface\n {\n $params = (array) $request->getParsedBody();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9530a98e3ad5cde7", + "equalIndicator/v1": "2bff4256aeb25f52ed82c695b14f928fdc4cf3ef7398fd76f3cc0c8668022e4d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/AgeColourSubgroup.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 153, + "charOffset": 1849, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 1551, + "charLength": 344, + "snippet": { + "text": "
    \n \n ]\" id=\"\" value=\"\">\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "783a0041bf2075a6", + "equalIndicator/v1": "2c089ac045e8192c32b4369be0d61848d2c47271ce7fe7705872e8fed61da862" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/OutputFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 34, + "charOffset": 646, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 513, + "charLength": 494, + "snippet": { + "text": "\n
    \n \n 'vars[output_type]', 'id' => 'output_type', 'selected' => e($vars['output_type']), 'options' => $otypes]) ?>\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42a17bcf6c3584f1", + "equalIndicator/v1": "2c9a67591049ba9eee888a67a0fe894787cb4ed123f08bdddae47fef24e00df4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'StreamFactoryInterface'", + "markdown": "Undefined class 'StreamFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 23, + "charOffset": 1244, + "charLength": 22, + "snippet": { + "text": "StreamFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1178, + "charLength": 263, + "snippet": { + "text": " */\n public function getResponse() {\n $stream = app(StreamFactoryInterface::class)->createStream(json_encode($this->response_data));\n $response_factory = app(ResponseFactoryInterface::class);\n return $response_factory->createResponse()" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4c27ba7d79e8baef", + "equalIndicator/v1": "2d2f2ca3709c38ec289485262d0ea9cfb1925db54184d02aed84e00cd02a87c0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 318, + "startColumn": 48, + "charOffset": 15970, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 316, + "startColumn": 1, + "charOffset": 15862, + "charLength": 213, + "snippet": { + "text": " }\n if (isset($vars['indi_border_age_low'])) {\n $settings['indi_border_age_low'] = I18N::digits($vars[\"indi_border_age_low\"]);\n }\n if (isset($vars['indi_border_age_high'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9fad372908cf9833", + "equalIndicator/v1": "2d96c005c469a757a0c48b017bd75be475487c65013bdfcb0bfe2ee8b0c3b688" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 28, + "charOffset": 1792, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 1502, + "charLength": 708, + "snippet": { + "text": " \"Individual not found\":\"\",\n \"Diagram will be rendered in browser as server doesn't support photo shapes\":\"\",\n \"Message history\":\"\",\n \"Your browser does not support exporting images this large. Please reduce number of records, reduce DPI setting, or use SVG option.\":\"\",\n \"Unable to load setting\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1dbb712e9a7ef2e6", + "equalIndicator/v1": "2d982e677d1c5c7159d6e1ec3a6ca65b5aca4a1ec0dc88cc03f6019cf200d17c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 737, + "startColumn": 115, + "charOffset": 30847, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 735, + "startColumn": 1, + "charOffset": 30690, + "charLength": 367, + "snippet": { + "text": " return false;\n } else {\n $settings_pref_name = self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id();\n $loaded = $this->settings_json_cache[$settings_pref_name] ?? $module->getPreference($settings_pref_name, \"preference not set\");\n if ($loaded == \"preference not set\") {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "032cf04b8d74f01f", + "equalIndicator/v1": "2da886d0541a55dadc79aa190eb5d41368b0511855074d360ec53e284e743028" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 17, + "charOffset": 1437, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1325, + "charLength": 306, + "snippet": { + "text": " \n \n

    \n
    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a81aba9a9dd78d32", + "equalIndicator/v1": "2ea2cf7d67a51e3be25cbdda2d8c0dd1380b144840063d55e2b825a1223e4a31" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 206, + "charOffset": 5036, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 4623, + "charLength": 765, + "snippet": { + "text": "
    >\n
    \n \" />\n \" />\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d011b600f32fb808", + "equalIndicator/v1": "2eba10930a3214d9570a17f230503e72a29d7bb5bccfe258479f2bdf0dc33acb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ItemsInClippingsCart.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 84, + "snippet": { + "text": "\",\n \"Source individual has replaced existing individual\":\"\",\n \"One new source individual added to %s existing individuals\":\"\",\n \"Cancel\":\"\",\n \"Overwrite\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "36642cfd824f1ff2", + "equalIndicator/v1": "2ee488656ee189091cf70b9c91340770b3f1a306e3f29d6bfeae6935dc99a924" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 317, + "startColumn": 44, + "charOffset": 9365, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 315, + "startColumn": 1, + "charOffset": 9300, + "charLength": 120, + "snippet": { + "text": "\t * @return bool\n\t */\n\tpublic static function isIndividualInCart(Tree $tree): bool\n\t{\n\t\tif (!self::isCartEmpty($tree)) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0c065ed9f6b1587a", + "equalIndicator/v1": "2fafaeeb72a35a59e2b5b13025ab9d8f430c98bd549a8594453e2ee5014bc77f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 115, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 118, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Individual;\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4da4fd99654d8a4e", + "equalIndicator/v1": "2fc3fa280acd2aa6611d254ac073cb0ea11e865692cbc13e798ec02959621bac" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'FlashMessages'", + "markdown": "Undefined class 'FlashMessages'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 299, + "startColumn": 13, + "charOffset": 10428, + "charLength": 13, + "snippet": { + "text": "FlashMessages" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 297, + "startColumn": 1, + "charOffset": 10314, + "charLength": 268, + "snippet": { + "text": " if ($params['save'] === '1') {\n (new Settings())->saveAdminSettings($this, $vars);\n FlashMessages::addMessage(I18N::translate('The preferences for the module “%s” have been updated.',\n $this->title()), 'success');\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9565fc1d518ed4bb", + "equalIndicator/v1": "2fe785d11199c1187c90c83fb5a6a5e5661d57eab46e7e18e8e44c45505795aa" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/BrowserRender.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 18, + "startColumn": 44, + "charOffset": 805, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 16, + "startColumn": 1, + "charOffset": 650, + "charLength": 475, + "snippet": { + "text": " \n
    \n \n 'vars[click_action_indi]', 'id' => 'click_action_indi', 'selected' => I18N::digits($vars['click_action_indi']), 'options' => MainPage::updateTranslations($settings[\"click_action_indi_options\"])]) ?>\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db9bf633f98e34d0", + "equalIndicator/v1": "3058ac9930ca77d6e4418a278d49d36d39fce35a8a468b5041ff1b77b9b744d1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 13, + "charOffset": 2336, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 2072, + "charLength": 697, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • - \n
  • \n
  • - " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "78a0967bd12313e1", + "equalIndicator/v1": "307d7fcc2a5710db11d73710ac1effa1c74c0cd93c48fabfd36e7647fcf680d3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6c86f5a4b9282547", + "equalIndicator/v1": "30a6b2320c20f2396a141c6bc53637614d85e0cef4d07b78264c6c26f9921c40" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseFactoryInterface'", + "markdown": "Undefined class 'ResponseFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/OutputFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 22, + "charOffset": 210, + "charLength": 24, + "snippet": { + "text": "ResponseFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 143, + "charLength": 94, + "snippet": { + "text": "\nuse Psr\\Http\\Message\\StreamFactoryInterface;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1eb1255151564385", + "equalIndicator/v1": "31e3aa3a80634f4fc0d84d2dfdf122fc782efde559fcd910e1187adcf6467068" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 98, + "charOffset": 1705, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1097, + "charLength": 1428, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "36087b5a4029edcc", + "equalIndicator/v1": "327c796769381a2e6d9d5d6fd55b8c528153287f96b0f94e1f81fcdfe67320eb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 210, + "startColumn": 206, + "charOffset": 22017, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 208, + "startColumn": 1, + "charOffset": 21775, + "charLength": 313, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "22d60848aeed2254", + "equalIndicator/v1": "3311d059a734e43040837d5420193bd27c3337c24dd4dac05ce1421bbe4a5fe1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/AgeColourSubgroup.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 59, + "charOffset": 1306, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 1210, + "charLength": 340, + "snippet": { + "text": "\n
    \n \n ]\" id=\"\" value=\"\">\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd1c8f1f9ce8a7ee", + "equalIndicator/v1": "333d164b68931ed3fc8f14c1c0a62f3750d1ce8658d32aa428ee116a8d268f6b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Connections to include.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "953c383e09f8607e", + "equalIndicator/v1": "335be08cae0e7931418a2c4a1e20ca7a543dc767f0819461499a9a98f196ecba" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 53, + "charOffset": 3827, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 3439, + "charLength": 696, + "snippet": { + "text": " \n 'vars[shape_vital_dead]', 'id' => 'shape_vital_dead', 'selected' => e($vars['shape_vital_dead']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_custom_options\"])]) ?>\n \n 'vars[shape_vital_living]', 'id' => 'shape_vital_living', 'selected' => e($vars['shape_vital_living']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_custom_options\"])]) ?>\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a7e1042924a2b340", + "equalIndicator/v1": "33849daf2cfcad62bebe7430537a61c62f4a05c37778d8b2ea87e6e08ab065b0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 19, + "charOffset": 116, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 42, + "charLength": 215, + "snippet": { + "text": "" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "10a3babc1c36fe79", + "equalIndicator/v1": "49b8432f32728dda71a9eb0a8d07ca34a55c07b4e2a46e88ee0216a857ad71a8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Saved diagrams.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 398, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 385, + "charLength": 185, + "snippet": { + "text": "\n

    \n \n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "146011b035c193c6", + "equalIndicator/v1": "4a056513610de24488428132916f1ef1028e984848dca0305c3017d1e071c994" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 9, + "charOffset": 754, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 744, + "charLength": 140, + "snippet": { + "text": "\n\n

      \n

      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cf02ad3707b725fd", + "equalIndicator/v1": "4a0958c4f25ab74c9b3ed52475a37e694b0199dc8c0af9abf1b4e35d14d6b0c8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Treatment of source individuals.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 405, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 392, + "charLength": 980, + "snippet": { + "text": "\n

      \n

      The options behave as follows:

      • Default - if there is only one record in the starting individuals list, it will be overwritten. Otherwise, the new individual will be added to the list.
      • Add to list - The individual is always added to the list of starting individuals.
      • Don't add to list - Ignore the individual.
      • Overwrite - Clear the list of starting individuals and only add the new individual to the list.

      Individual record

      The individual provided is decided by webtrees. If you select GVExport while on the page of an individual, this individual is provided to GVExport. When you come from another page, if the tree has a default individual this person is provided, otherwise the first individual in the tree is provided.'); ?>\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ab1ebcd036358ef", + "equalIndicator/v1": "4a296e2be9c5d31beba866c11360238853cff4569c05b9833fa8698b2901b7ff" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SaveSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 122, + "charOffset": 685, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 518, + "charLength": 432, + "snippet": { + "text": "
    \n
    \n \">\n
    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6e62aa111ec45bec", + "equalIndicator/v1": "4b7a91d33e93504e6f1e0ffaae8b238514903adb5400b000c8b4ca3d3f861630" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 235, + "startColumn": 52, + "charOffset": 10802, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 233, + "startColumn": 1, + "charOffset": 10686, + "charLength": 229, + "snippet": { + "text": " }\n if (isset($vars['indi_background_age_low'])) {\n $settings['indi_background_age_low'] = I18N::digits($vars[\"indi_background_age_low\"]);\n }\n if (isset($vars['indi_background_age_high'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1f07a976dbab5c51", + "equalIndicator/v1": "4b8ca3515487479de536f6bdc6387566bda0d6a28f0884e09b97efd848fb100d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 9, + "charOffset": 5247, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 5178, + "charLength": 206, + "snippet": { + "text": "
    \n

    \n \n

    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0cccedab9aa291ba", + "equalIndicator/v1": "4ba7194edb03ade66c651d7fb2e10660041e65e2f3798ea66a43deed74c0dc98" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'StreamFactoryInterface'", + "markdown": "Undefined class 'StreamFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 22, + "charOffset": 231, + "charLength": 22, + "snippet": { + "text": "StreamFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 203, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Validator;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dae58d263c14efea", + "equalIndicator/v1": "4bc9762f9841679a1ff58e5ecae38e8eb4767e607edf4e7a04277996bdaab289" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SaveSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 78, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 82, + "snippet": { + "text": "\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "431728f7f6eca119", + "equalIndicator/v1": "4cbd8a133392406269190862376059b161825240779483454fc726c8425f1ad5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'UserFavoritesModule'", + "markdown": "Undefined class 'UserFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 33, + "charOffset": 173, + "charLength": 19, + "snippet": { + "text": "UserFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 51, + "charLength": 208, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Registry;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fdb15c397081851", + "equalIndicator/v1": "4ccbe7e62391224493890bbb9737434b15051478385c1dac0121bdd7b00eb7b4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 26, + "charOffset": 1325, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1230, + "charLength": 171, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Fact;\nuse Fisharebest\\Webtrees\\GedcomRecord;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\Media;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f0dbc8e61e7f9654", + "equalIndicator/v1": "4d4a3d52e7624158d648d7c7a5e538710bb540e15859a45fa47997573e944b60" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 9, + "charOffset": 3246, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 3075, + "charLength": 674, + "snippet": { + "text": " \n

    \n

    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "26570b7253e3a630", + "equalIndicator/v1": "4d68274c93f649966fa6a26ee88021074d8f48df812cefb68574a8effa6ad303" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 26, + "charOffset": 1363, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1266, + "charLength": 148, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\Tree;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "44988e5658073e8d", + "equalIndicator/v1": "4dcb76cbb05b1d91634b42f0cb2dd47d4c21ece90f2456854c2269bbdbe7df58" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleChartInterface'", + "markdown": "Undefined class 'ModuleChartInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 33, + "charOffset": 1822, + "charLength": 20, + "snippet": { + "text": "ModuleChartInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1687, + "charLength": 257, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Module\\AbstractModule;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleChartInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomTrait;\nuse Fisharebest\\Webtrees\\Module\\ModuleChartTrait;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c0daa72036019d99", + "equalIndicator/v1": "4e7d5168c0f84863acfbfdd124b33b5f5ed29c051da98dfc0c46e2569d6503cb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Connections to include.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 396, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 383, + "charLength": 1800, + "snippet": { + "text": "\n

    \n Include ancestors

    Tick this option to include ancestors of your starting individual(s) and anyone in the tree.

    Max levels

    The number of generations of ancestors to include. For example, if you chose yourself as your starting person, you may want the diagram to include relatives back to your great-grandparents. In this case, you would type "3" in the Max levels box under Include ancestors, to include your parents' generation, your grandparents' generation, and your great-grandparents' generation.

    Include descendants

    Whether to include children, grandchildren, etc. of people listed in the tree.

    Max levels

    Similar to the same option for "Include ancestors", this option indicates how many descendant generations should be included.

    Relation types to include

    The type of relatives to include when generating the diagram.

    Siblings

    Include brothers and sisters of anyone in the tree.

    All relations

    Include cousins, nieces, nephews, and their descendants when generating the tree. Requires "Siblings" to be selected.

    Partners

    Include the husbands, wives, and partners of those in the tree even if they aren't blood-relatives. There is another option "Mark not blood-related people with different color" that allows these people to be marked in a different colour.

    Anyone

    Follow all links regardless of whether the person is related. In practice, this generally means that the family of non-relatives (i.e. spouses) are included in the tree.

    Use this option to include all records of the sele" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91e020e84a81fcfb", + "equalIndicator/v1": "4eeeac48d246076d621f718c7f2bd92102cec01f1422dbeaeaae79aa9be92e36" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleCustomTrait'", + "markdown": "Undefined class 'ModuleCustomTrait'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 9, + "charOffset": 2652, + "charLength": 17, + "snippet": { + "text": "ModuleCustomTrait" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 2641, + "charLength": 82, + "snippet": { + "text": "{\n\n use ModuleCustomTrait;\n use ModuleChartTrait;\n use ModuleConfigTrait;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bc6954299189cd1d", + "equalIndicator/v1": "4f13087889c6a3908f60beca94af842e0608ecf3cb8035a181a3cefebdf1587b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 670, + "startColumn": 13, + "charOffset": 28336, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 668, + "startColumn": 1, + "charOffset": 28268, + "charLength": 155, + "snippet": { + "text": " public static function isUserLoggedIn(): bool\n {\n if (Auth::user()->id() == self::GUEST_USER_ID) {\n return false;\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "66fc364939c735c3", + "equalIndicator/v1": "4f24bdac3483831c9ccaf116c190c55c1907620859822ca99cad9ef3e35bcfa5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/OutputFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 80, + "charOffset": 926, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 613, + "charLength": 637, + "snippet": { + "text": " \n 'vars[output_type]', 'id' => 'output_type', 'selected' => e($vars['output_type']), 'options' => $otypes]) ?>\n \n

    >\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c350b7c3fde4558e", + "equalIndicator/v1": "4ff61eb49b3784c91cbca855a9b58807adfb55ca1ebddd8a67fd78868085dd37" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SaveSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 61, + "charOffset": 1052, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 966, + "charLength": 420, + "snippet": { + "text": "
    \n \n \n 'vars[settings_sort_order]', 'id' => 'settings_sort_order', 'selected' => e($vars['settings_sort_order']), 'options' => MainPage::updateTranslations($settings[\"settings_sort_order_options\"])]) ?>\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "44c39b40510b1f74", + "equalIndicator/v1": "5036865f27fbcb6bb663cb83c9cf2ea113d5e659a3e664a2a0bf241505a4c69a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 701, + "startColumn": 112, + "charOffset": 29562, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 699, + "startColumn": 1, + "charOffset": 29336, + "charLength": 264, + "snippet": { + "text": " $settings[$id]['token'] = empty($s['token']) ? '':$s['token'];\n $new_json = json_encode($settings);\n $module->setPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), $new_json);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91b7f02b6cc3f658", + "equalIndicator/v1": "505f0298c3731e10b20ce6940659a3469d20c4507d94fd01d8bc35b20d61c812" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/NonRelatives.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 18, + "startColumn": 78, + "charOffset": 1171, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 16, + "startColumn": 1, + "charOffset": 802, + "charLength": 463, + "snippet": { + "text": " \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9d460357229e3393", + "equalIndicator/v1": "5080194d36d9e8b4cb05c85d3310ce5baba41b75749bf8f00a4c90a78ccbcc68" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'MediaFile'", + "markdown": "Undefined class 'MediaFile'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 26, + "charOffset": 1427, + "charLength": 9, + "snippet": { + "text": "MediaFile" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1337, + "charLength": 165, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\Media;\nuse Fisharebest\\Webtrees\\MediaFile;\nuse Fisharebest\\Webtrees\\Session;\nuse Fisharebest\\Webtrees\\Site;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "37e6873c65c35b54", + "equalIndicator/v1": "51229a42f202199215a0f3237af9bd2096226e39ffdf44af132cf94032240337" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 89, + "charOffset": 1185, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 866, + "charLength": 986, + "snippet": { + "text": "
      \n
    • -
    • \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ab401822835109b2", + "equalIndicator/v1": "5138335fe5fdcb944c869f2a3e07d9a88040d5adf84dc65b38d1c571d3450ede" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 9, + "charOffset": 3263, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 3246, + "charLength": 64, + "snippet": { + "text": "

      \n

      \n :\n

      \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3748bffbfeae2456", + "equalIndicator/v1": "5157e5f02f2fed8f338d8be0c98d7be85a3cc10e84dcdbf9579581776d94b5b8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Session'", + "markdown": "Undefined class 'Session'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 305, + "startColumn": 15, + "charOffset": 9112, + "charLength": 7, + "snippet": { + "text": "Session" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 303, + "startColumn": 1, + "charOffset": 9041, + "charLength": 139, + "snippet": { + "text": "\tpublic static function isCartEmpty(Tree $tree): bool\n\t{\n\t\t$cart = Session::get('cart', []);\n\t\t$contents = $cart[$tree->name()] ?? [];\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "49f26ff7519e984a", + "equalIndicator/v1": "51e86fbbff720dccf93189e1df2ea8de87a0988bf250bd70540d294e078f71ac" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 26, + "charOffset": 1328, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1235, + "charLength": 178, + "snippet": { + "text": "use Fisharebest\\Webtrees\\I18n;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\Tree;\nuse Psr\\Http\\Message\\StreamFactoryInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c6fe523de0e0c4e", + "equalIndicator/v1": "51f6d769b00e7ffbd20c0a829b71635c9d975b0cbae377dcdd850c49629367c1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 9, + "charOffset": 2699, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2625, + "charLength": 264, + "snippet": { + "text": "
        \n

        \n \n

        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "72e6baefa7707fa9", + "equalIndicator/v1": "528a88f270b79075fdac095f1564b0be91b3c28511c35b87aadf8ff4e0607444" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Session'", + "markdown": "Undefined class 'Session'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 26, + "charOffset": 1463, + "charLength": 7, + "snippet": { + "text": "Session" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1370, + "charLength": 163, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Media;\nuse Fisharebest\\Webtrees\\MediaFile;\nuse Fisharebest\\Webtrees\\Session;\nuse Fisharebest\\Webtrees\\Site;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "83264f8f3a6fd7ac", + "equalIndicator/v1": "52b1059ac08f68c0531dadd44c853b908b2da02021947cf34fde2f1ae76e7580" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 42, + "charOffset": 1960, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1689, + "charLength": 567, + "snippet": { + "text": " \n \">\n \n \">\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ca95cc0f8af5ce8a", + "equalIndicator/v1": "52d568ae6b86a87164812d811ec258240ccf8169295c07f3513e34b3ceecad00" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 686, + "startColumn": 56, + "charOffset": 28733, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 684, + "startColumn": 1, + "charOffset": 28650, + "charLength": 290, + "snippet": { + "text": " * @return void\n */\n private function addUserSettings(GVExport $module, Tree $tree, string $id, array $s)\n {\n $prefs_json = $module->getPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), \"preference not set\");" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3bd263147848b1f0", + "equalIndicator/v1": "52da971b312770c0fede08dfcc15abae264889d5ab32ec1a9ed3e9a9262ed5df" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'FamilyTreeFavoritesModule'", + "markdown": "Undefined class 'FamilyTreeFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 33, + "charOffset": 114, + "charLength": 25, + "snippet": { + "text": "FamilyTreeFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 174, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3c43318207a2ce1", + "equalIndicator/v1": "53a78d90f92fcd2b46842b7d14ee04477cf10f98bfe5edc0a2e9f4011d74f654" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 9, + "charOffset": 749, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 670, + "charLength": 200, + "snippet": { + "text": "

        \n

        \n \n

        \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8f77fe70ae30d98d", + "equalIndicator/v1": "54447dea6c057cb8c6a0d397ed765eba45517a4b92e23447bb96753c4d94e211" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 13, + "charOffset": 2644, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2621, + "charLength": 150, + "snippet": { + "text": "
        \n
          \n
        • -
        • \n
        \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4575f1764c148437", + "equalIndicator/v1": "5456f6596f69a4399f32b384756d73d98114fce8ca9c7fa9707480d50f32ba25" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 99, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 190, + "snippet": { + "text": "use Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Tree;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;use vendor\\WebtreesModules\\gvexport\\MainPage;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c07183429a16967a", + "equalIndicator/v1": "54b3a4da0ec7080ca74343064056fdd0716b8ae28211fb623cbbda09ce5f2524" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleService'", + "markdown": "Undefined class 'ModuleService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 12, + "charOffset": 3075, + "charLength": 13, + "snippet": { + "text": "ModuleService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 2957, + "charLength": 157, + "snippet": { + "text": " public const SUPPORT_URL = 'https://github.com/Neriderc/GVExport';\n public string $base_url;\n public ModuleService $module_service;\n\n /**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4341f453a873af16", + "equalIndicator/v1": "54e8abbdc26ed2ec752ab4edb3226c66103200ef020670c6302bf24781bb109c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 9, + "charOffset": 3767, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 3750, + "charLength": 64, + "snippet": { + "text": "

          \n

          \n :\n

          \n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "932603af22c8ea1a", + "equalIndicator/v1": "553076c232297d256648346c44688c3df9e7b10a457aa6f0f4aec735005f8f03" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 41, + "charOffset": 2729, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 2529, + "charLength": 472, + "snippet": { + "text": " \"Rename\":\"\",\n \"No styles set based on shared notes.\":\"\",\n \"%s shared note styles saved.\":\"\",\n \"Add individual to list of starting individuals\":\"\",\n \"Open individual's page\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61989cf931490e0a", + "equalIndicator/v1": "55670e70a587989d2ab63b22400ac94457a2e172d5b31202cee0c68bda070ff7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'UserFavoritesModule'", + "markdown": "Undefined class 'UserFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 29, + "charOffset": 1601, + "charLength": 19, + "snippet": { + "text": "UserFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 1459, + "charLength": 233, + "snippet": { + "text": " return app(UserFavoritesModule::class)->addUrlFavorite($tree, $user, $url, $title, $note);\n };\n $favorite->call(app(UserFavoritesModule::class), $tree, $user, $url, $title, $note);\n return true;\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8df8d9105c6a090a", + "equalIndicator/v1": "5577f0d0ca575b74a1aa719879f51b64eb8cdd9d4f3fe3ab5b43056ff1beb478" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Help information not found.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 9, + "charOffset": 556, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 539, + "charLength": 64, + "snippet": { + "text": "

            \n

            \n :\n

            \n
              " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "93b9c9075cad9327", + "equalIndicator/v1": "55a69a5cf3297252b9bbf5b002d63d153b95efdde3c882f0d96728d063887e79" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/SharedNote.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 67, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 158, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\MainPage;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ed94588a86636be8", + "equalIndicator/v1": "55adc8ef57048ea73dd3f126a167214149366ed16cf53b038db7123f6fc0e96d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 42, + "charOffset": 1294, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1135, + "charLength": 534, + "snippet": { + "text": " \n
              \n \n getDefaultSettings()['graphviz_bin'] == \"\" ? \"disabled\" : \"\"; ?>>
              \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8ff7f09918ec3d21", + "equalIndicator/v1": "55d56338bfec06a674e3bf8e224033bd6f2b77411b4d2637f385e046994601f7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Age'", + "markdown": "Undefined class 'Age'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 574, + "startColumn": 35, + "charOffset": 24054, + "charLength": 3, + "snippet": { + "text": "Age" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 572, + "startColumn": 1, + "charOffset": 23945, + "charLength": 187, + "snippet": { + "text": " } else {\n $today = new Date(strtoupper(date('d M Y')));\n $age = (string) new Age($individual->getBirthDate(), $today);\n }\n if ($age === '') {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8d7ea01088e4685c", + "equalIndicator/v1": "562a0bf8e395ecdd9dec48f1aa2906dd32a3941c8d6b477580a00dc6fe3becc3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 165, + "startColumn": 50, + "charOffset": 4949, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 163, + "startColumn": 1, + "charOffset": 4893, + "charLength": 145, + "snippet": { + "text": " }\n\n public function getIndividual($tree, $xref): Individual\n {\n $individual = Registry::individualFactory()->make($xref, $tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9e4517b1b8864be4", + "equalIndicator/v1": "564d543029fcbdaed7677ba8dd0d27ab7a24df777832ab884439672b389af4fa" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 352, + "startColumn": 45, + "charOffset": 17560, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 350, + "startColumn": 1, + "charOffset": 17458, + "charLength": 202, + "snippet": { + "text": " }\n if (isset($vars['shape_vital_dead'])) {\n $settings['shape_vital_dead'] = I18N::digits($vars['shape_vital_dead']);\n }\n if (isset($vars['shape_vital_living'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7546ae2204e43f18", + "equalIndicator/v1": "56e8e63a9bb4ac6328503124751db6f5747fd4c34e96190be8dac9fe1655fb2f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Home.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 82, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 52, + "charLength": 97, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\Help;\n$help = new Help();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "120a710b6d391ac6", + "equalIndicator/v1": "56ee54fbc682c49ec6d2f86bd479180000f38699f7839cb9a7a0ff10a9f86860" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 127, + "startColumn": 57, + "charOffset": 9469, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 125, + "startColumn": 1, + "charOffset": 9199, + "charLength": 359, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3df2d558fab93455", + "equalIndicator/v1": "57081e9503a77a10107fc77527aa9b8418f1a7e07bfbe194f83a4c502c7db718" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 245, + "startColumn": 37, + "charOffset": 8140, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 243, + "startColumn": 1, + "charOffset": 8097, + "charLength": 148, + "snippet": { + "text": " }\n\n public function postChartAction(ServerRequestInterface $request): ResponseInterface\n {\n $tree = $request->getAttribute('tree');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1646c2ddf77d7643", + "equalIndicator/v1": "57148fecdb5bb40896b51b3ad7156e9c1153e7b655a33eebe5109402add13973" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 13, + "charOffset": 3424, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 3117, + "charLength": 1020, + "snippet": { + "text": "
  • - \n
  • \n
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CA"'); ?>\n
  • \n
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CAN"'); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a62a26d53881b665", + "equalIndicator/v1": "572062c9415749e4348995a1875538d941b29e4437be26496e4aed8989d44951" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Media'", + "markdown": "Undefined class 'Media'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 424, + "startColumn": 59, + "charOffset": 12492, + "charLength": 5, + "snippet": { + "text": "Media" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 422, + "startColumn": 1, + "charOffset": 12426, + "charLength": 171, + "snippet": { + "text": "\t\t\t});\n\n\t\tif ($fact instanceof Fact && $fact->target() instanceof Media && $this->isXrefInCart($fact->target()->xref())) {\n\t\t\treturn $fact->target()->firstImageFile();\n\t\t}" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3083308481ba0057", + "equalIndicator/v1": "57ec85b859d049e102af615252be517d8e084c2f2addb93001ce530f84ba1ada" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 9, + "charOffset": 5342, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 5239, + "charLength": 267, + "snippet": { + "text": " \n

    \n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "850404bb0465b121", + "equalIndicator/v1": "5897ece8e98bac34dbc2a1f47335fabf8f5e4ae199ce7a8a8066bd3975d84fcc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 13, + "charOffset": 464, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 410, + "charLength": 140, + "snippet": { + "text": "{\n var array $response_data = array();\n private ServerRequestInterface $request;\n private GVExport $module;\n private Tree $tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "72cfd70d529dfccc", + "equalIndicator/v1": "594cf53f47ff079294c7abd79f303f1abd57d42f1ad100017e6ff83b319a648c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 265, + "startColumn": 49, + "charOffset": 12606, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 263, + "startColumn": 1, + "charOffset": 12496, + "charLength": 211, + "snippet": { + "text": " }\n if (isset($vars['indi_stripe_age_high'])) {\n $settings['indi_stripe_age_high'] = I18N::digits($vars[\"indi_stripe_age_high\"]);\n }\n if (isset($vars['border_col_type'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f74e5f113ddd9d2b", + "equalIndicator/v1": "5968f0480786fa2743632d587bc5766706babbce3101687736b51a3dafe4feb6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 497, + "startColumn": 15, + "charOffset": 23220, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 495, + "startColumn": 1, + "charOffset": 23168, + "charLength": 115, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param string $id\n * @return false|string" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "67b626dcb2ef58a7", + "equalIndicator/v1": "59775eb08fc368d96370143083f3261d212eae001f8f51bd7f5a312e3384c35c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 238, + "startColumn": 53, + "charOffset": 10968, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 236, + "startColumn": 1, + "charOffset": 10850, + "charLength": 219, + "snippet": { + "text": " }\n if (isset($vars['indi_background_age_high'])) {\n $settings['indi_background_age_high'] = I18N::digits($vars[\"indi_background_age_high\"]);\n }\n if (isset($vars['bg_col_type'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "616ae8a707eeda07", + "equalIndicator/v1": "59bf23baffae0df6bc9e6122bb7ca832fe69db62b87ffd1bdc6fbc6a2f48ed0e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 106, + "startColumn": 48, + "charOffset": 7575, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 104, + "startColumn": 1, + "charOffset": 7338, + "charLength": 325, + "snippet": { + "text": "

    \n >\n \n
    \n
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1dd68c83f9b83888", + "equalIndicator/v1": "59db9ac97a46a5b5d24144778f9d8a3434bf29c3b9a1b50f565e9d4d1abffcf9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 26, + "charOffset": 2263, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2171, + "charLength": 172, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Validator;\nuse Fisharebest\\Webtrees\\View;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Webtrees;\nuse Psr\\Http\\Message\\ResponseInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da655e6599811af5", + "equalIndicator/v1": "59f453fc87eaa748611311dd4090ac4d155136e288ec44e7cf5683f424ce9710" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 52, + "charOffset": 1435, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1374, + "charLength": 431, + "snippet": { + "text": "

    \n
      \n
    • - \n
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c53cd752d1152f90", + "equalIndicator/v1": "5a25d71fa8cdd1d191c6cfa4d89982cd5a58e794ae5eb83f89c433133e332f03" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 9, + "charOffset": 3312, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 3238, + "charLength": 520, + "snippet": { + "text": "

      \n

      \n \n

      \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "22e9dd7339d9a94a", + "equalIndicator/v1": "5a34b21472a6b7410f39e2951943b44fbf5ca9532dc9b545727b8c1ac5d3e091" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/About GVExport.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d576625fe7e703ec", + "equalIndicator/v1": "5af8b68db53b4e8c91cdaf524c31af4402108d080a79fcdff6a107ba1b7ffd09" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 148, + "startColumn": 214, + "charOffset": 15572, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 146, + "startColumn": 1, + "charOffset": 15305, + "charLength": 377, + "snippet": { + "text": "

    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a2f88dacc73b1e2", + "equalIndicator/v1": "5b09d6ea853c6a804e87a148886ec1d8236ad47eec194c9cdea45d0bd7fccaa7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Graph direction.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "539fb02e46c4b273", + "equalIndicator/v1": "5b7642bf55934c074aebc46f917fc0c4194e289142c025430128d888106c71f9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 93, + "startColumn": 9, + "charOffset": 6179, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 91, + "startColumn": 1, + "charOffset": 6114, + "charLength": 248, + "snippet": { + "text": "
    \n

    \n \n

    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ed091f85efe5e41b", + "equalIndicator/v1": "5b8a966d050e2be7dc42ae488311cf88aceceeabfa3dc0e286b8c74b4b311758" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'StreamFactoryInterface'", + "markdown": "Undefined class 'StreamFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/OutputFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 22, + "charOffset": 165, + "charLength": 22, + "snippet": { + "text": "StreamFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 100, + "charLength": 136, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Psr\\Http\\Message\\StreamFactoryInterface;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "547f4040abf61410", + "equalIndicator/v1": "5b9081c9b9006e49ce5a813a66b953bea810735d4eb6399aa4f7f6cfc08a4607" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 26, + "charOffset": 204, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 82, + "charLength": 132, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Http\\RequestHandlers\\ControlPanel;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Tree;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e1e8362c0e95ed57", + "equalIndicator/v1": "5bf1656e8ffd194d7c3f03591cb0ba0de5d20891c2b54d18250d2a1282a26ced" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'View'", + "markdown": "Undefined class 'View'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 9, + "charOffset": 3393, + "charLength": 4, + "snippet": { + "text": "View" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3332, + "charLength": 144, + "snippet": { + "text": " {\n // Register a namespace for our views.\n View::registerNamespace($this->name(), $this->resourcesFolder() . 'views/');\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7dbc0d451390efc6", + "equalIndicator/v1": "5bf6aaa1e9ade3b081416765bc92a8a1dd950df36bbf6be1a796852f8aebeb12" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Settings file.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "66ec7c13d73171b8", + "equalIndicator/v1": "5cae93f9c864673ec063023d5c71227332622aa5925d40f399b69d1667e77c3c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 177, + "startColumn": 9, + "charOffset": 5307, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 175, + "startColumn": 1, + "charOffset": 5245, + "charLength": 186, + "snippet": { + "text": " {\n $tree = $request->getAttribute('tree');\n Auth::checkComponentAccess($this, ModuleChartInterface::class, $tree, Auth::user());\n\n assert($tree instanceof Tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8771b4f0c1ba3f2", + "equalIndicator/v1": "5cda19d5287781da9429c84179022e5193fe17080e98c327c99b178ba103c19b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 26, + "charOffset": 1291, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1202, + "charLength": 166, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\I18n;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8ecf3652a5fd644b", + "equalIndicator/v1": "5ce7b551deedbb7aa4974d0b555853b6760efa62edcf8132459f1cf77b167a61" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomImportService'", + "markdown": "Undefined class 'GedcomImportService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 35, + "charOffset": 131, + "charLength": 19, + "snippet": { + "text": "GedcomImportService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 51, + "charLength": 178, + "snippet": { + "text": "use Exception;\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Services\\GedcomImportService;\nuse Fisharebest\\Webtrees\\Services\\TreeService;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "95b022e04ba41b88", + "equalIndicator/v1": "5d109a6659905928eabaa4a889dfb19f0d1375c91a0ef0bb1ef737b86e76844c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Home.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12, + "startColumn": 28, + "charOffset": 181, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 10, + "startColumn": 1, + "charOffset": 150, + "charLength": 224, + "snippet": { + "text": "?>\n\n

    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "21aba7e20b208a46", + "equalIndicator/v1": "5d20d7443917bc945df34efa2da39cac1a858dc2008ceba6c8126c46919083ec" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'AbstractModule'", + "markdown": "Undefined class 'AbstractModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 33, + "charOffset": 1719, + "charLength": 14, + "snippet": { + "text": "AbstractModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 1608, + "charLength": 235, + "snippet": { + "text": "use Fisharebest\\Localization\\Translation;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\AbstractModule;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleChartInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3f071825d78ed65d", + "equalIndicator/v1": "5d2d631ad4bf2fdb8374583dca99f13e308bfe6e91fc89a4c14fa18a00f202e3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14, + "startColumn": 9, + "charOffset": 397, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 12, + "startColumn": 1, + "charOffset": 294, + "charLength": 332, + "snippet": { + "text": "/**\n * @var Tree $tree the webtrees tree instance of the current tree\n * @var Individual $individual the webtrees individual object instance of the XREF in the URL\n * @var string $title title of this page\n * @var array $vars array of saved settings" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a22bf67fcf4439eb", + "equalIndicator/v1": "5db8d581970d2040c3a2302c02e72454cf187b463e9b8e934b5227d93591d837" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 202, + "startColumn": 35, + "charOffset": 5939, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 200, + "startColumn": 1, + "charOffset": 5866, + "charLength": 182, + "snippet": { + "text": "\t * @param Individual $individual\n\t */\n\tprivate function addDummyFamily (Individual $individual) {\n\t\t$pid = $individual->xref();\n\t\t$this->addFamToList(self::DUMMY_FAMILIY_XREF.$pid);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd1846d949b5b510", + "equalIndicator/v1": "5e0b8c92c9f960c275deb3744679c5c40124bfa21f8f427227317ef9e4e088e6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 42, + "charOffset": 978, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 819, + "charLength": 598, + "snippet": { + "text": " \n

    \n \n getDefaultSettings()['graphviz_bin'] != \"\" ? 'checked' : '' ?> getDefaultSettings()['graphviz_bin'] == \"\" ? \"disabled\" : \"\"; ?>>
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f8fca5784269e9c5", + "equalIndicator/v1": "5e2d78c8071d5fdcf1423d3455b47256f32095f632bf32a937c4b86ae77eb292" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 26, + "charOffset": 121, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 159, + "snippet": { + "text": "use Exception;\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Validator;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "64f556078b009699", + "equalIndicator/v1": "5e56835571ce77c5144a31e009603d32f8dfa77e23586c76159b01f9445d167f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 22, + "charOffset": 1467, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 1236, + "charLength": 528, + "snippet": { + "text": " \"One new source individual added to %s existing individuals\":\"\",\n \"Cancel\":\"\",\n \"Overwrite\":\"\",\n \"Individual not found\":\"\",\n \"Diagram will be rendered in browser as server doesn't support photo shapes\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7dd7116b1c1ae4aa", + "equalIndicator/v1": "5e90b4a595b5a4d6e6f91ce21ba70ae9b6eb51dd9179d1c1e3d0799d3f925bad" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 179, + "startColumn": 33, + "charOffset": 5425, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 177, + "startColumn": 1, + "charOffset": 5299, + "charLength": 245, + "snippet": { + "text": " Auth::checkComponentAccess($this, ModuleChartInterface::class, $tree, Auth::user());\n\n assert($tree instanceof Tree);\n if (isset($request->getQueryParams()['xref'])) {\n $xref = $request->getQueryParams()['xref'];" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8adb27c6a972e434", + "equalIndicator/v1": "5e94553bf2b7389764fc7ace052bde625f9fe2d3cf4eded3a9d6d4ca4824c414" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 49, + "charOffset": 1004, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 946, + "charLength": 370, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4f20e5b8fcbd9efa", + "equalIndicator/v1": "5ef0e86f5f57a334e97e2fe5d8272bfdbdf890a5de653d885ce64d1f21c9e4ad" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomRecord'", + "markdown": "Undefined class 'GedcomRecord'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 355, + "startColumn": 69, + "charOffset": 10199, + "charLength": 12, + "snippet": { + "text": "GedcomRecord" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 353, + "startColumn": 1, + "charOffset": 10088, + "charLength": 202, + "snippet": { + "text": "\t{\n\t\t$xrefs = self::getXrefsInCart($tree);\n\t\t$records = array_map(static function (string $xref) use ($tree): ?GedcomRecord {\n\t\t\treturn Registry::gedcomRecordFactory()->make($xref, $tree);\n\t\t}, $xrefs);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "665471b855c1a37d", + "equalIndicator/v1": "5f6cfa8c931cabf35e208bd26c7bda1bebe006a5a07f94c3657eaf7a691f35a2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 58, + "charOffset": 1264, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1085, + "charLength": 304, + "snippet": { + "text": " \n
      \n ()\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de167ededc3725c1", + "equalIndicator/v1": "5fd56d83147c97130d75a412ee4aa58f6959fd614054d2d52336f400ba7e1220" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 133, + "startColumn": 54, + "charOffset": 9845, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 131, + "startColumn": 1, + "charOffset": 9578, + "charLength": 351, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1e2ed74587986eec", + "equalIndicator/v1": "603e7a5dbf6279b9fb576467a373cbc6106fef9534585caa33ce029a853cd86e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 9, + "charOffset": 2151, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 2087, + "charLength": 442, + "snippet": { + "text": "

    \n

    \n \n

    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8aef9f12d913afdc", + "equalIndicator/v1": "607217b0e3aaeab7dc39c9327d97185da08295ac2af0997fc0a0384a7e6e880d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Saved diagrams.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 9, + "charOffset": 656, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 638, + "charLength": 65, + "snippet": { + "text": "\n

    \n :\n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d56924e2635da0e4", + "equalIndicator/v1": "613910597f83b625b34686fb4fc4ea06d304825c0adf1006ffac55a6ca48ef21" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 382, + "startColumn": 89, + "charOffset": 17935, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 380, + "startColumn": 1, + "charOffset": 17784, + "charLength": 385, + "snippet": { + "text": " rendering.innerHTML = \"\";\n } else {\n rendering.innerHTML = '
      :
      ' + error + '
      ';\n if (lastDotStr) {\n rendering.innerHTML = rendering.innerHTML + '

      DOT contents

      ';"
      +                  },
      +                  "sourceLanguage": "PHP"
      +                }
      +              },
      +              "logicalLocations": [
      +                {
      +                  "fullyQualifiedName": "project",
      +                  "kind": "module"
      +                }
      +              ]
      +            }
      +          ],
      +          "partialFingerprints": {
      +            "equalIndicator/v2": "532ba4ddfa6a76bf",
      +            "equalIndicator/v1": "6246b9abfafc9f1bd773861d96ce20073282a85389f65b7b0b56232c4673e9e2"
      +          },
      +          "properties": {
      +            "ideaSeverity": "WARNING",
      +            "qodanaSeverity": "High",
      +            "tags": [
      +              "PHP"
      +            ]
      +          }
      +        },
      +        {
      +          "ruleId": "PhpUndefinedClassInspection",
      +          "kind": "fail",
      +          "level": "warning",
      +          "message": {
      +            "text": "Undefined class 'I18N'",
      +            "markdown": "Undefined class 'I18N'"
      +          },
      +          "locations": [
      +            {
      +              "physicalLocation": {
      +                "artifactLocation": {
      +                  "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml",
      +                  "uriBaseId": "SRCROOT"
      +                },
      +                "region": {
      +                  "startLine": 55,
      +                  "startColumn": 9,
      +                  "charOffset": 2476,
      +                  "charLength": 4,
      +                  "snippet": {
      +                    "text": "I18N"
      +                  },
      +                  "sourceLanguage": "PHP"
      +                },
      +                "contextRegion": {
      +                  "startLine": 53,
      +                  "startColumn": 1,
      +                  "charOffset": 2143,
      +                  "charLength": 476,
      +                  "snippet": {
      +                    "text": "    \n

      \n
      \n

      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b475812508736bb6", + "equalIndicator/v1": "62888dafe8d0236f8af99be4d70a55cd5c30d31d0af5c002c0743470376f74de" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 15, + "charOffset": 1763, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 1702, + "charLength": 125, + "snippet": { + "text": " * Add a Tree favourite to webtrees\n *\n * @param Tree $tree\n * @param string $url\n * @param string $title" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "66e200c51dc40a68", + "equalIndicator/v1": "62ef7dd41372ed10b2e5493ccf95ea80d466ef78380a08bce5f6faf2e4c1ba2c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 52, + "charOffset": 3801, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 3636, + "charLength": 239, + "snippet": { + "text": " $this->response_data['success'] = false;\n $this->response_data['json'] = $this->json_data;\n $this->response_data['errorMessage'] = I18N::translate('Invalid JSON') . \": \" . json_last_error_msg();\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "398003bbeed06684", + "equalIndicator/v1": "630e9a6eddb12dd901ab096a2a85a1bbedc923f4499753aa4ba8df21d0e1771b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 220, + "startColumn": 15, + "charOffset": 12060, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 218, + "startColumn": 1, + "charOffset": 12008, + "charLength": 117, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param array $settings\n * @param string $id" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e629971bf0f91187", + "equalIndicator/v1": "63158e57f59fdba2c080e64842e9a01ba8120c85c6045b6d4ca006917d963abb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 63, + "charOffset": 1160, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 930, + "charLength": 515, + "snippet": { + "text": " \"Added to My favourites\":\"\",\n \"Added to Tree favourites\":\"\",\n \"Source individual has replaced existing individual\":\"\",\n \"One new source individual added to %s existing individuals\":\"\",\n \"Cancel\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b38e45d39dfa118", + "equalIndicator/v1": "633153a21425b7839e099f2182fb1c8af30bbeaf09963d3b91ea3d7d7316a2f1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Help.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 120, + "startColumn": 24, + "charOffset": 4842, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 118, + "startColumn": 1, + "charOffset": 4764, + "charLength": 230, + "snippet": { + "text": " static function translateClean($msg): string\n {\n $translation = I18N::translate($msg);\n $no_apostrophe = str_replace(\"'\",\"'\",$translation);\n $no_ampersand = str_replace(\"&\",\"&\",$no_apostrophe);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b0c64aacbda44935", + "equalIndicator/v1": "639088e160f57814ce090709431e51c9e1262797c5d0700592a3317c682e6e13" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 82, + "startColumn": 50, + "charOffset": 5707, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 80, + "startColumn": 1, + "charOffset": 5460, + "charLength": 313, + "snippet": { + "text": "

      \n >\n \n
      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8b49abc8430e4f9b", + "equalIndicator/v1": "63adc7adf1e8bcd4c57aee65b79376922c6e599cec8e953d7f6129e751d252dc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 648, + "startColumn": 58, + "charOffset": 27610, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 646, + "startColumn": 1, + "charOffset": 27523, + "charLength": 148, + "snippet": { + "text": " * @return string\n */\n private function getSettingsIdList(GVExport $module, Tree $tree): string\n {\n $user = Auth::user()->id();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4bf0459b964a712a", + "equalIndicator/v1": "63d906138a178a22d085c74f4cd46969fb7f2ec5f4715403c5674e7bba8227b5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 117, + "startColumn": 152, + "charOffset": 13205, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 115, + "startColumn": 1, + "charOffset": 12901, + "charLength": 594, + "snippet": { + "text": " \n \n 'vars[sharednote_col_add]', 'id' => 'sharednote_col_add', 'tree' => $tree, 'note' => Registry::noteFactory()->make('', $tree), 'at' => '@']); ?>\n >\n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1d68a7b9040a3ad9", + "equalIndicator/v1": "641e022f4f18d55ba765616bd320c7faf3114877bbb06df66b4091517275484d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 249, + "startColumn": 84, + "charOffset": 8371, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 247, + "startColumn": 1, + "charOffset": 8198, + "charLength": 356, + "snippet": { + "text": " $tree = $request->getAttribute('tree');\n if (isset($_POST['json_data'])) {\n $individual = $this->getIndividual($tree, $tree->significantIndividual(Auth::user(), '')->xref());\n $this->base_url = $this->strip_param_from_url($this->chartUrl($individual), 'xref');\n $api = new ApiHandler($request, $this, $tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "92b52c446407046d", + "equalIndicator/v1": "645d28bbbcd92adb7b8853fd5d911834c6a27781dc7e93172efa81f97fe00e0f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 15, + "charOffset": 585, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 509, + "charLength": 140, + "snippet": { + "text": " *\n * @param string $json The shared notes saved JSON\n * @param Tree $tree The webtrees tree\n * @param $default_col\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c00b678df2a53ea3", + "equalIndicator/v1": "645dcbbe1b1b1e69338a538fd967116aa49f7e0fbbc426486ed20ef21faba11c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 62, + "charOffset": 3347, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 3002, + "charLength": 542, + "snippet": { + "text": " \"Replace starting individuals with this individual\":\"\",\n \"Add this individual to the list of stopping individuals\":\"\",\n \"Replace stopping individuals with this individual\":\"\",\n \"Add to list of individuals to highlight\":\"\",\n };" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "571462d4faebd8e8", + "equalIndicator/v1": "6467ad07a043b3667162c9a4c1f7951987c8d63f20303c2b346f5f469b38b238" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 52, + "charOffset": 2577, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1853, + "charLength": 1040, + "snippet": { + "text": "
    • -
    • \n
    • -
    • \n
    • -
    • \n
    • -
    • \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "92635de0e6069000", + "equalIndicator/v1": "6493c8597346b282a3c0b0ccd20392047c87234fa0754be9c48ecb716ae538a0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 76, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 186, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "195db8c337a0afcd", + "equalIndicator/v1": "64c4e8f830ed9d52297230c511c07139fe6e472f941af75dadb3ad50b311cb92" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Menu'", + "markdown": "Undefined class 'Menu'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 120, + "startColumn": 60, + "charOffset": 3912, + "charLength": 4, + "snippet": { + "text": "Menu" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 118, + "startColumn": 1, + "charOffset": 3846, + "charLength": 122, + "snippet": { + "text": " }\n\n public function chartBoxMenu(Individual $individual): ?Menu\n {\n return $this->chartMenu($individual);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "74b7912f4b9757fa", + "equalIndicator/v1": "6516aa9db026af73b7daf7bd5316bf50af4150f880e5ecb1d577edfef8cdca6d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 13, + "charOffset": 1818, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1665, + "charLength": 517, + "snippet": { + "text": " \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfdd666239400308", + "equalIndicator/v1": "653956119bb0d9a4ff140d8ba1997d1efae525af42eb25703e43d1ef38fb6a16" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 225, + "startColumn": 56, + "charOffset": 12209, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 223, + "startColumn": 1, + "charOffset": 12126, + "charLength": 217, + "snippet": { + "text": " * @return bool\n */\n public function saveUserSettings(GVExport $module, Tree $tree, array $settings, string $id = self::ID_MAIN_SETTINGS): bool\n {\n if (Auth::user()->id() == self::GUEST_USER_ID) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d80b8473016a903b", + "equalIndicator/v1": "65597f7d7e00dfec93e6275ea1753493847335cf8cdf37e91d1f962261b4cae4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'AbstractModule'", + "markdown": "Undefined class 'AbstractModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 24, + "charOffset": 2548, + "charLength": 14, + "snippet": { + "text": "AbstractModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2487, + "charLength": 156, + "snippet": { + "text": " * Main class for GVExport module\n */\nclass GVExport extends AbstractModule implements ModuleCustomInterface, ModuleChartInterface, ModuleConfigInterface\n{\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c79bcde4a04c4028", + "equalIndicator/v1": "6568ce43daa7fe31021ee79867cfb5eb2ac0a71eb1aca4175c5502104a8a36e4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 50, + "charOffset": 3001, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 2557, + "charLength": 823, + "snippet": { + "text": " \n \" value=\"\">\n \n \" value=\"\">\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "860be8964cc8b74b", + "equalIndicator/v1": "6569e7070b482049e908a3fb3c1b14ce34d45864dd3d1bf1848aa538487cc1a4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/SharedNote.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 108, + "charOffset": 2395, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 2264, + "charLength": 174, + "snippet": { + "text": " \n \n \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb489a91b30f7aea", + "equalIndicator/v1": "65e746f7ed74b8cd9e6f924e80d8a9649532417da80e2fd6dd22566edc57ca87" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 87, + "startColumn": 50, + "charOffset": 6101, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 85, + "startColumn": 1, + "charOffset": 5774, + "charLength": 588, + "snippet": { + "text": "
    \n >\n \n
    >\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "78f51d6d6cccbf50", + "equalIndicator/v1": "6609412464e5d70923756b5f971a8229b63e246fc5c415817335c97e1123d053" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/IncludeAnyoneRelatedTo.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 84, + "snippet": { + "text": "addUrlFavorite($tree, $url, $title, $note);\n };\n $favorite->call(app(FamilyTreeFavoritesModule::class), $tree, $url, $title, $note);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "68be4ce9491d5bed", + "equalIndicator/v1": "6620faa0cddd84aebf11bc2d98cbbb35beb1270fb24dd0190085d6e89813bc78" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleCustomInterface'", + "markdown": "Undefined class 'ModuleCustomInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 50, + "charOffset": 2574, + "charLength": 21, + "snippet": { + "text": "ModuleCustomInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2487, + "charLength": 156, + "snippet": { + "text": " * Main class for GVExport module\n */\nclass GVExport extends AbstractModule implements ModuleCustomInterface, ModuleChartInterface, ModuleConfigInterface\n{\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f20f4e54459ade0b", + "equalIndicator/v1": "66e0fa1e5c03d1af9e307ef4f1d2a7cf84a420ec4a281d4c6462a467e0a779b7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram type.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0caf048ca0ddaae2", + "equalIndicator/v1": "670f6b2cc813dafe05413b0eaba73cca56775c4361f14213955ba956dfa063b6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 134, + "startColumn": 17, + "charOffset": 4488, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 132, + "startColumn": 1, + "charOffset": 4425, + "charLength": 225, + "snippet": { + "text": " public function saveSettings(): void\n {\n $vars = Validator::parsedBody($this->request)->array('vars');\n $formSubmission = new FormSubmission();\n $vars = $formSubmission->load($vars, $this->module);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd9a53494abc57e2", + "equalIndicator/v1": "6719f784c1af0d5c824fd73abd073a5389f1ecd1f0b9171c007a9fb00d593560" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 13, + "charOffset": 2750, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 2128, + "charLength": 769, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n\n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ffdc22827ecd1802", + "equalIndicator/v1": "67757ebc9ff4f0c2f9ff88e05d3f05c1627fe137acea1d135100a00265d47f43" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 15, + "charOffset": 1159, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1098, + "charLength": 125, + "snippet": { + "text": " * Add a User favourite to webtrees\n *\n * @param Tree $tree\n * @param string $url\n * @param string $title" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b3500bb2d1960df4", + "equalIndicator/v1": "683cef06a989b39720416dac0fc28f919f3418150ab0891c06b99d26c8ed4765" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 142, + "startColumn": 33, + "charOffset": 4123, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 140, + "startColumn": 1, + "charOffset": 3903, + "charLength": 316, + "snippet": { + "text": "\t\t\t\t// search for a highlighted photo if it is in the clippings cart and if a photo is required\n\t\t\t\t$this->individuals[$record->xref()]['pic'] = $this->searchPhotoToIndi($record->xref());\n\t\t\t} elseif ($record instanceof Family) {\n\t\t\t\tif ($this->combinedMode) {\n\t\t\t\t\t$this->addDummyPartner($record, self::ID_HUSBAND);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "359502984c6dc8a5", + "equalIndicator/v1": "689d0a9c92fe707991c8fff7a00ff61e3db460686e1b6d06c4ea201a3f321fef" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 145, + "startColumn": 206, + "charOffset": 15250, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 143, + "startColumn": 1, + "charOffset": 14991, + "charLength": 367, + "snippet": { + "text": "

    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "56da13973fe3c7d3", + "equalIndicator/v1": "68faf036d8e0e4a27494e60ea20ecf340840da7953334b750a060b0dc76787d3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 52, + "charOffset": 3473, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 3138, + "charLength": 416, + "snippet": { + "text": " \"Add this individual to the list of stopping individuals\":\"\",\n \"Replace stopping individuals with this individual\":\"\",\n \"Add to list of individuals to highlight\":\"\",\n };\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "99403d91f4604648", + "equalIndicator/v1": "68fd7267b0f6a1c5867f9cd1fe1b9b848716b18cf1a49e0356904db19e959462" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 13, + "charOffset": 2784, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 2761, + "charLength": 150, + "snippet": { + "text": "\n
      \n
    • -
    • \n
    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5ef5e11918d603e2", + "equalIndicator/v1": "690970b101a0b82b206df52e330d91c35cbe8639f87e55d756a73f1778a5bf12" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/AgeColourSubgroup.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 151, + "charOffset": 1505, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 1211, + "charLength": 376, + "snippet": { + "text": "
      \n \n ]\" id=\"\" value=\"\">\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53adb2d9d7336261", + "equalIndicator/v1": "694ec84d3d6e302e66939223634680fc48a002d3ff423bbf3fb1f17f8b9a3a7b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 136, + "startColumn": 24, + "charOffset": 7984, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 134, + "startColumn": 1, + "charOffset": 7922, + "charLength": 145, + "snippet": { + "text": " {\n if ($user_id === null) {\n $user_id = Auth::user()->id();\n }\n $settings = $this->getAdminSettings($module);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f542860ee286bf86", + "equalIndicator/v1": "6954699e4b88ecbf695f0fa61771263fe8b75b34a8ace9a18f0609b514f5ee1e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'FamilyTreeFavoritesModule'", + "markdown": "Undefined class 'FamilyTreeFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 87, + "charOffset": 1745, + "charLength": 25, + "snippet": { + "text": "FamilyTreeFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1537, + "charLength": 463, + "snippet": { + "text": " let firstRender = ;\n const TREE_NAME = \"name()); ?>\";\n const TREE_FAVORITES_MODULE_ACTIVE = module_service->findByInterface(FamilyTreeFavoritesModule::class)->first() === null || !Auth::isManager($tree) ? \"false\" : \"true\" ?>;\n const MY_FAVORITES_MODULE_ACTIVE = module_service->findByInterface(UserFavoritesModule::class)->first() === null ? \"false\" : \"true\" ?>;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "881bf186518f1dc0", + "equalIndicator/v1": "69fc6c5019d82f30517016211fd94b945bacb35f106cc7b7a79b193f22a9cacd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 149, + "startColumn": 27, + "charOffset": 6642, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 147, + "startColumn": 1, + "charOffset": 6458, + "charLength": 395, + "snippet": { + "text": " \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fe9cc6b0fff661f4", + "equalIndicator/v1": "6a067d84aca00d8cd4ffe10c2c812e83edaf121e766b56204f61ccb9c6e34781" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 26, + "charOffset": 1227, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1170, + "charLength": 132, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Date;\nuse Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\I18n;\nuse Fisharebest\\Webtrees\\Individual;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5f052f715f84bdff", + "equalIndicator/v1": "6a16e2c186f02abcf61bd02dafdd7bc7bad37e56ab248cc640ae344f892277c8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 314, + "startColumn": 12, + "charOffset": 9289, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 312, + "startColumn": 1, + "charOffset": 9217, + "charLength": 104, + "snippet": { + "text": "\t * is an individual (INDI record) in the clippings cart\n\t *\n\t * @param Tree $tree\n\t * @return bool\n\t */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d209ea26f17df9ec", + "equalIndicator/v1": "6a69c76dfee33ad397d9c496671fae40c02c40918cb4cb985e8ec23ade6d2a84" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 69, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 39, + "charLength": 39, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\n\n?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "08e87027d4ea803c", + "equalIndicator/v1": "6aa1131b7c794590202eeeca618ddffe936e5463cc97f209e338a0998dad813d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 168, + "charOffset": 3220, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 2652, + "charLength": 743, + "snippet": { + "text": " \" value=\"\">\n \n \" value=\"\">\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0452ddac58fdf962", + "equalIndicator/v1": "6ad380f77319c65408c6ebb2fa83892fde2803e3e73a4445e231c4e5d91cb4ba" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 9, + "charOffset": 2906, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 2888, + "charLength": 366, + "snippet": { + "text": "
    \n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8e5b47f2a45aa0d2", + "equalIndicator/v1": "6b1d7681021c884f70b732a2d532996fa45f0141714a12dc0936be4b9e450453" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 26, + "charOffset": 91, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 143, + "snippet": { + "text": "\nuse Exception;\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Http\\Exceptions\\HttpBadRequestException;\nuse Fisharebest\\Webtrees\\I18N;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b69001a8a9d27e56", + "equalIndicator/v1": "6b281555bc3eb5b5fc10fcbbd31dc12cf1ee66e53937262dc6cf7d9dc20424e4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 415, + "startColumn": 39, + "charOffset": 12184, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 413, + "startColumn": 1, + "charOffset": 12114, + "charLength": 147, + "snippet": { + "text": "\t * @return MediaFile|null\n\t */\n\tprivate function preferedPhotoInCart(Individual $individual): ?MediaFile\n\t{\n\t\t$fact = $individual->facts(['OBJE'])" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7784b5528c2c5c45", + "equalIndicator/v1": "6bda1f2de19f1ed525b4183bffe6cf8004e7a5f1a32ef745ce9a9c5b10df13dc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 89, + "charOffset": 5264, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 4931, + "charLength": 634, + "snippet": { + "text": "

    \n \n \n chartUrl($individual, ['reset' => '1']) ?>\" class=\"btn btn-outline-secondary\">\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "51fd59152fc921a2", + "equalIndicator/v1": "6bf07a9e5e16151a567d9335617828ea20cef016f575f2c34b3ef296bbbf9acd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 9, + "charOffset": 1597, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1542, + "charLength": 159, + "snippet": { + "text": "

    \n

    \n \n

    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "607e0da86b38fbe1", + "equalIndicator/v1": "6c09caf51ae6062da3579e8f2837f8e661cfccf3dad7a70c23ecc67fa0b8e8fc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 180, + "startColumn": 12, + "charOffset": 5317, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 178, + "startColumn": 1, + "charOffset": 5184, + "charLength": 228, + "snippet": { + "text": "\t * add information to the arrays \"individuals\" and \"families\" about the spouse families or add a dummy spouse family\n\t *\n\t * @param Individual $individual\n\t */\n\tprivate function enhanceIndividualsList (Individual $individual) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1d7fbc4e59d8587c", + "equalIndicator/v1": "6c0d848107c43253e492308026d02b06906671d020792564f465bcf78c8466a1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Help information not found.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 26, + "charOffset": 225, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 195, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7275d7b2d5885574", + "equalIndicator/v1": "6c2d8f36eedc225753e5373aa0f98cbaf6b229aecc0b045f269fbc87ffa3fdd9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 15, + "startColumn": 44, + "charOffset": 413, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 13, + "startColumn": 1, + "charOffset": 248, + "charLength": 559, + "snippet": { + "text": " \n
    \n \n >
    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "baf069b4646848eb", + "equalIndicator/v1": "6c4e488a792d00f6471970c4b835a9aec041294d0812f8b866e2f87fb39bfcc2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14, + "startColumn": 45, + "charOffset": 544, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 12, + "startColumn": 1, + "charOffset": 318, + "charLength": 451, + "snippet": { + "text": " \"Revoked access to shared link\":\"\",\n \"Copied link to clipboard\":\"\",\n \"Failed to copy link to clipboard\":\"\",\n \"Copy manually below\":\"\",\n \"Overwrite settings '%s'?\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a38f1748c1f5895", + "equalIndicator/v1": "6cabbf2a5781089a2cb065cde1d2d8c81b35bb11864d63a0ea7006bd52478a48" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Help.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 108, + "startColumn": 18, + "charOffset": 4562, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 106, + "startColumn": 1, + "charOffset": 4464, + "charLength": 174, + "snippet": { + "text": " {\n $html = '';\n $html .= I18N::translate($page);\n $html .= ' ';\n return $html;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53d07bfdc0e41de7", + "equalIndicator/v1": "6d3d13c1ff8efce2f8c59cd0f4e491b60dd68b1d5c19fb9b7db6881f09390dff" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 9, + "charOffset": 5397, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 5334, + "charLength": 181, + "snippet": { + "text": "
    \n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dc2a5652dcd56469", + "equalIndicator/v1": "6d584d075ec1bb63a7b8cd6e144eba3a135f1987930f6d3986d2bea46c37ed9a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 13, + "charOffset": 1935, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1675, + "charLength": 648, + "snippet": { + "text": "

  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "05421cc64b71fd05", + "equalIndicator/v1": "6d59aeac0259deb0f6b8e838fbf9896708b299198d0f4aebf0c7f9dbbc2324ae" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 109, + "charOffset": 1525, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1379, + "charLength": 353, + "snippet": { + "text": "
    \n
    \n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df9577532cdc3615", + "equalIndicator/v1": "6dd6ec91cf42ac2e65e3a231660ad460178bf35229d9ef11899d4eb97aae3ac5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 9, + "charOffset": 2794, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2770, + "charLength": 216, + "snippet": { + "text": " \n\n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30ee76962731d372", + "equalIndicator/v1": "6dd917401b69e14dbafbd6c86a269472014a7de1a28f2966b0301b342c57ad2e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 13, + "charOffset": 3249, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 3092, + "charLength": 305, + "snippet": { + "text": "

      \n
    • -
    • \n
    • -
    • \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "352adedd3edaee37", + "equalIndicator/v1": "6e58987a8b5e0f017ade2b77b67b0ad27bb5f487b605b33d36bbbb06de737bee" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 50, + "charOffset": 8775, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 8658, + "charLength": 862, + "snippet": { + "text": "
    \n
    \n \n 'vars[stripe_col_type]', 'id' => 'stripe_col_type', 'selected' => e($vars['stripe_col_type']), 'options' => MainPage::updateTranslations($settings[\"stripe_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'stripe', 'field' => 'vitals', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_STRIPE_VITAL_COLOUR, 'picker_list' => ['indi_stripe_dead_col' => 'Deceased', 'indi_stripe_living_col' => 'Living']]]); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c21e3c5f21fc0809", + "equalIndicator/v1": "6e973e5de4c22cc7e9549a45bd0b651c34d84d50ad290158e5b1c0db47df530a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2, + "startColumn": 26, + "charOffset": 31, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 128, + "snippet": { + "text": "\n
    \n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8e75aebe786a2113", + "equalIndicator/v1": "6f19b300d5edf0f7811a250de17f5a13733be18c94dcb212ac8ec8673420165a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 256, + "startColumn": 15, + "charOffset": 13413, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 254, + "startColumn": 1, + "charOffset": 13361, + "charLength": 107, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param string $id\n * @return void" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "328d95f22ed6f409", + "equalIndicator/v1": "6f1ed69d8ba80f386436b11b55563a92463e78cf642d8fcf17f7a606f59bd51c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 13, + "charOffset": 1218, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 956, + "charLength": 786, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "07711fd18eb462eb", + "equalIndicator/v1": "6f31f295c14068948803fc1acf286b0055792b39fda0bda45ca3f9948f15af5b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 142, + "startColumn": 182, + "charOffset": 14942, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 140, + "startColumn": 1, + "charOffset": 14707, + "charLength": 337, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7b127984532b39d", + "equalIndicator/v1": "6fb5907b8751bf7c37dfddc2a993975d62fc80fbd569298ede9b884fa8b40093" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 9, + "charOffset": 4831, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 4158, + "charLength": 951, + "snippet": { + "text": " Datahub but has been modified as for example the original CLDR name for the United Kingdom is "UK", and the original CLDR name for the United States is "US". Matching against these countries for the purposes of abbreviation is therefore pointless. So changes have been made to make this work better. Please open an issue on GitHub if you find a country is not abbreviating correctly.'); ?>\n

    \n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "28d39d4ca3c200ed", + "equalIndicator/v1": "70384a4528982540ba8e2930c2ea2bbd0d7e3f25cd06c619f0f732f95ad996e9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 148, + "startColumn": 44, + "charOffset": 4942, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 146, + "startColumn": 1, + "charOffset": 4801, + "charLength": 289, + "snippet": { + "text": " if ($token == '') {\n foreach ($sharedSettingsList as $key => $value) {\n if ($value['user'] === Auth::user()->id() &&\n $value['tree'] === $this->tree->id() &&\n $value['settings_id'] === $this->id) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42da776ba248220a", + "equalIndicator/v1": "7085a744ccf99e645afce23ef606f22b6794c46a35d001984885fbd633eff897" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 357, + "startColumn": 13, + "charOffset": 12996, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 355, + "startColumn": 1, + "charOffset": 12938, + "charLength": 164, + "snippet": { + "text": " private function addTreeFavourite()\n {\n if (Auth::isManager($this->tree)) {\n $this->addFavourite(Favourite::TYPE_TREE_FAVOURITE);\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cf5b38bdcd1a59c3", + "equalIndicator/v1": "70e222ce2b054f5b9545603a25c94ec698fccaf6e0bdd928efd8c159f411e18f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 412, + "startColumn": 12, + "charOffset": 12091, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 410, + "startColumn": 1, + "charOffset": 12023, + "charLength": 122, + "snippet": { + "text": "\t * the media object has to be in the clippings cart\n\t *\n\t * @param Individual $individual\n\t * @return MediaFile|null\n\t */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ccf02b1bda7caef5", + "equalIndicator/v1": "70e31e72bdf89988fb8b6a1cbf2c0b14be237c3af71d6f5ad78148b1d92d71e1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 334, + "startColumn": 42, + "charOffset": 16714, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 332, + "startColumn": 1, + "charOffset": 16618, + "charLength": 190, + "snippet": { + "text": " }\n if (isset($vars['photo_quality'])) {\n $settings['photo_quality'] = I18N::digits($vars['photo_quality']);\n }\n if (isset($vars['indi_tile_shape'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c9f53eb6c8df97d8", + "equalIndicator/v1": "714b70d4613fdf988d7744910d181f1b35871306c949fa4359d3c9e87d922ec5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 13, + "charOffset": 2924, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2901, + "charLength": 173, + "snippet": { + "text": "\n

      \n
    • -
    • \n
    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f940c374e0ee67ae", + "equalIndicator/v1": "7181f89c6c5184b2f950247dc6c6c660e2d56aafb3e1eb2c8ed12d1fd9c2e9d3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 241, + "startColumn": 40, + "charOffset": 11109, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 239, + "startColumn": 1, + "charOffset": 11017, + "charLength": 184, + "snippet": { + "text": " }\n if (isset($vars['bg_col_type'])) {\n $settings['bg_col_type'] = I18N::digits($vars[\"bg_col_type\"]);\n }\n if (isset($vars['stripe_col_type'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2525ad39d1e2a96c", + "equalIndicator/v1": "71a449a442c9ff65969ce738fadd9767d57a7adb505e28e3a634ae44a332c1ce" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 13, + "charOffset": 968, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 946, + "charLength": 370, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a0f2e29b94933c05", + "equalIndicator/v1": "72b66eb36dc18f2a5afeafda7cc785ab72fcf9932d59595c046e83eb18ef4750" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 9, + "charOffset": 898, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 794, + "charLength": 394, + "snippet": { + "text": "\n

      \n
      \n

      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f3a395c0db7fab30", + "equalIndicator/v1": "737447b8fd3f9963a042da3cd7af2cd6fd0670cac19e0e6c4e90a97e510e5b4d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Cookie.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14, + "startColumn": 13, + "charOffset": 219, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 12, + "startColumn": 1, + "charOffset": 179, + "charLength": 60, + "snippet": { + "text": "{\n private string $name;\n private Tree $tree;\n\n /**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d22ad9a9ad298b39", + "equalIndicator/v1": "74225164b7ab4be5a962a2ecde149ad7e8b4ffc7f9a17b27872fb7c768a90c0e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 52, + "charOffset": 1368, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1054, + "charLength": 897, + "snippet": { + "text": "

    • -
    • \n
    • -
    • \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa682275a6fcefb2", + "equalIndicator/v1": "74737ae3f140cc4e4c77a14ee3bce20fd248eb3ee14f2d55631995ebe7caee2f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 106, + "charOffset": 1312, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1085, + "charLength": 304, + "snippet": { + "text": " \n
      \n ()\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "17f04b5f3b827dfb", + "equalIndicator/v1": "74831f0694cda201c5057c7e100e8849676daa7d1e0b3a0d8719797e6d77a787" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 26, + "charOffset": 188, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 66, + "charLength": 159, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Http\\Exceptions\\HttpBadRequestException;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Tree;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30e62a0a89089477", + "equalIndicator/v1": "749a6f265cbda8228e4ccb76ae6df07b80dfc970dc3be1c7fe4f293b3f43fcc1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 17, + "charOffset": 4078, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 4042, + "charLength": 159, + "snippet": { + "text": " ]); ?>\n\n

    \n \n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "75daab16d0329ad1", + "equalIndicator/v1": "7592e74cf08be9d1c7a0e709fe5acc19e4fab9ad4d6a89b1498050174491cdb5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'MediaFile'", + "markdown": "Undefined class 'MediaFile'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 415, + "startColumn": 65, + "charOffset": 12210, + "charLength": 9, + "snippet": { + "text": "MediaFile" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 413, + "startColumn": 1, + "charOffset": 12114, + "charLength": 147, + "snippet": { + "text": "\t * @return MediaFile|null\n\t */\n\tprivate function preferedPhotoInCart(Individual $individual): ?MediaFile\n\t{\n\t\t$fact = $individual->facts(['OBJE'])" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1663c1a98bb712be", + "equalIndicator/v1": "7603ffbc2d4f08a1a4cd56cca897672a2055e93816feccd71deab47a1b3d3070" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 9, + "charOffset": 269, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 197, + "charLength": 256, + "snippet": { + "text": "/**\n * @var array $vars array of saved settings\n * @var Tree $tree webtrees tree object of current tree\n * @var GVExport $module this module\n * @var array $settings wider array of settings and options" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "59a268bee915608a", + "equalIndicator/v1": "7607794684629aedc80a62df398a23702fa2df17acdd5775e7cd95c69670179c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 176, + "startColumn": 334, + "charOffset": 18813, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 174, + "startColumn": 1, + "charOffset": 18410, + "charLength": 1019, + "snippet": { + "text": "

    \n
    \n >\n
    \" >\n \" />" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "71d2a211ea7c938c", + "equalIndicator/v1": "7685ece8f6ed5a6ab69cce04e21da501448048348c3d4986a2a6c295efb48834" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 174, + "startColumn": 36, + "charOffset": 5193, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 172, + "startColumn": 1, + "charOffset": 5124, + "charLength": 174, + "snippet": { + "text": " * @throws \\Exception\n */\n public function getChartAction(ServerRequestInterface $request): ResponseInterface\n {\n $tree = $request->getAttribute('tree');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e35b64d05befaa9f", + "equalIndicator/v1": "76a9fb8e3420f0717d203d0cac99b776ef5ec6769b759c0e7d1ab75459272345" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Date'", + "markdown": "Undefined class 'Date'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 534, + "startColumn": 95, + "charOffset": 20999, + "charLength": 4, + "snippet": { + "text": "Date" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 532, + "startColumn": 1, + "charOffset": 20845, + "charLength": 266, + "snippet": { + "text": "\n // Set marriage prefix only if marriage exists\n $married = !(empty($f->getMarriage()) && Date::compare($f->getMarriageDate(), new Date('')) == 0);\n if ($married) {\n $prefix = $this->settings[\"marriage_prefix\"] . ' ';" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b70b4fb2fadc83e6", + "equalIndicator/v1": "7758e56be1d3038a304739c699418cc246d253c7a421a83769dd1bd565863693" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 136, + "startColumn": 27, + "charOffset": 3807, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 134, + "startColumn": 1, + "charOffset": 3746, + "charLength": 150, + "snippet": { + "text": "\n\t\tforeach ($records as $record) {\n\t\t\tif ($record instanceof Individual) {\n\t\t\t\tif ($this->combinedMode) {\n\t\t\t\t\t$this->enhanceIndividualsList($record);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "983ec926aac9e083", + "equalIndicator/v1": "776027da2689586b16ba8a570d445c313e872df80735a04ff3367a2e19411bc1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 497, + "startColumn": 15, + "charOffset": 21103, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 495, + "startColumn": 1, + "charOffset": 21037, + "charLength": 125, + "snippet": { + "text": " * rounded corners based on the settings\n *\n * @param Individual $i\n * @param int $option\n * @return bool" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f3f33f774125db7", + "equalIndicator/v1": "778921337b8869ea547660496630b32f56e1d694cb632bd19039be9ebe852a48" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 9, + "charOffset": 4895, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 4823, + "charLength": 354, + "snippet": { + "text": "
    \n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11923036493deac0", + "equalIndicator/v1": "77b42e2059b90c6a80e18b219d9eec84ce9a09ddd27c0e89fd5d641c636a87d3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 154, + "startColumn": 222, + "charOffset": 16236, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 152, + "startColumn": 1, + "charOffset": 15961, + "charLength": 395, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1942740d5f91d08c", + "equalIndicator/v1": "77d990c98d221c1b24a2b9759f244ada10fa69a95e7a007c1bae55fcb620045b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 114, + "startColumn": 234, + "charOffset": 12830, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 112, + "startColumn": 1, + "charOffset": 12379, + "charLength": 674, + "snippet": { + "text": "\n
    >\n \" />\n \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a108d59964e87a3", + "equalIndicator/v1": "7a1a2934222aa21b9e9a750957ab81f873c7d559d58b351f5d62ecbb441c221b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 9, + "charOffset": 6375, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 6303, + "charLength": 255, + "snippet": { + "text": "
    \n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "449c5469ad5e82c5", + "equalIndicator/v1": "7a6a83b87182ba6dfb2c3f1004fe0acdad71a8db9c02a9e883f3e22535447410" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 404, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 311, + "charLength": 352, + "snippet": { + "text": "name() . '::MainPage/Help/HelpHeader',['name' => $page_name]); ?>\n\n

    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a9a544b1c2f65f28", + "equalIndicator/v1": "7a796471f7f20b648ca63f9ebfa94265a4484bcf048b37ef68b96ca8d0be3297" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Output file.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "575210c1a16479b5", + "equalIndicator/v1": "7abf9d7ef4b4c98f97bda1df28edbceaa0b57e6cf07fee92806afbc17d07033f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 51, + "charOffset": 2122, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1806, + "charLength": 737, + "snippet": { + "text": "

  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • - " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d6ebed63935d4748", + "equalIndicator/v1": "7b0b1bf6b0efcbcfd3ab20590c3cab69f898f4ed1909301ae6248602830779bd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 9, + "charOffset": 854, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 837, + "charLength": 118, + "snippet": { + "text": "

    \n

    \n \n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d4508b78803289aa", + "equalIndicator/v1": "7b0c61d65c977b5c84e7b69c458375bf745af043768d8bfde099daa68ba724ff" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 65, + "charOffset": 2016, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1546, + "charLength": 633, + "snippet": { + "text": "
    • -
    • \n
    • -
    • \n
    • -
    • \n
    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae2d9fa154b705ce", + "equalIndicator/v1": "7b1e430a702fcf91b066f8febbc005607aad05ae3e07d7dd0037a64742fd8e02" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 109, + "charOffset": 2198, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 2078, + "charLength": 301, + "snippet": { + "text": "

  • \n\n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0d51acc3b33c0daa", + "equalIndicator/v1": "7b6a38f42f8b28e57404851c35e2cbfeb649969f5279d799ee5dad43a038e9b9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 231, + "startColumn": 69, + "charOffset": 7302, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 229, + "startColumn": 1, + "charOffset": 7203, + "charLength": 172, + "snippet": { + "text": "\t * @param Family $family\n\t */\n\tprivate function addInfoForExistingFamily (Individual $individual, Family $family) {\n\t\t$pid = $individual->xref();\n\t\t$fid = $family->xref();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ddc68870bb79c4c", + "equalIndicator/v1": "7b7a76669a880f545b41758c9604b851fd870fc7cc2574c51d1a91060098c908" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 162, + "charOffset": 2418, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2016, + "charLength": 935, + "snippet": { + "text": " \">\n \n \" value=\"\">\n \n \" value=\"\">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3b836ba096106263", + "equalIndicator/v1": "7c72c9e25673b5283b34351e518f99e640dfcecb90ca4cd170fa449596e30b02" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 92, + "charOffset": 1424, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 871, + "charLength": 1256, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "298e18f2941d95f9", + "equalIndicator/v1": "7cd56eaff7999ca4e0840f02ec71180aae89898a413fe834ce6e8c1ed69e33a0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 139, + "startColumn": 54, + "charOffset": 6193, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 137, + "startColumn": 1, + "charOffset": 6103, + "charLength": 136, + "snippet": { + "text": "\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7bcdbb2bf45e6286", + "equalIndicator/v1": "7e0140b8151187b0a7c7f986eb610b27b9bfeb01c05704effb9610c22201c88a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 92, + "charOffset": 1944, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1333, + "charLength": 1404, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d961f43b72a22e26", + "equalIndicator/v1": "7e14226b9315c8387bb57f93abfb2e04bab1a33f202cc578a68dab8907f5e3f0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/NonRelatives.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 15, + "startColumn": 69, + "charOffset": 720, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 13, + "startColumn": 1, + "charOffset": 349, + "charLength": 744, + "snippet": { + "text": "
    \n >\n \n \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dbb9722935a617db", + "equalIndicator/v1": "7efeb7765ed56225a038225ae69782c3174b1eee898e04c7010a22e3004d3dc0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Home.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 14, + "startColumn": 9, + "charOffset": 226, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 12, + "startColumn": 1, + "charOffset": 154, + "charLength": 230, + "snippet": { + "text": "

    \n

    \n \n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b3ac453b16a2b82c", + "equalIndicator/v1": "7f78f2076c02ed9426b481fc3674bf07c877a34e3b305ba93ba8235002178876" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 35, + "charOffset": 915, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 699, + "charLength": 282, + "snippet": { + "text": "
      \n \">\n
      \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e437839c522410f9", + "equalIndicator/v1": "7f886473c2a3dccacaec593e0ba51bc7d1e0c8f83655f9437e6d86b673df2a74" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Webtrees'", + "markdown": "Undefined class 'Webtrees'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 26, + "charOffset": 2294, + "charLength": 8, + "snippet": { + "text": "Webtrees" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 2207, + "charLength": 181, + "snippet": { + "text": "use Fisharebest\\Webtrees\\View;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Webtrees;\nuse Psr\\Http\\Message\\ResponseInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "65b60c48c2da5559", + "equalIndicator/v1": "7fada9e5866fcc71e2a1d68897a7f2478f57d2236346c13438963d36b3bad52b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7262d01c8658b6fb", + "equalIndicator/v1": "7fd163c00204af0085b0c2f68581eb3d35bfb1e8ae76039492b1198b4fd0d023" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 83, + "charOffset": 1645, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 1330, + "charLength": 432, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "82771027ef8279dc", + "equalIndicator/v1": "7febac4b55edce299de644c31c32d45b964df42a91bb1a0a2f2164cd33f3184b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 167, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 51, + "charLength": 159, + "snippet": { + "text": "use Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Http\\RequestHandlers\\ControlPanel;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Tree;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "84f8f80a7f139023", + "equalIndicator/v1": "7ff9e835f28154ca507b3c3f4ae023ef223457e5419f876ed2dbb4a6282d25d6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 9, + "charOffset": 456, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 396, + "charLength": 273, + "snippet": { + "text": "

    \n

    \n \n

    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "222cd745f6404328", + "equalIndicator/v1": "806a97d031a5af8010190a6eef76916c6d60bb7e6a4186fa735a650a4cdd8d24" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ControlPanel'", + "markdown": "Undefined class 'ControlPanel'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 47, + "charOffset": 128, + "charLength": 12, + "snippet": { + "text": "ControlPanel" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 159, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Http\\RequestHandlers\\ControlPanel;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "388e259d42216ac8", + "equalIndicator/v1": "80be2fbba8c752e9f66eb4eda79f02e06154e892664c9415f8c0ac4ca265754c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 55, + "charOffset": 2523, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 2459, + "charLength": 172, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2264e1cb51a30818", + "equalIndicator/v1": "8140c08c80199273b74422bd845e1dff030db8db63cb450316ee9d670bda0241" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 5, + "charOffset": 798, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 746, + "charLength": 199, + "snippet": { + "text": "

      \n

      \n\n

      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba3022ca0361eb5a", + "equalIndicator/v1": "814fff84f9a88327546ff4142daf0447c18686eb84804f4b2a3afa6afaa6d201" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 57, + "charOffset": 5351, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 5081, + "charLength": 359, + "snippet": { + "text": "
      \n >\n \n
      \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4d8b58310d90b0ba", + "equalIndicator/v1": "81654181543c9a26efa0c111f3330e9255769e384332d3cd446aa619de789a66" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 457, + "startColumn": 34, + "charOffset": 19983, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 455, + "startColumn": 1, + "charOffset": 19920, + "charLength": 120, + "snippet": { + "text": " * @return string\n */\n private function getSexFull(?Individual $i): string\n {\n switch ($i->sex()) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0f61b3444d9d442c", + "equalIndicator/v1": "8225ca7a4bdb7d85a1b80086dfe177bb75b782a4b08c9cd9825e2dbd3c53e6a4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 28, + "charOffset": 945, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 856, + "charLength": 213, + "snippet": { + "text": " $this->module = $module;\n $this->tree = $tree;\n $this->json_data = Validator::parsedBody($this->request)->string('json_data');\n $this->json = json_decode($this->json_data, true);\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "84bfec5e9c1e1b0b", + "equalIndicator/v1": "823c4e7f01511ca6baf7f3f506b6349ff69540cc3ec9edce495fea09b7fbcc46" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 9, + "charOffset": 2858, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 2786, + "charLength": 210, + "snippet": { + "text": "
    \n

    \n \n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "20fedcdf253518df", + "equalIndicator/v1": "827ece75564aea99a22f540c439e996943b3fdff4b16e0b8dc1c25a2fc9237be" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 130, + "startColumn": 38, + "charOffset": 14041, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 128, + "startColumn": 1, + "charOffset": 13873, + "charLength": 281, + "snippet": { + "text": " echo I18N::translate('No styles set based on shared notes.');\n } else {\n echo I18N::translate('%s shared note styles saved.', $count);\n }\n ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "07d7616c62696a8b", + "equalIndicator/v1": "829662dbd8fa65a04691c2d20c2830f014d9dd78cd2c7676232d52e367d4f593" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 152, + "startColumn": 27, + "charOffset": 6880, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 150, + "startColumn": 1, + "charOffset": 6825, + "charLength": 441, + "snippet": { + "text": "
    \n
    \n \" onclick=\"\" class=\"search_icon pointer\" id=\"searchButton\">\n
    'diagram_search_box', 'id' => 'diagram_search_box', 'tree' => $tree, 'individual' => \"\", 'required'=>false]); ?>
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a8d81fafa9adfa92", + "equalIndicator/v1": "83089a506fef4f58a8b1c529745c6a5c97cf7f8fa346ecc706d5e6c4c9d122a4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 83, + "charOffset": 5530, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 5176, + "charLength": 401, + "snippet": { + "text": " \n chartUrl($individual, ['reset' => '1']) ?>\" class=\"btn btn-outline-secondary\">\n \n
    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5a077f0cdfee74b2", + "equalIndicator/v1": "83823d258fa67f6d3364dcacdc4e4c406faae37823328f95407409b60a2fcfc2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 95, + "startColumn": 57, + "charOffset": 6909, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 93, + "startColumn": 1, + "charOffset": 6637, + "charLength": 361, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "47d8beabd755f2d7", + "equalIndicator/v1": "8399b539657e788074eada2be51cb1a4a8ea9afd4e9a18b8ab46767e894e7b8c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Include anyone related to.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cd9d160dcdd958bd", + "equalIndicator/v1": "8484a300122dc327564091175eb961b04968185bce5b909a9192613cb742776c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 183, + "startColumn": 40, + "charOffset": 8742, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 181, + "startColumn": 1, + "charOffset": 8647, + "charLength": 177, + "snippet": { + "text": " removeError(\"indi-error\");\n } else {\n addError(\"indi-error\",\"\");\n }\n e.preventDefault();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e268939e0b8b4713", + "equalIndicator/v1": "8511bbc2b54a60b82305da579d2dd87032c4ca123f15af208d4d58fd048b0338" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Message history.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 389, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 376, + "charLength": 197, + "snippet": { + "text": "\n

    \n \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "793388c375c03318", + "equalIndicator/v1": "8525c1bba807beaad8fbc2167cd4ec8470f36961d725413c7446eb4c49c3539a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Fact'", + "markdown": "Undefined class 'Fact'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 424, + "startColumn": 24, + "charOffset": 12457, + "charLength": 4, + "snippet": { + "text": "Fact" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 422, + "startColumn": 1, + "charOffset": 12426, + "charLength": 171, + "snippet": { + "text": "\t\t\t});\n\n\t\tif ($fact instanceof Fact && $fact->target() instanceof Media && $this->isXrefInCart($fact->target()->xref())) {\n\t\t\treturn $fact->target()->firstImageFile();\n\t\t}" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8536395bd98e65f5", + "equalIndicator/v1": "85de03776fe4ccf298cae4d4df4dbaeb43f187d1d7957c8021ba8dc367335ba0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 591, + "startColumn": 15, + "charOffset": 25891, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 589, + "startColumn": 1, + "charOffset": 25839, + "charLength": 92, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @return string\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b4bcdfdb53575d8c", + "equalIndicator/v1": "85fc209691f7d5db5f8b7bceee181ea43d38950048edc3bc326d758494a0b28a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 58, + "startColumn": 13, + "charOffset": 3792, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 56, + "startColumn": 1, + "charOffset": 3412, + "charLength": 741, + "snippet": { + "text": "
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CA"'); ?>\n
  • \n
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CAN"'); ?>\n
  • \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7910fe3da10a8c81", + "equalIndicator/v1": "871d7f5f34832d3a932bc9047ddc851086799b6201324034b9691c80a86ccf66" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 18, + "startColumn": 34, + "charOffset": 665, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 16, + "startColumn": 1, + "charOffset": 500, + "charLength": 380, + "snippet": { + "text": "
    \n
    \n \n
    \n \n
      \n
    • -
    • \n
    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a300d91b4031c62b", + "equalIndicator/v1": "877eacb64459d14c53764342863a08837918ae700d481b909a4810ef8dda17a7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 17, + "charOffset": 3413, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 3381, + "charLength": 102, + "snippet": { + "text": "

    \n\n

    \n\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db3ad75c8c2b8827", + "equalIndicator/v1": "87ea59aca630b8c595fd63dac939c5b3f2fe9c9a55599569b2c2a2a0408f13c3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/BrowserRender.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 120, + "charOffset": 986, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 725, + "charLength": 407, + "snippet": { + "text": "
    \n \n 'vars[click_action_indi]', 'id' => 'click_action_indi', 'selected' => I18N::digits($vars['click_action_indi']), 'options' => MainPage::updateTranslations($settings[\"click_action_indi_options\"])]) ?>\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0aa37e106326f43e", + "equalIndicator/v1": "87f5abf0d17d1f546ec19ff12e0a8873f5f541166100a94b3fd0d8d0062c1549" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/OutputFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 44, + "charOffset": 1294, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 1008, + "charLength": 577, + "snippet": { + "text": "
    >\n
    \n \n 'vars[photo_quality]', 'id' => 'photo_quality', 'selected' => e($vars['photo_quality']), 'options' => MainPage::updateTranslations($settings[\"photo_quality_options\"])]) ?>\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c31e54ed7cc46327", + "equalIndicator/v1": "884b5fa2afaec73298f0f58351bee695e41fa21b3700b57ed3a3936499185efa" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 98, + "startColumn": 23, + "charOffset": 2775, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 96, + "startColumn": 1, + "charOffset": 2728, + "charLength": 157, + "snippet": { + "text": "\t * @param int $dpi\n\t */\n\tfunction __construct(Tree $tree, bool $photoIsRequired, bool $combinedMode, int $dpi) {\n\t\t$this->tree = $tree;\n\t\t$this->dpi = $dpi;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a3d4756ccb458b14", + "equalIndicator/v1": "886f1d7923e530269e672c271c8b1b30b0528c68c83515aac3a603d6c710ab29" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 15, + "startColumn": 44, + "charOffset": 523, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 13, + "startColumn": 1, + "charOffset": 358, + "charLength": 385, + "snippet": { + "text": " \n
    \n \n >
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "280e396d307fe9b5", + "equalIndicator/v1": "8889c8e510425b249d919cc9905a1583be6527deaab37763f757ce2dbacb5a29" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 708, + "startColumn": 15, + "charOffset": 29734, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 706, + "startColumn": 1, + "charOffset": 29682, + "charLength": 112, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param string $id_list\n * @return bool" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6664a488f755a89d", + "equalIndicator/v1": "8915875f0ce144d7f0accfe8e9b6ca8cc11892971f5414ebc28e39e44992f29b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 194, + "startColumn": 96, + "charOffset": 20644, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 192, + "startColumn": 1, + "charOffset": 20523, + "charLength": 292, + "snippet": { + "text": "
    \n
    \n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a814993ebdbfcb5", + "equalIndicator/v1": "89276d79559bdd5b903b359c6f8d66ae23ae3112630fa207a6d254b89733bd22" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18n'", + "markdown": "Undefined class 'I18n'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 26, + "charOffset": 1260, + "charLength": 4, + "snippet": { + "text": "I18n" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1171, + "charLength": 166, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Date;\nuse Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\I18n;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Registry;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "45a12334018b3351", + "equalIndicator/v1": "89dcf6f0e3e3547aa1304e9b8a6280ee164b32301716527f009922c05f5f402c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1356, + "startColumn": 28, + "charOffset": 52976, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1354, + "startColumn": 1, + "charOffset": 52894, + "charLength": 176, + "snippet": { + "text": " break;\n case 'INT':\n $tmp = I18N::translate('interpreted %s', $d1);\n break;\n case 'BEF':" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3e56f4102f911b96", + "equalIndicator/v1": "89ef474eb6432549c847a904ceed736890462051d0d8daf400491ffd3fd33f61" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 49, + "charOffset": 1254, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 956, + "charLength": 786, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fb814f6c0192e94", + "equalIndicator/v1": "89f23c3717a469a6268c50325c8cc6251fabc7b4cbf0ed6599d266b0ee2ee1e3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 87, + "startColumn": 103, + "charOffset": 6669, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 85, + "startColumn": 1, + "charOffset": 6533, + "charLength": 335, + "snippet": { + "text": "
    \n \n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "581a8c5b360b86cc", + "equalIndicator/v1": "89f73f1d260cd212a84f4122a68d91112466d79ba95096d5c4bbf6934e39560a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2, + "startColumn": 26, + "charOffset": 31, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 104, + "snippet": { + "text": "\n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1094c5b1f8144e96", + "equalIndicator/v1": "8b178dccc53f171d93da07bafdd106ffcded300dc621e210640e3e0371433a86" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1365, + "startColumn": 28, + "charOffset": 53293, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1363, + "startColumn": 1, + "charOffset": 53210, + "charLength": 169, + "snippet": { + "text": " break;\n case 'FROM':\n $tmp = I18N::translate('from %s', $d1);\n break;\n case 'TO':" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23de07c4a6516e76", + "equalIndicator/v1": "8b1d983567e792802b2d8a2a11505546e7bdecae8583a30a705ab8eb982b3946" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 13, + "charOffset": 883, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 861, + "charLength": 746, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "86ba5dd78dda054e", + "equalIndicator/v1": "8b4cd0df5809d7ace3e43e388c52277fada9a4132b73e6ab8fccbae383477653" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 118, + "snippet": { + "text": "\",\n \"Rename\":\"\",\n \"No styles set based on shared notes.\":\"\",\n \"%s shared note styles saved.\":\"\",\n \"Add individual to list of starting individuals\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "69e0abd000dac9b7", + "equalIndicator/v1": "8d2814d9cc7c8adc6b9aabcc4ca79f29340ceed532e5d3081e251b4d7251da7a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 688, + "startColumn": 126, + "charOffset": 28898, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 686, + "startColumn": 1, + "charOffset": 28678, + "charLength": 341, + "snippet": { + "text": " private function addUserSettings(GVExport $module, Tree $tree, string $id, array $s)\n {\n $prefs_json = $module->getPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), \"preference not set\");\n if ($prefs_json == \"preference not set\") {\n $settings = [];" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c1035025adac3cdb", + "equalIndicator/v1": "8d9f92852b8cd26b25cda6e73b030cda9ff9c0ea9640772de9037dd3bb74aef0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 85, + "startColumn": 21, + "charOffset": 4656, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 83, + "startColumn": 1, + "charOffset": 4590, + "charLength": 188, + "snippet": { + "text": " ]); ?>\n
    \n

    \n
    \n >\n
    \" >\n \" />\n
    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1baab6ae5e05153c", + "equalIndicator/v1": "8e14aaaa9bef1310c2e916a13cb490871c15877bce3f1623da54f06cc78c8548" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 9, + "charOffset": 2095, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 2085, + "charLength": 377, + "snippet": { + "text": "\n\n

    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ce5e7559e1dee9af", + "equalIndicator/v1": "8e3c9ff466d10679214a1e229e161b66a2b4b732098b4190f951a3d31b082e68" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 122, + "charOffset": 2349, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 2081, + "charLength": 447, + "snippet": { + "text": "

    \n \n 'vars[use_abbr_place]', 'id' => 'use_abbr_place', 'selected' => I18N::digits($vars['use_abbr_place']), 'options' => MainPage::updateTranslations($settings[\"use_abbr_places\"])]) ?>\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "06964a94ab10add4", + "equalIndicator/v1": "8e47b4eae29eab5610fedd375c0235944f2e56e7a3abcfbfe11000f2ea8bb668" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/OutputFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 76, + "charOffset": 1825, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 1586, + "charLength": 323, + "snippet": { + "text": "\n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6c1664a7da439a0", + "equalIndicator/v1": "8ef29534e2f5628b51cf04ba0a83b963268d11e7f1a191c52c89743edb554119" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 119, + "startColumn": 75, + "charOffset": 6174, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 117, + "startColumn": 1, + "charOffset": 5998, + "charLength": 238, + "snippet": { + "text": " $resetLink = $configLink . (strpos($configLink, '?') ? \"&\" : \"?\") . \"reset=1\";\n ?>\n \" class=\"btn btn-outline-secondary\">\n \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "04446c62b66d9c76", + "equalIndicator/v1": "8f1abedf53b9a2d21120b5fe033514e145c6366478c0f4df30b31b120e8d8a0b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8269d13840efc307", + "equalIndicator/v1": "8f8544f1c9760af0798888356162e8439fe67a678e98da2eec039c858f22f29e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 205, + "startColumn": 40, + "charOffset": 21525, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 203, + "startColumn": 1, + "charOffset": 21289, + "charLength": 485, + "snippet": { + "text": " \">\n
    \n \n
    \n \">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0407ea8969726c9", + "equalIndicator/v1": "8faaec58c8ffcdd3512f856f4b93ddba77ebe84c2aafccf545015da31dad31fa" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 76, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 171, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Http\\RequestHandlers\\ControlPanel;\nuse Fisharebest\\Webtrees\\Individual;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8c246e4699d8dfd0", + "equalIndicator/v1": "8fdc7d37d63dd1b70e97ef1eff275a43c5fe6f68ef5f9f8b74f33f29854c10b8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/BrowserRender.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 34, + "charOffset": 683, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 409, + "charLength": 457, + "snippet": { + "text": "
    \n name=\"vars[auto_update]\" id=\"auto_update\" value=\"auto_update\" >\n \n
    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3e67afcd2464ca9d", + "equalIndicator/v1": "9150ddcad28574ef15057184b02d7d00b03e478e93c620d0120fbd371a87ebe5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomRecord'", + "markdown": "Undefined class 'GedcomRecord'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 363, + "startColumn": 54, + "charOffset": 10502, + "charLength": 12, + "snippet": { + "text": "GedcomRecord" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 361, + "startColumn": 1, + "charOffset": 10416, + "charLength": 192, + "snippet": { + "text": "\n\t\t// group and sort the records\n\t\tuasort($records, static function (GedcomRecord $x, GedcomRecord $y): int {\n\t\t\treturn $x->tag() <=> $y->tag() ?: GedcomRecord::nameComparator()($x, $y);\n\t\t});" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "067e6d1cc36df8ea", + "equalIndicator/v1": "9189a77911c976d0b08ed4f197d89674af79726799974cbb2149b243e494ab32" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 501, + "startColumn": 38, + "charOffset": 21208, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 499, + "startColumn": 1, + "charOffset": 21143, + "charLength": 131, + "snippet": { + "text": " * @return bool\n */\n private function shouldBeRounded(Individual $i, int $option): bool\n {\n switch ($option) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f7a8f55dace2518", + "equalIndicator/v1": "91a51bdfde5a85f6485b6d0e383de8bbd78e5cd920f144c9a9da2c831693b4cd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 712, + "startColumn": 58, + "charOffset": 29860, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 710, + "startColumn": 1, + "charOffset": 29775, + "charLength": 190, + "snippet": { + "text": " * @return bool\n */\n private function setSettingsIdList(GVExport $module, Tree $tree, string $id_list): bool\n {\n $use_cookie = Auth::user()->id() == self::GUEST_USER_ID;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "92fe3ccd6b465954", + "equalIndicator/v1": "927b6cbcd87b84004357cf0ec29ec681f07164b3cd0ae796405a66222c65bb15" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 9, + "charOffset": 2633, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2534, + "charLength": 270, + "snippet": { + "text": " \n

    \n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1b8f1652da8855f6", + "equalIndicator/v1": "92952b728a648058b5f8efdcb91b501857fd3649091be151967ab7cdec044e67" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseFactoryInterface'", + "markdown": "Undefined class 'ResponseFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 33, + "charOffset": 1357, + "charLength": 24, + "snippet": { + "text": "ResponseFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1186, + "charLength": 287, + "snippet": { + "text": " public function getResponse() {\n $stream = app(StreamFactoryInterface::class)->createStream(json_encode($this->response_data));\n $response_factory = app(ResponseFactoryInterface::class);\n return $response_factory->createResponse()\n ->withBody($stream)" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7157a46feb12d559", + "equalIndicator/v1": "92bbbe12aefa429d7d7649b143ffadad00c9c6e4cf75d49af9eb73115f3183a3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseInterface'", + "markdown": "Undefined class 'ResponseInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 236, + "startColumn": 37, + "charOffset": 7860, + "charLength": 17, + "snippet": { + "text": "ResponseInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 234, + "startColumn": 1, + "charOffset": 7786, + "charLength": 122, + "snippet": { + "text": " * @throws \\JsonException\n */\n public function getJSAction() : ResponseInterface\n {\n return response(" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1f3ba80c69590207", + "equalIndicator/v1": "9318c3f03d3ca8d87ae4aa55cf842f8ac5f8ad0f72d5fb203bf525e7c9eb984f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 13, + "charOffset": 2481, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 2459, + "charLength": 172, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f79768e379166de", + "equalIndicator/v1": "93374513bf4e6ef25302d7b23975b603406d1d92cdc50599eb6b5f3f47eaae37" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "79fe1993c12c1e21", + "equalIndicator/v1": "9383f24075a55faf67cd73ec033fdd0fe23bee1728df8365ff59fa5a67c72319" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 454, + "startColumn": 15, + "charOffset": 19901, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 452, + "startColumn": 1, + "charOffset": 19811, + "charLength": 138, + "snippet": { + "text": " * Given an individual, return the sex of the individual in full\n *\n * @param Individual|null $i\n * @return string\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70e58ff2d73cf0e0", + "equalIndicator/v1": "93df81abcecade66241f2f72c471c348d46bffa194d47f94a3fee51183e8364f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 194, + "startColumn": 40, + "charOffset": 9149, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 192, + "startColumn": 1, + "charOffset": 9054, + "charLength": 181, + "snippet": { + "text": " removeError(\"indi-error\");\n } else {\n addError(\"indi-error\",\"\");\n e.preventDefault();\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fcc7cab4ebc11208", + "equalIndicator/v1": "9456d758f86ab786fa06fbdff1cba0139163ccdfda9e0cc589a87db9555feea1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Help.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 75, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 79, + "snippet": { + "text": "\nnamespace vendor\\WebtreesModules\\gvexport;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7132e5e7214cd20b", + "equalIndicator/v1": "946bf23e55260b7ae28be8f469045faba18ed71c170afbfa85028a200d24183e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/StopProcessingOn.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 114, + "snippet": { + "text": "response_data['success'] = false;\n $this->response_data['json'] = $this->json_data;\n $this->response_data['errorMessage'] = I18N::translate('Invalid request') . \": \" . $type;\n }\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "55315d95a7ac0646", + "equalIndicator/v1": "95ed49acee3e59f45194fe5b4bf8539191228f3cd510c777d716dfdacb3811ea" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 148, + "startColumn": 27, + "charOffset": 6498, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 146, + "startColumn": 1, + "charOffset": 6419, + "charLength": 420, + "snippet": { + "text": "
      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8f337b14a610738c", + "equalIndicator/v1": "95f1a4059ed206e1b806564f277a16e412f4eb992e9427b7d4b9049f505e9b54" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 87, + "charOffset": 1665, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 1446, + "charLength": 683, + "snippet": { + "text": " \"Overwrite\":\"\",\n \"Individual not found\":\"\",\n \"Diagram will be rendered in browser as server doesn't support photo shapes\":\"\",\n \"Message history\":\"\",\n \"Your browser does not support exporting images this large. Please reduce number of records, reduce DPI setting, or use SVG option.\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a7d3e819d6492038", + "equalIndicator/v1": "961be9a433eafb7738ebd007ce0619c9ba5521f8ff2154bf4d0fbdb1579ee96b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 9, + "charOffset": 6567, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 6494, + "charLength": 207, + "snippet": { + "text": "

      \n

      \n
      \n

      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "78e68899c156d8e6", + "equalIndicator/v1": "9628108f1654cdef1feb0e1d43445a6e4baadc66e66648fc5b7bfd614a11fb05" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 30, + "charOffset": 4005, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 3969, + "charLength": 155, + "snippet": { + "text": " }\n\n public function chartUrl(Individual $individual, array $parameters = []): string\n {\n return route('module', array_merge($parameters, [" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f2e8907ac8530bd6", + "equalIndicator/v1": "963918c922972900c1e2c54ab04fc3ab78d87b87fff01e42051061012304264f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1185, + "startColumn": 10, + "charOffset": 46111, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1183, + "startColumn": 1, + "charOffset": 46050, + "charLength": 120, + "snippet": { + "text": "\tfunction getUpdatedPerson($pid): ?Individual\n {\n\t\treturn Registry::individualFactory()->make($pid, $this->tree);\n\t}\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1e60295edf5d3201", + "equalIndicator/v1": "9693641fa79781104c2eaf04eba78cab284c9820aba2b20cbe1ecc0e679ea5bb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 54, + "charOffset": 1859, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1665, + "charLength": 517, + "snippet": { + "text": " \n

    • -
    • \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f370aa3edd20f083", + "equalIndicator/v1": "96af5a1bcd8d6b934dd8c2190662fb5939db859ca8a0004cd10274ad17d01abf" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 367, + "startColumn": 32, + "charOffset": 18166, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 365, + "startColumn": 1, + "charOffset": 18099, + "charLength": 143, + "snippet": { + "text": "\n if (isset($vars['dpi'])) {\n $settings['dpi'] = I18N::digits($vars['dpi']);\n }\n if (isset($vars['ranksep'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7a3d709ea85878d", + "equalIndicator/v1": "96b61d9bf273958aaf8fd1df668380f58528c538c10895d6f8773e805666187a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 9, + "charOffset": 1281, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1263, + "charLength": 277, + "snippet": { + "text": "\n

      \n \n

      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba558fd65ec14778", + "equalIndicator/v1": "96c13692bdf1f180ebec42c9232763bc00713a0eae392377ac50d8f2b06fc8c4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseFactoryInterface'", + "markdown": "Undefined class 'ResponseFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/OutputFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 33, + "charOffset": 1008, + "charLength": 24, + "snippet": { + "text": "ResponseFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 928, + "charLength": 196, + "snippet": { + "text": " {\n $stream = $this->getFileStream();\n $response_factory = app(ResponseFactoryInterface::class);\n return $response_factory->createResponse()\n ->withBody($stream)" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "63900e3060699552", + "equalIndicator/v1": "9741ad2278bae23d02d2553908d1416aade4754e497b43bb7f240b537cbb7df6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13, + "startColumn": 37, + "charOffset": 450, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 11, + "startColumn": 1, + "charOffset": 258, + "charLength": 419, + "snippet": { + "text": " \"Revoke link\":\"\",\n \"Revoked access to shared link\":\"\",\n \"Copied link to clipboard\":\"\",\n \"Failed to copy link to clipboard\":\"\",\n \"Copy manually below\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6405a077a28452ac", + "equalIndicator/v1": "97e7687d7ef22c94ad4016559b4d3eda2addc719aa6e7f1c2a290243ad020dea" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 21, + "charOffset": 3107, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 3043, + "charLength": 128, + "snippet": { + "text": "
      \n
      \n

      \n
      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "47cacd435cac429d", + "equalIndicator/v1": "98087af6c04b313d84aebfee76b3ab19e66c4f121dd47423e942be1981c4aebb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 406, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 393, + "charLength": 235, + "snippet": { + "text": "\n

      \n \n

      \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fd6bf27f6420f644", + "equalIndicator/v1": "98411c7ed892d0ebda84b5b3e0b6118daec406240eff6207b368ba0555a33d35" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 594, + "startColumn": 53, + "charOffset": 25984, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 592, + "startColumn": 1, + "charOffset": 25902, + "charLength": 168, + "snippet": { + "text": " * @return string\n */\n public function newSettingsId(GVExport $module, Tree $tree): string\n {\n $id_list = $this->getSettingsIdList($module, $tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f7a58643718c514", + "equalIndicator/v1": "991f06bbc1a43151963d1dc932698c8eff34e6878caa1a4167f2e049c3696321" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 53, + "charOffset": 2790, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 2128, + "charLength": 769, + "snippet": { + "text": "
    • -
    • \n
    • -
    • \n
    • -
    • \n
    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a03bb078f4845075", + "equalIndicator/v1": "9946605065ca8f91642f35e1674d790d7bc7d89b7a62b384b176ff081ef1bf71" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/StopProcessingOn.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 84, + "charOffset": 715, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 620, + "charLength": 246, + "snippet": { + "text": "\n

    \n
    \n
    >\n \n >\n \n
    >\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e88f97113f17b0f3", + "equalIndicator/v1": "996d68cf1b9d395964272d3bb00789526267173d9e5fefcb032e3fcfdbe6be84" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 400, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 387, + "charLength": 188, + "snippet": { + "text": "\n

    \n :\n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae7bd513ed471f62", + "equalIndicator/v1": "9a03051b11ecb7723821daa8b40abe9057448aac6e4a56f9a6b4d2edd0c33944" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 187, + "startColumn": 182, + "charOffset": 20170, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 185, + "startColumn": 1, + "charOffset": 19935, + "charLength": 336, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70185e3754b9dd05", + "equalIndicator/v1": "9a2be25d3563eec73ef53b85ec952cc1d7e2616c219e6eaa66ce23c56a7b0a18" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 15, + "startColumn": 95, + "charOffset": 459, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 13, + "startColumn": 1, + "charOffset": 269, + "charLength": 362, + "snippet": { + "text": "\n
    \n
    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc6d5d5cf6793351", + "equalIndicator/v1": "9a45a0e8d581334f3dfc64c70049cff598f0e0f70af21e225a9bafa4ab1395d2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 185, + "startColumn": 80, + "charOffset": 5750, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 183, + "startColumn": 1, + "charOffset": 5562, + "charLength": 318, + "snippet": { + "text": " $xref = $tree->getUserPreference(Auth::user(), UserInterface::PREF_TREE_ACCOUNT_XREF);\n }\n $individual = $this->getIndividual($tree, $tree->significantIndividual(Auth::user(), $xref)->xref());\n\t\t$userDefaultVars = (new Settings())->getAdminSettings($this);\n $settings = new Settings();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "85eadddaaf43fbe8", + "equalIndicator/v1": "9a52064935832ef38a5de1d9d90430341c23fab88b34f6b19415deccfd6366f7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'StreamFactoryInterface'", + "markdown": "Undefined class 'StreamFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/OutputFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 20, + "charOffset": 2184, + "charLength": 22, + "snippet": { + "text": "StreamFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2154, + "charLength": 101, + "snippet": { + "text": " }\n\n return app(StreamFactoryInterface::class)->createStreamFromFile($filename);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9520cdfc816d2811", + "equalIndicator/v1": "9a8d11f43f2968c5ae2007fe83bc5aa32eaa552c37fdc6c26e3e3e73997835f9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/ColourPickerList.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 196, + "charOffset": 907, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 656, + "charLength": 297, + "snippet": { + "text": " foreach ($picker_list as $picker_id => $label) {\n?>\n ]\" id=\"\" value=\"\" />\n\",\n \"Copy manually below\":\"\",\n \"Overwrite settings '%s'?\":\"\",\n \"Add to My favourites\":\"\",\n \"Add to Tree favourites\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d24e3c3d7ee34d59", + "equalIndicator/v1": "9b20041e0dca5d62d2929f67b7fa88282bfa14e065aa58d542ecc19884b6ec6e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12, + "startColumn": 54, + "charOffset": 159, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 10, + "startColumn": 1, + "charOffset": 79, + "charLength": 123, + "snippet": { + "text": "\n
    \n \n
    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6a95c0d6e6cb7fe7", + "equalIndicator/v1": "9b4d123685f7dd4d8883a6e1eb2132518d52a06615a63ffe763193e844cfd070" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Site'", + "markdown": "Undefined class 'Site'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ImageFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 44, + "charOffset": 3752, + "charLength": 4, + "snippet": { + "text": "Site" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 3560, + "charLength": 414, + "snippet": { + "text": " // We definitely do not want to overwrite any data - make sure our temp\n // directory is not in the webtrees directory to reduce risk\n $webtrees_dir = explode(\"webtrees\",Site::getPreference('INDEX_DIRECTORY'))[0] . \"webtrees\";\n if (substr($temp_image_file_path, 0, strlen($webtrees_dir)) == $webtrees_dir) {\n die(\"Error: Temp directory cannot be within webtrees directory\");" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e47f68153fd553e0", + "equalIndicator/v1": "9c29246b6b08331e13b2ac57bd393d6c7c39c7733f49d08497d0856a4314ba46" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 19, + "charOffset": 1414, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 1098, + "charLength": 480, + "snippet": { + "text": " \"Source individual has replaced existing individual\":\"\",\n \"One new source individual added to %s existing individuals\":\"\",\n \"Cancel\":\"\",\n \"Overwrite\":\"\",\n \"Individual not found\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "749c388c0538528d", + "equalIndicator/v1": "9d61fb882ef0bf9a093c6df4075c0a73a83f8eef321a1609c57f3da3d45a4904" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1350, + "startColumn": 28, + "charOffset": 52761, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1348, + "startColumn": 1, + "charOffset": 52679, + "charLength": 175, + "snippet": { + "text": " break;\n case 'CAL':\n $tmp = I18N::translate('calculated %s', $d1);\n break;\n case 'EST':" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc2f3fb3ebb271a3", + "equalIndicator/v1": "9d6afe001954b95709977e2dae181d6468d7b1d59864d36ced957beb6265b96f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 37, + "charOffset": 3882, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 3805, + "charLength": 120, + "snippet": { + "text": "\n if (isset($vars['typeface'])) {\n $settings['typeface'] = I18N::digits($vars['typeface']);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b30c42dabd5a6262", + "equalIndicator/v1": "9d9581c20c6ed586b68cc1631862cc320090749271808374680401a45b5655e8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 38, + "charOffset": 3623, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 3544, + "charLength": 123, + "snippet": { + "text": "\n if (isset($vars['font_size'])) {\n $settings['font_size'] = I18N::digits($vars['font_size']);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e39876e72d1fa4e7", + "equalIndicator/v1": "9d9aa4a00b43e03c6a5bd25a60c9e1f65007b0032f79f889660ec5d3e4babbd6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomRecord'", + "markdown": "Undefined class 'GedcomRecord'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 26, + "charOffset": 1286, + "charLength": 12, + "snippet": { + "text": "GedcomRecord" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1229, + "charLength": 140, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Fact;\nuse Fisharebest\\Webtrees\\GedcomRecord;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Family;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf8cc6dffe5b24bc", + "equalIndicator/v1": "9dc6bfa5c35300c980ee6578949d394412a5389d9a998d9c16177df2473fab56" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseInterface'", + "markdown": "Undefined class 'ResponseInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 232, + "startColumn": 16, + "charOffset": 7761, + "charLength": 17, + "snippet": { + "text": "ResponseInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 230, + "startColumn": 1, + "charOffset": 7673, + "charLength": 142, + "snippet": { + "text": " * Where are the Javascript functions for this module stored?\n *\n * @return ResponseInterface\n *\n * @throws \\JsonException" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6882757256931705", + "equalIndicator/v1": "9deaf84cf76be71346a676d51942bb877063bf994998ddc97a9f16d3b065ee2c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 502, + "startColumn": 55, + "charOffset": 23371, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 500, + "startColumn": 1, + "charOffset": 23284, + "charLength": 186, + "snippet": { + "text": " * @throws Exception\n */\n public function getSettingsJson(GVExport $module, Tree $tree, string $id)\n {\n $userSettings = $this->loadUserSettings($module, $tree, $id);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a44ce1e68d685d8c", + "equalIndicator/v1": "9ed2dfb7fe5fad984d6ca3c0db500ac13536ce4eac02c6b04c2cc3b7acd53b56" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/NonRelatives.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 78, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 82, + "snippet": { + "text": "\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "260a9b3e81cda177", + "equalIndicator/v1": "9ed3f35fda6e7a3e6324b44c29c4a0b852398f286e18e884320c02d8029f78f2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 99, + "startColumn": 21, + "charOffset": 5299, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 97, + "startColumn": 1, + "charOffset": 5233, + "charLength": 177, + "snippet": { + "text": " ]); ?>\n
    \n

    \n
    \n - \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f904638690af884", + "equalIndicator/v1": "9f07db0740a222a1c157017f226e3430d28e8bbfc07ff52a94add31a48012d88" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 99, + "startColumn": 9, + "charOffset": 6507, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 97, + "startColumn": 1, + "charOffset": 6367, + "charLength": 248, + "snippet": { + "text": " \n

    \n

    \n
    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6c7d4bf2cee65726", + "equalIndicator/v1": "9f3b178a168b2a8717de385d3f989fa88d425bd77d854dba1f0257406089644b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 9, + "charOffset": 1220, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 1157, + "charLength": 216, + "snippet": { + "text": "

    \n

    \n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "07a7926bffe17bf5", + "equalIndicator/v1": "9f524ae21e362de557cd090b87deb89f5791502a8ba9cafa6ab89099ced0bf05" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 96, + "startColumn": 43, + "charOffset": 3756, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 94, + "startColumn": 1, + "charOffset": 3667, + "charLength": 138, + "snippet": { + "text": "\n if (isset($vars['font_size_name'])) {\n $settings['font_size_name'] = I18N::digits($vars['font_size_name']);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee7a7658a7af4d70", + "equalIndicator/v1": "9f8fc43b0ee60010a05236e5d52e5a86b41848f84a82894c4827059fd834013a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 59, + "charOffset": 3175, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2992, + "charLength": 777, + "snippet": { + "text": "

      \n
    • -
    • \n
    • - \n
    • \n
    • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CA"'); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "40f7bf4dcac94c36", + "equalIndicator/v1": "9facddad32ebcb50fb28aeadd736272d9faa417befa1d2756107eac2500b17de" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Media'", + "markdown": "Undefined class 'Media'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 421, + "startColumn": 30, + "charOffset": 12370, + "charLength": 5, + "snippet": { + "text": "Media" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 419, + "startColumn": 1, + "charOffset": 12310, + "charLength": 123, + "snippet": { + "text": "\t\t\t\t$media = $fact->target();\n\n\t\t\t\treturn $media instanceof Media && $media->firstImageFile() instanceof MediaFile;\n\t\t\t});\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c9d8047faa43a1f9", + "equalIndicator/v1": "9fafd106e745ba03cd456a66ebe62d98e204f26953a15864aefcea33a93bf16a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 9, + "charOffset": 590, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 398, + "charLength": 306, + "snippet": { + "text": " \n

      \n

      \n
      \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b6485639f4404629", + "equalIndicator/v1": "9ffff02c05a75dfef0b0c4253a6fd91653485197f96361df402adac11f3acfc4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 349, + "startColumn": 32, + "charOffset": 12031, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 347, + "startColumn": 1, + "charOffset": 11890, + "charLength": 375, + "snippet": { + "text": " $out .= $dot->createDOTDump();\n if (isset($_POST[\"browser\"]) && $_POST[\"browser\"] == \"true\") {\n $dot->messages[] = I18N::translate('Generated %s individuals and %s family records', sizeof($dot->individuals), sizeof($dot->families));\n $response['messages'] = $dot->messages;\n $response['enable_debug_mode'] = $dot->debug_string;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de0c5d40d502c62d", + "equalIndicator/v1": "a00b3135669248d0134a8a876375bb65c70fe9797b5febac6fd350bf24addc42" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "570783ea39d61596", + "equalIndicator/v1": "a027b1c49c550a12ca5026f6a1d9eba315a20f05dc218086e76adc940827dc0e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'UserFavoritesModule'", + "markdown": "Undefined class 'UserFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 24, + "charOffset": 1482, + "charLength": 19, + "snippet": { + "text": "UserFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 1362, + "charLength": 303, + "snippet": { + "text": " $user = Auth::user();\n $favorite = function ($tree, $user, $url, $title, $note) {\n return app(UserFavoritesModule::class)->addUrlFavorite($tree, $user, $url, $title, $note);\n };\n $favorite->call(app(UserFavoritesModule::class), $tree, $user, $url, $title, $note);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "576bc73fcc10b11c", + "equalIndicator/v1": "a0973368fa51d946ea49852fd93ea9c7d1a7305f0ec3fe984ce73bb480bd458f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 184, + "startColumn": 77, + "charOffset": 6541, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 182, + "startColumn": 1, + "charOffset": 6347, + "charLength": 366, + "snippet": { + "text": " $settings = new Settings();\n // Treat loggged out users special if requesting ID_MAIN_SETTINGS\n if ($this->json['settings_id'] == Settings::ID_MAIN_SETTINGS && Auth::user()->id() == Settings::GUEST_USER_ID) {\n $vars = Validator::parsedBody($this->request)->array('vars');\n $form = new FormSubmission();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3556ae5c1118bf88", + "equalIndicator/v1": "a0a8695d22bc6c09590c767450d3c822b42f6401bdaf420ba2684155c97bd13b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 376, + "startColumn": 52, + "charOffset": 17447, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 374, + "startColumn": 1, + "charOffset": 17297, + "charLength": 468, + "snippet": { + "text": " if (error.message.includes(\"TOTAL_MEMORY\")) {\n if (graphvizAvailable) {\n UI.showToast(ERROR_CHAR + \"\");\n } else {\n UI.showToast(ERROR_CHAR + \"\");" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "38e42ff5e1a53feb", + "equalIndicator/v1": "a0d1fe3e3801cb4baccb0ae01e9e442f725b1734d763850ca5a1a69beb428922" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'UserInterface'", + "markdown": "Undefined class 'UserInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 183, + "startColumn": 60, + "charOffset": 5621, + "charLength": 13, + "snippet": { + "text": "UserInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 181, + "startColumn": 1, + "charOffset": 5489, + "charLength": 291, + "snippet": { + "text": " $xref = $request->getQueryParams()['xref'];\n } else {\n $xref = $tree->getUserPreference(Auth::user(), UserInterface::PREF_TREE_ACCOUNT_XREF);\n }\n $individual = $this->getIndividual($tree, $tree->significantIndividual(Auth::user(), $xref)->xref());" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "000fe501cad7a78e", + "equalIndicator/v1": "a0e10c23c82dbd9615622df77b08f93f614991a1446ba1d8b00bdabff8b8e6d6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 41, + "snippet": { + "text": "" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb9fa38bfdaae725", + "equalIndicator/v1": "a14ee194bef31ebab714dd58b55f7050629f1a919e4f959413e8bcdea47e509e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 25, + "charOffset": 2576, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2406, + "charLength": 231, + "snippet": { + "text": "

      >\n
      \n

      \n
      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "16cd3a7059640222", + "equalIndicator/v1": "a1a36eb35da2621b083dee4c9070542df7f24735c516b4c98f3cc63f2657560b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 228, + "startColumn": 12, + "charOffset": 7180, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 226, + "startColumn": 1, + "charOffset": 7122, + "charLength": 111, + "snippet": { + "text": "\t * add information for an existing family\n\t *\n\t * @param Individual $individual\n\t * @param Family $family\n\t */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b7cfa963d1b87e9", + "equalIndicator/v1": "a3f1a55b92ddec1fb9b20b218d4da3652cacb51155026d570318a2da6d9c81be" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 81, + "charOffset": 826, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 519, + "charLength": 422, + "snippet": { + "text": "
      \n >\n \n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a2c78dddd042f1a", + "equalIndicator/v1": "a41f4b311a190c1108da1f1634f3866f2c50d8d60acae32d6c982b6efb14c093" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Date'", + "markdown": "Undefined class 'Date'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 534, + "startColumn": 54, + "charOffset": 20958, + "charLength": 4, + "snippet": { + "text": "Date" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 532, + "startColumn": 1, + "charOffset": 20845, + "charLength": 266, + "snippet": { + "text": "\n // Set marriage prefix only if marriage exists\n $married = !(empty($f->getMarriage()) && Date::compare($f->getMarriageDate(), new Date('')) == 0);\n if ($married) {\n $prefix = $this->settings[\"marriage_prefix\"] . ' ';" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a076cd9de38f6a29", + "equalIndicator/v1": "a42b7440752ee2e93e06999a3599bd2baa1dd787b4cbba3115e4707a2f50ddc9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 137, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 51, + "charLength": 129, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Age;\nuse Fisharebest\\Webtrees\\Date;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7ec861b3d8b547fe", + "equalIndicator/v1": "a490fce2002028e0977eab079cd9b6276df3d98d941d886f51e3340afd528222" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 134, + "startColumn": 149, + "charOffset": 14330, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 132, + "startColumn": 1, + "charOffset": 14128, + "charLength": 304, + "snippet": { + "text": " ?>\n
      \n \n \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0d029df7e5389f4", + "equalIndicator/v1": "a4d65680f3a565196542d9293e97c67abb9132411410378eaebd237840db3160" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 620, + "startColumn": 15, + "charOffset": 26746, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 618, + "startColumn": 1, + "charOffset": 26694, + "charLength": 109, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param string $id\n * @return string" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "069fe6fed04f5fa8", + "equalIndicator/v1": "a50da9913ca9bdb44b7966c19f99a9d79b36118b6cc73052c9e6b9112f07bf18" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 198, + "charOffset": 4105, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 3844, + "charLength": 377, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a3983d613a79a0fa", + "equalIndicator/v1": "a5178792942dc825d0c94c0c3c93bdcd1d8d14a62b8c66e39ac9461e00c01d64" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 300, + "startColumn": 52, + "charOffset": 14331, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 298, + "startColumn": 1, + "charOffset": 14171, + "charLength": 293, + "snippet": { + "text": " if (errorpos === -1) {\n setTimeout(function(){location.reload();}, 3000);\n UI.showToast(ERROR_CHAR + \"\");\n } else {\n UI.showToast(ERROR_CHAR + e);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "01565a9fb988ec49", + "equalIndicator/v1": "a56a185c08bf9a245033f40f93688e165389fae480e233589e26f0d59ddab8ab" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 15, + "startColumn": 32, + "charOffset": 633, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 13, + "startColumn": 1, + "charOffset": 414, + "charLength": 433, + "snippet": { + "text": " \"Copied link to clipboard\":\"\",\n \"Failed to copy link to clipboard\":\"\",\n \"Copy manually below\":\"\",\n \"Overwrite settings '%s'?\":\"\",\n \"Add to My favourites\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "186aaf1146eab588", + "equalIndicator/v1": "a57c3a49fc207824a878b7bb0ebcb54d0cfa997caa6d81a08eda187099b672d5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 262, + "startColumn": 48, + "charOffset": 12452, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 260, + "startColumn": 1, + "charOffset": 12344, + "charLength": 213, + "snippet": { + "text": " }\n if (isset($vars['indi_stripe_age_low'])) {\n $settings['indi_stripe_age_low'] = I18N::digits($vars[\"indi_stripe_age_low\"]);\n }\n if (isset($vars['indi_stripe_age_high'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a0a5597dd19d956a", + "equalIndicator/v1": "a5af1da2aaa72859c9a4f0f406cc752649c982d07d5d0d5dfe8ab077839f8ba5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 58, + "startColumn": 77, + "charOffset": 3856, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 56, + "startColumn": 1, + "charOffset": 3412, + "charLength": 741, + "snippet": { + "text": "
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CA"'); ?>\n
  • \n
  • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CAN"'); ?>\n
  • \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ef8a7b243ced2ff7", + "equalIndicator/v1": "a6210bedf3bcd8c164c8dada61e34cc4f8a47b9b3ecaf040ea0edebd224a6ea8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 13, + "charOffset": 2538, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1853, + "charLength": 1040, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "faeeca51ec1c1c86", + "equalIndicator/v1": "a6485f32b53da0ab8035c56d4a564f19a453d4fee2dda7b9d0585952e531fb48" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 190, + "startColumn": 182, + "charOffset": 20453, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 188, + "startColumn": 1, + "charOffset": 20218, + "charLength": 319, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "50083a9db73a6d70", + "equalIndicator/v1": "a6b41467b2f82d9e664496433016d53444c0f958d822b4346f0a2964f5acc65e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 5, + "charOffset": 2898, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2810, + "charLength": 286, + "snippet": { + "text": "
    \n

    \n:\n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f82ae35ea90c34fc", + "equalIndicator/v1": "a6c6a55b3674d3f8707e401c3f16bfa0879f102d0e137d850c1bfb80d8e113d1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 26, + "charOffset": 1675, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 1577, + "charLength": 212, + "snippet": { + "text": "use Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Localization\\Translation;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\AbstractModule;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3d223e6c823444cf", + "equalIndicator/v1": "a7055d3c11d8d379622939e2d53473cc08db4c6e6fe00fc63ed6472d7beab209" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/SharedNote.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 32, + "charOffset": 1196, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1118, + "charLength": 241, + "snippet": { + "text": " $bg_col = $element['bg_col'];\n\n $note_object = Registry::noteFactory()->make($xref, $tree);\n $note = $note_object->getNote();\n $name = $note_object->firstLineOfTextFromHtml($note);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8082e8a2df827423", + "equalIndicator/v1": "a710f495d21bfdf932044cfc2271fad397e6e430ee40b3e2228fe69410c05da0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 9, + "charOffset": 441, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 381, + "charLength": 363, + "snippet": { + "text": "

      \n

      \n \n

      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e68c0457c59d5702", + "equalIndicator/v1": "a73d8f0ea1d20be0a834476dca86d5a1e112e56852145d8cadb342caab0b983c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 35, + "charOffset": 964, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 770, + "charLength": 465, + "snippet": { + "text": " \"Add to My favourites\":\"\",\n \"Add to Tree favourites\":\"\",\n \"Added to My favourites\":\"\",\n \"Added to Tree favourites\":\"\",\n \"Source individual has replaced existing individual\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "31e9bc53333711c0", + "equalIndicator/v1": "a756f59047e21c2f1110fdbe262fe0660563c4157761c407373202611fbdb74c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Non-relatives.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 387, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 374, + "charLength": 1219, + "snippet": { + "text": "\n

      \n Mark not blood-related people with different color

      Where spouses are included and are not blood-related to anyone in the "Include anyone related to" field, if this option is selected they will be highlighted in a much duller color than the standard blue/pink for relatives.

      Note that when this option is selected, and non-relatives are found in the selected records, then a full tree scan is performed to identify if an individual is related by a more distant link (see next option).

      Ignore unseen links to speed up relative check

      This option is only available when the previous option is selected. When the option to display non-relatives in a different colour is selected, normally a scan is performed starting from the starting individuals and branching to all relatives regardless of display settings. This ensures that if a person is related via a link not displayed, they will still show as related.

      Enabling this option prevents the full scan of the tree which can greatly speed up the generation of the diagram on larger trees, but may reduce accuracy of the colouring of non-relatives.'); ?>\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "572ad42d3aa1d536", + "equalIndicator/v1": "a7dcd45f0a40b2e6ee9b0f7843f3f697240adb24554c0b80d67ac9f70bb00294" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Translation'", + "markdown": "Undefined class 'Translation'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 30, + "charOffset": 1637, + "charLength": 11, + "snippet": { + "text": "Translation" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1542, + "charLength": 192, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Localization\\Translation;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\AbstractModule;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "503b7140259db276", + "equalIndicator/v1": "a7dd093d1a8cbcaa44511714bf138f6e1e87425227f7f1a1a10f98b6e3140108" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 9, + "charOffset": 7208, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 7191, + "charLength": 64, + "snippet": { + "text": "

      \n

      \n :\n

      \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0e5e064e2646613", + "equalIndicator/v1": "a8cf30aefcdcb8b3f0c5f8515848202b1f6b548168d318e10728af9370f2948f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SaveSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 151, + "charOffset": 915, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 564, + "charLength": 412, + "snippet": { + "text": " \">\n
        \n \n
        \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "140173df64fb120a", + "equalIndicator/v1": "aa6fc94417d82e75947bedb8bc6f618fddec4640ab83ba7b7579870633f4591f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 52, + "charOffset": 6575, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 6315, + "charLength": 369, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7621f691e8a2d9b2", + "equalIndicator/v1": "aacf3f78ce9711d803b82fa57ebe93141a78f2398f13285c01af8182484bf9ed" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 268, + "startColumn": 44, + "charOffset": 12751, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 266, + "startColumn": 1, + "charOffset": 12651, + "charLength": 233, + "snippet": { + "text": " }\n if (isset($vars['border_col_type'])) {\n $settings['border_col_type'] = I18N::digits($vars[\"border_col_type\"]);\n }\n $settings['sharednote_col_enable'] = isset($vars[\"sharednote_col_enable\"]);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9442a4dd97ea5dc6", + "equalIndicator/v1": "aacf94008bf7e94845054009e35812c14f2a53d106fbd9ba7609f9e2f34d2002" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleChartTrait'", + "markdown": "Undefined class 'ModuleChartTrait'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 33, + "charOffset": 1927, + "charLength": 16, + "snippet": { + "text": "ModuleChartTrait" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1790, + "charLength": 260, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Module\\ModuleChartInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleCustomTrait;\nuse Fisharebest\\Webtrees\\Module\\ModuleChartTrait;\nuse Fisharebest\\Webtrees\\Module\\ModuleConfigInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleConfigTrait;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ea3e8340f254609", + "equalIndicator/v1": "ab331404f3032b73c4da2e536cc80f3c423c2ad5314ae6435e9a197e7056d1f7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2caf99574aca91ea", + "equalIndicator/v1": "ab5dbbd1c1b663c9f3cfc39dbaba14f38736d3810a8c527d9ba3128d6d98202e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 66, + "charOffset": 936, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 861, + "charLength": 746, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "37662f31562a934f", + "equalIndicator/v1": "ab60aa256a7c312df0fa28c8f2bc0002605bdb53f8e005f5807879424da7f4cd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 244, + "startColumn": 44, + "charOffset": 11245, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 242, + "startColumn": 1, + "charOffset": 11145, + "charLength": 259, + "snippet": { + "text": " }\n if (isset($vars['stripe_col_type'])) {\n $settings['stripe_col_type'] = I18N::digits($vars[\"stripe_col_type\"]);\n }\n if (isset($vars['indi_stripe_dead_col']) && $this->isValidColourHex($vars['indi_stripe_dead_col'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "28e0d7b53cdcf1f3", + "equalIndicator/v1": "abb003704f2b7af3e0ed1dccc32387ab37147ec32026e9b089b5dff0915ec4df" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 114, + "snippet": { + "text": "\n

      \n
      \n

      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9fb9903255d63f77", + "equalIndicator/v1": "aefb87c3cae23a7fb84e958be77ce7b44222ed07e632a737c3438ec37ff03f3f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'LinkedRecordService'", + "markdown": "Undefined class 'LinkedRecordService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 35, + "charOffset": 294, + "charLength": 19, + "snippet": { + "text": "LinkedRecordService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 194, + "charLength": 125, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\Services\\LinkedRecordService;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4d47f053cc6bb153", + "equalIndicator/v1": "aefbaa46009b9623a7eeea551c418891a8cea21162dea5fbfc6a22c5d27d0c4d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "89b53abc04af40e4", + "equalIndicator/v1": "af27a34551338f8502a449a2328cf46f7076711f156830db771f535fbb09829e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 21, + "charOffset": 4069, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 4013, + "charLength": 172, + "snippet": { + "text": "

    \n
    \n

    \n
    \n \n Output file typeThe output file type you want. This is ignored when rendering in the browser, it is only used when you download a file. File types SVG, PNG, JPG, and PDF can be downloaded, in addition to the Graphviz DOT format.

    There are some minor differences if you have Graphviz installed on the server:

    • There are two more file types, GIF and PostScript (PS). Most people would not need these.
    • PDF and SVG files may be smaller and can include URLs
    • You may be able to include more records

    In addition, if you have Graphviz installed on the server there are additional quality settings that are available. The following settings are only available when Graphviz is installed on the server, and the output type is set to SVG or PDF:

    Quality of JPG photos

    This setting lets you change the quality of embedded JPG photos. This uses the quality setting that is part of the JPG standard. Reducing this can reduce the file size of the output, while increasing it may increase the quality. Also see the DPI setting to change the resolution of the diagram including photos.

    Convert photos to JPG where possible

    If enabled, GVExport will attempt to convert PNG, BMP, and GIF files to JPG and will apply the above quality setting.'); ?>\n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "45950bc37bee928a", + "equalIndicator/v1": "af8805be9861102cb9042860cd4dcc174dcb3586db7396985e5abd807439a386" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 22, + "charOffset": 2365, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2269, + "charLength": 211, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Webtrees;\nuse Psr\\Http\\Message\\ResponseInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b535305197f65e2", + "equalIndicator/v1": "afdcd7913e5fe52cc167f8078267e08c4b807ff0f2c474b5992946ad480852e7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 26, + "charOffset": 1528, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1438, + "charLength": 131, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Session;\nuse Fisharebest\\Webtrees\\Site;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Registry;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9b6f17c94208763e", + "equalIndicator/v1": "b01712dde0ed4c7296d2614fe7341583179c0aaf03b9e298749379bc6e3c29c9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramType.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 77, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 87, + "snippet": { + "text": "\n

    \n \n

    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9751050efea9159b", + "equalIndicator/v1": "b0bbc42fd536507a917e587b6261c4a1c99621ec63c0ccf0f6610769c338b291" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomImportService'", + "markdown": "Undefined class 'GedcomImportService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 118, + "startColumn": 45, + "charOffset": 3754, + "charLength": 19, + "snippet": { + "text": "GedcomImportService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 116, + "startColumn": 1, + "charOffset": 3583, + "charLength": 342, + "snippet": { + "text": " $shared_settings_list = $this->getSharedSettingsList();\n $this->userId = $shared_settings_list[$token]['user'];\n $tree_service = new TreeService(new GedcomImportService());\n $this->tree = $tree_service->find($shared_settings_list[$token]['tree']);\n $this->id = $shared_settings_list[$token]['settings_id'];" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25ff4f48bbe60c8d", + "equalIndicator/v1": "b1594c29e0aa9c3a9421d4a6ab1440184f0026e6fdd9aa3c98922afb306a5893" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 201, + "startColumn": 45, + "charOffset": 21204, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 199, + "startColumn": 1, + "charOffset": 20928, + "charLength": 538, + "snippet": { + "text": " 'vars[typeface]', 'id' => 'typeface', 'selected' => I18N::digits($vars['typeface']), 'options' => MainPage::updateTranslations($settings[\"typefaces\"])]) ?>\n
    \n \n
    \n \">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "40cb026670a03dfa", + "equalIndicator/v1": "b18582cef1f9ee5a9727be43672d50dc5e99b559d29efd029d66c37948aaeaee" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 9, + "charOffset": 5637, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 5516, + "charLength": 295, + "snippet": { + "text": " \n

    \n
    \n

    \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b69a4255c01f677a", + "equalIndicator/v1": "b19ae2b4558b5792c0a2917fe75448957919fead690e4a26cc6bcb8fab9aa4f4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 199, + "charOffset": 2144, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1928, + "charLength": 316, + "snippet": { + "text": "

    \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "066fa15576d36a1e", + "equalIndicator/v1": "b1ab42f90ed0fb1deea7e8f43e40e3c0f001955119bbabfaa03978fd5df657ad" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 214, + "startColumn": 218, + "charOffset": 22324, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 212, + "startColumn": 1, + "charOffset": 22088, + "charLength": 323, + "snippet": { + "text": "\n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c5e4c209f1dd4a1", + "equalIndicator/v1": "b1cd9ec336464df0d1f7181d71e38b41d3dd6f365874b2d7355c973ba2a24c0d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'HttpBadRequestException'", + "markdown": "Undefined class 'HttpBadRequestException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 268, + "startColumn": 31, + "charOffset": 14073, + "charLength": 23, + "snippet": { + "text": "HttpBadRequestException" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 266, + "startColumn": 1, + "charOffset": 13971, + "charLength": 286, + "snippet": { + "text": " unset($all_settings[$id]);\n } else {\n throw new HttpBadRequestException(I18N::translate('Invalid settings ID') . \" \" . e($id) . \": \" . json_last_error_msg());\n }\n $new_json = json_encode($all_settings);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f0c00280cf1f6df", + "equalIndicator/v1": "b22da7922617d04ec9867f3b27d45da31865a69d0c07767da5e66ba5af8eed90" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ImageFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 73, + "charOffset": 1294, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1051, + "charLength": 316, + "snippet": { + "text": " // If SVG then scale image and provide location of temp file\n if ($_REQUEST[\"vars\"][\"output_type\"] == \"svg\" || $_REQUEST[\"vars\"][\"output_type\"] == \"pdf\") {\n $temp_dir = (new File())->sys_get_temp_dir_my() . \"/\" . md5(Auth::id());\n $temp_image_file = $temp_dir . \"/\" . $filename;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "842184895ba46003", + "equalIndicator/v1": "b2aa8943b4128158ee8721ac2ffb6f6e384b716b48fa01348b5582303c9933e3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1368, + "startColumn": 28, + "charOffset": 53407, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1366, + "startColumn": 1, + "charOffset": 53326, + "charLength": 169, + "snippet": { + "text": " break;\n case 'TO':\n $tmp = I18N::translate('to %s', $d1);\n break;\n case 'BETAND':" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ef9cbabe78bcad03", + "equalIndicator/v1": "b349528113b29c3a27e971dc579a9f40ce2dab77cb216661b7858378255207eb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'GedcomRecord'", + "markdown": "Undefined class 'GedcomRecord'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 363, + "startColumn": 37, + "charOffset": 10485, + "charLength": 12, + "snippet": { + "text": "GedcomRecord" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 361, + "startColumn": 1, + "charOffset": 10416, + "charLength": 192, + "snippet": { + "text": "\n\t\t// group and sort the records\n\t\tuasort($records, static function (GedcomRecord $x, GedcomRecord $y): int {\n\t\t\treturn $x->tag() <=> $y->tag() ?: GedcomRecord::nameComparator()($x, $y);\n\t\t});" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a59736f804f87f4e", + "equalIndicator/v1": "b3511f61a77be11def32917aee6e3e5ca32ee321a541d3335336dc6fc5f7b02f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 734, + "startColumn": 13, + "charOffset": 30645, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 732, + "startColumn": 1, + "charOffset": 30568, + "charLength": 164, + "snippet": { + "text": " private function doSettingsExist($module, $tree): bool\n {\n if (Auth::user()->id() == self::GUEST_USER_ID) {\n return false;\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4e1095f4ed940106", + "equalIndicator/v1": "b364f8f5efb1bf4b37e81239ced24d4b0b5cc74ba634fecd911ee54da41764e7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 53, + "charOffset": 5680, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 5558, + "charLength": 437, + "snippet": { + "text": "
    \n
    \n \n \">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a2a4449b81f9cbe", + "equalIndicator/v1": "b3dccf344eb0eef2ab91ccd72cb861257f7188ea7972884c467812908384ba60" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 414, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 401, + "charLength": 119, + "snippet": { + "text": "\n

    \n \n

    \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f6460f5562f98e07", + "equalIndicator/v1": "b400244afedba536f1b0b10b0b29daef798881ffde21465f828bb8424439388c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 143, + "charOffset": 1975, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1579, + "charLength": 693, + "snippet": { + "text": " \"Diagram will be rendered in browser as server doesn't support photo shapes\":\"\",\n \"Message history\":\"\",\n \"Your browser does not support exporting images this large. Please reduce number of records, reduce DPI setting, or use SVG option.\":\"\",\n \"Unable to load setting\":\"\",\n \"Invalid JSON\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f4d6f72410fcc018", + "equalIndicator/v1": "b4945446b45671e142d01907cd9ba54929c73bd2a954978dc741fcf1de8681f4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 22, + "charOffset": 223, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 98, + "charLength": 315, + "snippet": { + "text": " \"Delete\":\"\",\n \"Download\":\"\",\n \"Copy link\":\"\",\n \"Revoke link\":\"\",\n \"Revoked access to shared link\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d25ce39e7eb8bd24", + "equalIndicator/v1": "b49ed67681fb54265e1c6fc078941acd6a3f05eb32c2971e9f4abafd9cb26d81" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 49, + "charOffset": 4549, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 4228, + "charLength": 580, + "snippet": { + "text": "
      \n >\n \n
      >\n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "847e3ef699fa5e71", + "equalIndicator/v1": "b4bf46bc6d6ebf2609416767bd8fb6361f6c4897c691f49c208122c5568cc93b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 119, + "startColumn": 53, + "charOffset": 8656, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 117, + "startColumn": 1, + "charOffset": 8308, + "charLength": 618, + "snippet": { + "text": "
      \n >\n \n
      >\n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fe76add93a9e126f", + "equalIndicator/v1": "b4f50a291b9ae9b4ac43f2ff0efff0792745cb9455f9205e20221299549b05cd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SettingsFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 78, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 82, + "snippet": { + "text": "\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3ed8c89847b42288", + "equalIndicator/v1": "b5165ef62260276f96d34723caab10be9825ed0736e4d9307417ef322c6db548" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/MessageHistory.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13, + "startColumn": 134, + "charOffset": 460, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 11, + "startColumn": 1, + "charOffset": 208, + "charLength": 310, + "snippet": { + "text": "\n
      \n \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91fbe5c08df551cc", + "equalIndicator/v1": "b5832c6ebd617a5af2cf7489cd78ae69e0c30f9021e255438ac31e0e4e7de014" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 190, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 73, + "charLength": 212, + "snippet": { + "text": "use vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\Person;\nuse vendor\\WebtreesModules\\gvexport\\Settings;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1a736f7fa3029bb9", + "equalIndicator/v1": "b5a1c6ecd4666015e8c4dd7fc77cec4dfd52dcbf055aeea5bef62679a611b49c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 120, + "charOffset": 1948, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1688, + "charLength": 437, + "snippet": { + "text": "
      \n \n 'vars[use_abbr_name]', 'id' => 'use_abbr_name', 'selected' => I18N::digits($vars['use_abbr_name']), 'options' => MainPage::updateTranslations($settings[\"use_abbr_names\"])]) ?>\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8b3ea5528849b8c7", + "equalIndicator/v1": "b5f20457cc50da0c5b1e1c1b61a76482e9eea637b7b68f6b3f019753a73e84f0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 254, + "startColumn": 26, + "charOffset": 8632, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 252, + "startColumn": 1, + "charOffset": 8555, + "charLength": 255, + "snippet": { + "text": " return $api->handle();\n } else {\n $vars_data = Validator::parsedBody($request)->array('vars');\n $temp_dir = $this->saveDOTFile($tree, $vars_data);\n // If browser mode, output dot instead of selected file" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25c507f93aa580e3", + "equalIndicator/v1": "b5f8742abf3a65b2f6ee80bfb7599e7d5a4eab17e836f9cda27829314b75319d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 11, + "startColumn": 26, + "charOffset": 325, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 9, + "startColumn": 1, + "charOffset": 210, + "charLength": 122, + "snippet": { + "text": "use Psr\\Http\\Message\\StreamFactoryInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;\nuse Fisharebest\\Webtrees\\Tree;\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5038e1115dcecd2c", + "equalIndicator/v1": "b60cd94ebd6cd0cbe25b65c73f36c2541cfc6639efdd0c5982013c36fe114b94" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Cookie.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 26, + "charOffset": 91, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 51, + "snippet": { + "text": "\nuse Exception;\nuse Fisharebest\\Webtrees\\Tree;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a510f31226d6bf42", + "equalIndicator/v1": "b635cb98ac7760208634d360564fc4632a823bc76a5d3320529e8e3bc759d872" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 389, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 379, + "charLength": 359, + "snippet": { + "text": "\n\n

      \n

      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30a8bdda4b680a2b", + "equalIndicator/v1": "b72ddc4f44c434b69b7963a41e01f46504e217e5e03d637bf4ae0f7a8ccf4c90" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 114, + "startColumn": 17, + "charOffset": 5899, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 112, + "startColumn": 1, + "charOffset": 5790, + "charLength": 207, + "snippet": { + "text": " \n getConfigLink();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a002d36d8906d1f9", + "equalIndicator/v1": "b746f62c60ab7ee03989d0dc0505ada00aff282b0f8f579169ec9bad3a50740c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/StopProcessingOn.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 109, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 112, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Tree;\nuse vendor\\WebtreesModules\\gvexport\\MainPage;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57562dab34a60866", + "equalIndicator/v1": "b79c2e24cae4253e77f2df330acf4cd5e3ec375d9bb65f5f8b86706c83aa7e9d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 9, + "charOffset": 1170, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 914, + "charLength": 355, + "snippet": { + "text": " \n

      \n

      \n
      \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2fb533ff6d14670d", + "equalIndicator/v1": "b7e53b2f0b66512b2e781fd8ced8b278eeaf6c5d385f460f33340e9b89ce6b13" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1178, + "startColumn": 36, + "charOffset": 45972, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1176, + "startColumn": 1, + "charOffset": 45933, + "charLength": 112, + "snippet": { + "text": "\t}\n\n\tfunction getUpdatedFamily($fid): ?Family\n {\n\t\treturn Registry::familyFactory()->make($fid, $this->tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "253d6e952834f76d", + "equalIndicator/v1": "b989e1da14848005fd377fc10c306d14d091e0e74f43978ad5d57d2f096f2036" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 70, + "charOffset": 3306, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 3092, + "charLength": 305, + "snippet": { + "text": "

        \n
      • -
      • \n
      • -
      • \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf42c089fd85ca0f", + "equalIndicator/v1": "b9af09508210b212fbd958701876a7407f300ee4d9031ffdd8ee027335fca40a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseInterface'", + "markdown": "Undefined class 'ResponseInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 245, + "startColumn": 71, + "charOffset": 8174, + "charLength": 17, + "snippet": { + "text": "ResponseInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 243, + "startColumn": 1, + "charOffset": 8097, + "charLength": 148, + "snippet": { + "text": " }\n\n public function postChartAction(ServerRequestInterface $request): ResponseInterface\n {\n $tree = $request->getAttribute('tree');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cd3fb38d15d5f1f1", + "equalIndicator/v1": "b9bb7da4a1a18c3acd8cfd0d10887bf7aa246ae2b1bd43e95d6ff03d39c49ba0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12, + "startColumn": 42, + "charOffset": 359, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 10, + "startColumn": 1, + "charOffset": 202, + "charLength": 399, + "snippet": { + "text": " \"Copy link\":\"\",\n \"Revoke link\":\"\",\n \"Revoked access to shared link\":\"\",\n \"Copied link to clipboard\":\"\",\n \"Failed to copy link to clipboard\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fcf249328b303f19", + "equalIndicator/v1": "ba002eebb9a47ed9f7dab39469d05ec8ec5111dbc81181f9c6f30e4e3310c33d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Graph direction.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 389, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 376, + "charLength": 340, + "snippet": { + "text": "\n

      \n

    • Left to right - The default option, columns of generations are created with the older generations to the left and younger to the right.
    • Top to bottom - Rows of generations are created, with the older generations at the top and the younger at the bottom.'); ?>\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "089eb4cd10efea2e", + "equalIndicator/v1": "ba1d9730aa3b0e46d4a7eac03f9c93676ed4dd662378245424210203c9fec7ef" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ItemsInClippingsCart.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 13, + "charOffset": 424, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 379, + "charLength": 228, + "snippet": { + "text": " \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "193c406d2a90a6cb", + "equalIndicator/v1": "baa948ae79b7f28bcf2be995da0eb3ad39e0da21bfaab3f2b7a8448660f5678f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Non-relatives.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42544fbcd68e19a4", + "equalIndicator/v1": "bb0acc4a8aebe4efe361e434e3a12f8456252bb1d0b8a122ff0b189c9125f7ce" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 133, + "startColumn": 56, + "charOffset": 7845, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 131, + "startColumn": 1, + "charOffset": 7761, + "charLength": 199, + "snippet": { + "text": " * @return array\n */\n public function loadUserSettings(GVExport $module, Tree $tree, string $id = self::ID_MAIN_SETTINGS, int $user_id = null): array\n {\n if ($user_id === null) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c34bf784aebc64d0", + "equalIndicator/v1": "bb2b355c0a8867371ce406d0b9b7eb638e74bad26ccc593a112cbef381842963" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseInterface'", + "markdown": "Undefined class 'ResponseInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 291, + "startColumn": 71, + "charOffset": 10062, + "charLength": 17, + "snippet": { + "text": "ResponseInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 289, + "startColumn": 1, + "charOffset": 9951, + "charLength": 187, + "snippet": { + "text": " * @return ResponseInterface\n */\n public function postAdminAction(ServerRequestInterface $request): ResponseInterface\n {\n $params = (array) $request->getParsedBody();" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "645e266b623a4f79", + "equalIndicator/v1": "bb4334a6ef27765db1788a45e0021a200bd0dda1b19f6c2a6fd3c55a3366acb1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'FamilyTreeFavoritesModule'", + "markdown": "Undefined class 'FamilyTreeFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 33, + "charOffset": 182, + "charLength": 25, + "snippet": { + "text": "FamilyTreeFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 82, + "charLength": 210, + "snippet": { + "text": "use Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "349ac4a7eb679f58", + "equalIndicator/v1": "bb53574db83c21723a2be89c6e59f26b6c24894a14378b205e016109ff93e2c7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/SharedNote.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 118, + "snippet": { + "text": "\n\n

      \n\n \n

      \n \n

      \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c329b2aba8002901", + "equalIndicator/v1": "bc8cff1a8d2f7ba64e5572175eb1d629e1512f50ce2ea2634a49ee2908807ecf" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleConfigTrait'", + "markdown": "Undefined class 'ModuleConfigTrait'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 33, + "charOffset": 2032, + "charLength": 17, + "snippet": { + "text": "ModuleConfigTrait" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1895, + "charLength": 226, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Module\\ModuleChartTrait;\nuse Fisharebest\\Webtrees\\Module\\ModuleConfigInterface;\nuse Fisharebest\\Webtrees\\Module\\ModuleConfigTrait;\nuse Fisharebest\\Webtrees\\FlashMessages;\nuse Fisharebest\\Webtrees\\Menu;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "94cd046ecf6c3437", + "equalIndicator/v1": "bcb5aac83ed61501c679ed408f724980c9a6b91e9d2bb03ed1dfb79aaddf69f1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 51, + "charOffset": 2621, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 2300, + "charLength": 418, + "snippet": { + "text": "
      \n >\n \n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "af7736b3aba2014b", + "equalIndicator/v1": "bd5b30d13a43f3cfc9d939602eb8e7f72d7a9c14d887886a9e3ec8f723194a8d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 340, + "startColumn": 43, + "charOffset": 16990, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 338, + "startColumn": 1, + "charOffset": 16892, + "charLength": 194, + "snippet": { + "text": " }\n if (isset($vars['shape_sex_male'])) {\n $settings['shape_sex_male'] = I18N::digits($vars['shape_sex_male']);\n }\n if (isset($vars['shape_sex_female'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5e6ba8049523f6b7", + "equalIndicator/v1": "bdedc0f6180b6be1fd1bc413fec5955c3befabdc98c51c0e08c3cc4938e0d887" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 99, + "charOffset": 800, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 630, + "charLength": 454, + "snippet": { + "text": "
      \n
      \n
      \n
      \n >" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fab881a2d4a60f01", + "equalIndicator/v1": "bea0f9554cbeaf4423420d722d2f88074c316799a44644044ffffec59175ecc1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 49, + "charOffset": 3144, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2886, + "charLength": 337, + "snippet": { + "text": "
      \n >\n \n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "778c02e59deddfca", + "equalIndicator/v1": "bf2301db784b62a6f54015424a94b495936ab36790c77b9cbb24c9a05046e4eb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/AgeColourSubgroup.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 60, + "charOffset": 1647, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 1544, + "charLength": 351, + "snippet": { + "text": "
      \n
      \n \n ]\" id=\"\" value=\"\">\n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e5d648cdf25edea9", + "equalIndicator/v1": "bf7817aea64b044e3ceba8f43fcd61c6807a8dd1ae2f2d36a18f4c53fc5039a8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 13, + "charOffset": 1687, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1384, + "charLength": 687, + "snippet": { + "text": "
    • - \n
    • \n
    • -
    • \n
    • -
    • \n
    • -
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cc57775a79e4c219", + "equalIndicator/v1": "c0167b2ca5abcca49bdf7030edc4f065d2fe26b311e85722d7343250652972dd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 9, + "charOffset": 534, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 378, + "charLength": 351, + "snippet": { + "text": " * @var array $vars array of saved settings\n * @var array $settings wider array of settings and options\n * @var Tree $tree webtrees Tree object of current tree\n * @var bool $admin whether this is for the admin page (remove functions that aren't settings)\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a8c5485f8f7e3015", + "equalIndicator/v1": "c01ead515e8445f556839108262212a8798348e5741fce076d030f7dca0e9705" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 378, + "startColumn": 56, + "charOffset": 17631, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 376, + "startColumn": 1, + "charOffset": 17396, + "charLength": 429, + "snippet": { + "text": " UI.showToast(ERROR_CHAR + \"\");\n } else {\n UI.showToast(ERROR_CHAR + \"\");\n }\n rendering.innerHTML = \"\";" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "119375fe4daa1e12", + "equalIndicator/v1": "c0dac5268a06243bb8b59177bb52e15a40a205c4f598eb888ec1a8c78b5da3d7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleConfigTrait'", + "markdown": "Undefined class 'ModuleConfigTrait'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 9, + "charOffset": 2705, + "charLength": 17, + "snippet": { + "text": "ModuleConfigTrait" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 2644, + "charLength": 177, + "snippet": { + "text": " use ModuleCustomTrait;\n use ModuleChartTrait;\n use ModuleConfigTrait;\n public const CUSTOM_VERSION = '2.1.21';\n public const CUSTOM_MODULE = \"GVExport\";" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f59128870b56fed", + "equalIndicator/v1": "c0fb6e03679a29734d209676c2ec96094156a2f15cbc688a45f6f811d02f44bb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 9, + "charOffset": 5123, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 4887, + "charLength": 351, + "snippet": { + "text": " \n

      \n

      \n
      \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "98fbac088622654b", + "equalIndicator/v1": "c0fee746db755aaf61ea29bbe53a4286403f29a138d278aad6ea4bd0dd699357" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Settings file.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 387, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 374, + "charLength": 168, + "snippet": { + "text": "\n

      \n \n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "43d17d09d1f9ef2f", + "equalIndicator/v1": "c114c130fea72819db3a89aa1e17d63a1f9dd7ed501a1ce43d5f7a1e51ee1bad" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 58, + "charOffset": 3054, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 2987, + "charLength": 424, + "snippet": { + "text": "

      \n
        \n
      • -
      • \n
      • - \n
      • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6cd9e7fea2343d68", + "equalIndicator/v1": "c2578aa2ae32b5837aa30bad23deea1bd2c529070114f439cfdd6b63a705f18f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'UserInterface'", + "markdown": "Undefined class 'UserInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 36, + "charOffset": 1527, + "charLength": 13, + "snippet": { + "text": "UserInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1460, + "charLength": 147, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Contracts\\UserInterface;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\I18N;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6be5d9e2db12179f", + "equalIndicator/v1": "c2d46701ff922e88b0a3afd4bc168012a5e749a6b78644f53b25d9493b37d801" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 115, + "startColumn": 53, + "charOffset": 8241, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 113, + "startColumn": 1, + "charOffset": 7979, + "charLength": 363, + "snippet": { + "text": "
        \n >\n \n
        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ab9e3b3c533ee65", + "equalIndicator/v1": "c4b3a29454bc1f1b802c434e5b9e1655183eb047e8498ef14658df00dc1d4ccf" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 275, + "startColumn": 55, + "charOffset": 14662, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 273, + "startColumn": 1, + "charOffset": 14471, + "charLength": 261, + "snippet": { + "text": " $settingsLink = new SettingsLink($module, $tree, $this, $id);\n if (!$settingsLink->removeTokenRecord()) {\n throw new HttpBadRequestException(I18N::translate('Invalid') . \" - E1\");\n }\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6fe02c96d22030c4", + "equalIndicator/v1": "c4d299f31c91ea1a1e63bfbd36c02f2c064f0fa03e2f5fab5fac30e61e6d8cd7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 18, + "startColumn": 35, + "charOffset": 882, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 16, + "startColumn": 1, + "charOffset": 678, + "charLength": 419, + "snippet": { + "text": " \"Overwrite settings '%s'?\":\"\",\n \"Add to My favourites\":\"\",\n \"Add to Tree favourites\":\"\",\n \"Added to My favourites\":\"\",\n \"Added to Tree favourites\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "be89cab6d2857fd3", + "equalIndicator/v1": "c552fa6d15563f247de3c4deb8ea987743bfaaa44e3695cba11209d03a473b45" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 199, + "startColumn": 110, + "charOffset": 21037, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 197, + "startColumn": 1, + "charOffset": 20816, + "charLength": 437, + "snippet": { + "text": " \n
        \n 'vars[typeface]', 'id' => 'typeface', 'selected' => I18N::digits($vars['typeface']), 'options' => MainPage::updateTranslations($settings[\"typefaces\"])]) ?>\n
        \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c3dd7e5b2dad1cf0", + "equalIndicator/v1": "c5929b17473ba1bf4301912b9bdc11e80f2f157dbe07118e752d3b2ac988c47f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 26, + "charOffset": 1567, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1461, + "charLength": 188, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Contracts\\UserInterface;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Localization\\Translation;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e4a316ff0befdec6", + "equalIndicator/v1": "c64b70e0725cbfe60419f4afe56a68090b2dbdbb491a8f3b3cd89ca65d695db7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 260, + "startColumn": 58, + "charOffset": 13534, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 258, + "startColumn": 1, + "charOffset": 13449, + "charLength": 320, + "snippet": { + "text": " * @return void\n */\n public function deleteUserSettings(GVExport $module, Tree $tree, string $id) {\n if (Settings::isUserLoggedIn()) {\n $loaded = $module->getPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), \"preference not set\");" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2da9fb154eec5a76", + "equalIndicator/v1": "c64efb15226dbb44314a9a342208384d6c978d1cf4d1cbf0f7213f72799d5e7d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Age'", + "markdown": "Undefined class 'Age'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 76, + "charLength": 3, + "snippet": { + "text": "Age" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 135, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\Age;\nuse Fisharebest\\Webtrees\\Date;\nuse Fisharebest\\Webtrees\\I18N;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fecee3612c17c9fa", + "equalIndicator/v1": "c6a706f1ee5416745d64a383db12d63bef7b678e86e77eed08739a622a2986f7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 26, + "charOffset": 311, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 196, + "charLength": 125, + "snippet": { + "text": "use vendor\\WebtreesModules\\gvexport\\Person;\nuse vendor\\WebtreesModules\\gvexport\\Settings;\nuse Fisharebest\\Webtrees\\Auth;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e78b942243dafe33", + "equalIndicator/v1": "c8bf3c9bc16fcfe672d29b0f032c57ed40f0bc7fd9ff2b1c6db989ed8f400e5e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'HttpBadRequestException'", + "markdown": "Undefined class 'HttpBadRequestException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 42, + "charOffset": 138, + "charLength": 23, + "snippet": { + "text": "HttpBadRequestException" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 51, + "charLength": 173, + "snippet": { + "text": "use Exception;\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Http\\Exceptions\\HttpBadRequestException;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Tree;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4e75e6e94acad4c6", + "equalIndicator/v1": "c91607e2770ed6f5863764a1cda169671de00c84095af4eebc101fc93d04a7be" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 111, + "startColumn": 9, + "charOffset": 7009, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 109, + "startColumn": 1, + "charOffset": 6885, + "charLength": 305, + "snippet": { + "text": " \n

        \n
        \n

        \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "baf76b9578bbaf38", + "equalIndicator/v1": "ca1c296f4e69995db6b4e87883fb217a72930fbee25f3cedabef1c5ce5ff0f7e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 175, + "startColumn": 63, + "charOffset": 10504, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 173, + "startColumn": 1, + "charOffset": 10351, + "charLength": 287, + "snippet": { + "text": " } else {\n if ($id !== self::ID_MAIN_SETTINGS) {\n throw new HttpBadRequestException(I18N::translate('Invalid settings ID') . \" \" . e($id) . \": \" . json_last_error_msg());\n }\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9b702a637b3d3db9", + "equalIndicator/v1": "cab54098b3a422d12da03fca5277b27871e6d28f2dd281473e7f6d527d211a94" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile design.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb826ccd086a857c", + "equalIndicator/v1": "cab64549165053605f1f8c3819b0e619a1eff3fe79635e5e0e30fe8fc0e056db" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 667, + "startColumn": 43, + "charOffset": 27324, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 665, + "startColumn": 1, + "charOffset": 27224, + "charLength": 211, + "snippet": { + "text": "\t\t// If PID invalid, skip this person\n\t\tif ($i == null) {\n\t\t\t$this->messages[] = self::ERROR_CHAR . I18N::translate('Invalid starting individual:') . \" \" . $pid;\n\t\t\t$this->skipList[$pid] = TRUE;\n\t\t\treturn false;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "72939bb6a9bd7bf2", + "equalIndicator/v1": "cb877c04b28e35c412b9c29d13856ad489d6f5b77164bdeaa61a93917e820349" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 681, + "startColumn": 15, + "charOffset": 28591, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 679, + "startColumn": 1, + "charOffset": 28539, + "charLength": 110, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param string $id\n * @param array $s" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5a9afcd43d824bd3", + "equalIndicator/v1": "ccaeedc429564b84cc1100650f5fba937d09bceca4935fb9ea23aa38f26844bb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Treatment of source individuals.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7c062dcb2613ea29", + "equalIndicator/v1": "ccb4033838eefce121338211c6adfff2f10cff26e2b029df9d67636dd8aea876" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Site'", + "markdown": "Undefined class 'Site'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 26, + "charOffset": 1497, + "charLength": 4, + "snippet": { + "text": "Site" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1402, + "charLength": 166, + "snippet": { + "text": "use Fisharebest\\Webtrees\\MediaFile;\nuse Fisharebest\\Webtrees\\Session;\nuse Fisharebest\\Webtrees\\Site;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Registry;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "16186de39b5c1066", + "equalIndicator/v1": "cd51d5e078e3ac01f605a296c97c2623ee11f803766a521fba0e3da3ef082d1c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 13, + "charOffset": 569, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 497, + "charLength": 132, + "snippet": { + "text": " private string $base_url;\n private GVExport $module;\n private Tree $tree;\n private int $userId;\n private string $id;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2df34bff9012885a", + "equalIndicator/v1": "cd59e553cf91d46d46e9fa4ead7512d12bdc2e4b85940379cdcad0bf67d26761" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 300, + "startColumn": 12, + "charOffset": 9008, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 298, + "startColumn": 1, + "charOffset": 8946, + "charLength": 94, + "snippet": { + "text": "\t * check if clippings cart of a tree is empty\n\t *\n\t * @param Tree $tree\n\t * @return bool\n\t */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6389a2fd646cd75", + "equalIndicator/v1": "cdc7e5cc22e161defef93cbfca11e9e57a3ccd78174106fb7c4fee5923d9a78b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 271, + "startColumn": 120, + "charOffset": 14377, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 269, + "startColumn": 1, + "charOffset": 14184, + "charLength": 364, + "snippet": { + "text": " }\n $new_json = json_encode($all_settings);\n $module->setPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), $new_json);\n $this->deleteSettingsId($module, $tree, $id);\n $settingsLink = new SettingsLink($module, $tree, $this, $id);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fff32c7d0054949", + "equalIndicator/v1": "cdccb97bf849afa2ef225896eb10d465a5c8e03913ed9909b2a89e5ff3471400" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1183, + "startColumn": 36, + "charOffset": 46085, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1181, + "startColumn": 1, + "charOffset": 46046, + "charLength": 120, + "snippet": { + "text": "\t}\n\n\tfunction getUpdatedPerson($pid): ?Individual\n {\n\t\treturn Registry::individualFactory()->make($pid, $this->tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23f69d2ebfe59074", + "equalIndicator/v1": "ce0bab7d698a5c5cbcbb23841f0ff8dcf6babdc7dac6b719b29e6e03d4248a11" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 53, + "charOffset": 1730, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 1435, + "charLength": 597, + "snippet": { + "text": "

        >\n
        \n \n 'vars[shape_sex_male]', 'id' => 'shape_sex_male', 'selected' => e($vars['shape_sex_male']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_custom_options\"])]) ?>\n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4514c25b20c4cc57", + "equalIndicator/v1": "ce47c0951c65ad07318028a0a661cd19ca62a76b0648d2b7510cb5ece84b3af7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 40, + "charOffset": 1124, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 840, + "charLength": 523, + "snippet": { + "text": "
        \n >\n \n
        \n ()" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "93a8961e46ad062d", + "equalIndicator/v1": "ce531868519e621607788fe5a68bf4535bc193387538e9a41f46cd004410e45d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/AgeColourSubgroup.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 129, + "snippet": { + "text": "id() == self::GUEST_USER_ID;\n if ($use_cookie) {\n return false; // Logged-out users are handled in local storage, this should never happen" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e59c06fec6941eea", + "equalIndicator/v1": "ceb22b36543794e8e5355d18f60dee19e3b231770d2e6909c81b0d578a0db4c3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/MainPage.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 75, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 79, + "snippet": { + "text": "\nnamespace vendor\\WebtreesModules\\gvexport;\nuse Fisharebest\\Webtrees\\I18N;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c3c54e372e5a0e8", + "equalIndicator/v1": "cee5b107022d8baccdbea804c78a96d4802008691fdef7dfacf5c84133972529" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleChartInterface'", + "markdown": "Undefined class 'ModuleChartInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 73, + "charOffset": 2597, + "charLength": 20, + "snippet": { + "text": "ModuleChartInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2487, + "charLength": 156, + "snippet": { + "text": " * Main class for GVExport module\n */\nclass GVExport extends AbstractModule implements ModuleCustomInterface, ModuleChartInterface, ModuleConfigInterface\n{\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c7e75ad4cd2c63d0", + "equalIndicator/v1": "cf17968eb04011568c3802467627732ec0874cc4c62f3a8f8c8da73cf6db6ea2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'FamilyTreeFavoritesModule'", + "markdown": "Undefined class 'FamilyTreeFavoritesModule'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 29, + "charOffset": 2167, + "charLength": 25, + "snippet": { + "text": "FamilyTreeFavoritesModule" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 2026, + "charLength": 231, + "snippet": { + "text": " return app(FamilyTreeFavoritesModule::class)->addUrlFavorite($tree, $url, $title, $note);\n };\n $favorite->call(app(FamilyTreeFavoritesModule::class), $tree, $url, $title, $note);\n return true;\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "09a8bbc7ceb6e76c", + "equalIndicator/v1": "cf3ff932c7bfdbf931dfec295a06adfb8247e417e0f309b1d32452a71dd7e135" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 13, + "charOffset": 3129, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2992, + "charLength": 777, + "snippet": { + "text": "
          \n
        • -
        • \n
        • - \n
        • \n
        • - For example, "Calgary, Alberta, Canada" would be shortened to "Calgary, CA"'); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df20fb8896a4e5fc", + "equalIndicator/v1": "cfa3948cca1cc818eb69ae0432799e036e6933126262a3d987189c388d21c316" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 9, + "charOffset": 6122, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 6001, + "charLength": 296, + "snippet": { + "text": " \n

          \n
          \n

          \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7bf9011ab8f956b1", + "equalIndicator/v1": "d00e38439d7c517ee295570e0441c8ea509d0cf7e6375868275873ab0ceab073" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 13, + "charOffset": 2140, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1608, + "charLength": 1279, + "snippet": { + "text": "

        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fba86b4c2eb1743f", + "equalIndicator/v1": "d09a30179db65667762bed123db8a4547a94127b432faa72bb263093397e6218" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Help information not found.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 9, + "charOffset": 471, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 458, + "charLength": 89, + "snippet": { + "text": "\n

          \n \n

          \n

          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3c199199d521018f", + "equalIndicator/v1": "d15afbe7ada6d20831159cbfd8562ba8ab9dce758a7b9ab9a07e6d8d5dbb3c58" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 9, + "charOffset": 1550, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1540, + "charLength": 155, + "snippet": { + "text": "\n\n

          \n

          \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8e4edfd29b8814a1", + "equalIndicator/v1": "d1dbc2ce390ee27de59adb23f6842bf972618532dbd9cf3c71278c4dba1fee4e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Date'", + "markdown": "Undefined class 'Date'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 26, + "charOffset": 1196, + "charLength": 4, + "snippet": { + "text": "Date" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1127, + "charLength": 138, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\Date;\nuse Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\I18n;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a5ebb0184260c16", + "equalIndicator/v1": "d264c54664bef0fdc161f5ef0019244754157225823269226e3b0ba916251933" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/SharedNote.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 96, + "charOffset": 1820, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1559, + "charLength": 453, + "snippet": { + "text": " ×\n

          \n \" value=\"\" />\n
          \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d3ab49ba1809aa22", + "equalIndicator/v1": "d2b726a97b59f1b82785caac2f609988d5c7e114fe404a6bbb253f10423b769a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'LinkedRecordService'", + "markdown": "Undefined class 'LinkedRecordService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 44, + "charOffset": 981, + "charLength": 19, + "snippet": { + "text": "LinkedRecordService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 891, + "charLength": 187, + "snippet": { + "text": " $bg_col = $element['bg_col'];\n\n $linkedrecordservice = new LinkedRecordService();\n\n $note = Registry::noteFactory()->make($note_xref, $tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "952934fc48368d17", + "equalIndicator/v1": "d39c1385ebc5a56978bf06342c75c4131e81e0832b7acb0d754414200b854671" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 182, + "startColumn": 43, + "charOffset": 5387, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 180, + "startColumn": 1, + "charOffset": 5306, + "charLength": 173, + "snippet": { + "text": "\t * @param Individual $individual\n\t */\n\tprivate function enhanceIndividualsList (Individual $individual) {\n\t\t$fams = $individual->spouseFamilies();\n\t\tif (count($fams) > 0) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db0400c7bb031e40", + "equalIndicator/v1": "d3a48d8bd50bbe2e238a596c06829b5df90a67a6faf71edea43b1f5a52388113" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 322, + "startColumn": 28, + "charOffset": 9528, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 320, + "startColumn": 1, + "charOffset": 9421, + "charLength": 144, + "snippet": { + "text": "\t\t\t$records = self::getRecordsInCart($tree);\n\t\t\tforeach ($records as $record) {\n\t\t\t\tif ($record instanceof Individual) {\n\t\t\t\t\treturn true;\n\t\t\t\t}" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6f1173c69845152d", + "equalIndicator/v1": "d3e3484b7c823f90a4f87c39760f9de04ba6e153e9bd67a9f1df8a5baac6079f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Stop processing on.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "10527710672ec649", + "equalIndicator/v1": "d41ed0916bc59296fb3e3c35b5af2fe1708dd7e8b635f4bd6c2f13982f129c3d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 9, + "charOffset": 5186, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 5110, + "charLength": 218, + "snippet": { + "text": "

          \n

          \n
          \n

          \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e628b338afca1675", + "equalIndicator/v1": "d4761a80a2e333b5663340bdc27d183f80367ce93b22077b09a8c4839da3d445" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 198, + "charOffset": 3788, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 3520, + "charLength": 387, + "snippet": { + "text": "

          \n
          \n \" />\n
          \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "07deb6df6d07f99b", + "equalIndicator/v1": "d48c9a772213e9efc8afd4ddd31fd47fd57e93413018bdec4ffb8c05a6719c23" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleConfigInterface'", + "markdown": "Undefined class 'ModuleConfigInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 95, + "charOffset": 2619, + "charLength": 21, + "snippet": { + "text": "ModuleConfigInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2487, + "charLength": 156, + "snippet": { + "text": " * Main class for GVExport module\n */\nclass GVExport extends AbstractModule implements ModuleCustomInterface, ModuleChartInterface, ModuleConfigInterface\n{\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f5da5786c6fd59b7", + "equalIndicator/v1": "d502f51ddc65295ff3c7bfeca4c5e53506c87b17123d62b5d491df1363e3058a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 106, + "startColumn": 9, + "charOffset": 6774, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 104, + "startColumn": 1, + "charOffset": 6707, + "charLength": 177, + "snippet": { + "text": "
          \n

          \n \n

          \n

          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eaea8a975edb250f", + "equalIndicator/v1": "d536a4ac3ef7f08de246410170fcefeb0eefcfd23ec9fd0a6341e99455d80d0c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Site'", + "markdown": "Undefined class 'Site'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ImageFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 26, + "charOffset": 193, + "charLength": 4, + "snippet": { + "text": "Site" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 136, + "charLength": 67, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Site;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "187c3769d9534811", + "equalIndicator/v1": "d552d19386f0c98c00f513887386cb67ee7b850aeae1beba08eac5dd5bcb087f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 35, + "charOffset": 2953, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 2689, + "charLength": 596, + "snippet": { + "text": " \"%s shared note styles saved.\":\"\",\n \"Add individual to list of starting individuals\":\"\",\n \"Open individual's page\":\"\",\n \"Replace starting individuals with this individual\":\"\",\n \"Add this individual to the list of stopping individuals\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f2bc390e8155e44b", + "equalIndicator/v1": "d5726f36e9331c558e3d074dced6a39a58e2e02d1575a35e5cd6c994b87d37f3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 546, + "startColumn": 55, + "charOffset": 24663, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 544, + "startColumn": 1, + "charOffset": 24580, + "charLength": 173, + "snippet": { + "text": " * @return array\n */\n public function getSettingsLink(GVExport $module, Tree $tree, string $id): array\n {\n if ($this->doSettingsExist($module, $tree)) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "09fa87bd4eb940a4", + "equalIndicator/v1": "d5b0e657aa00c5e4174ac93522785f0c10cb4fa7cd363f5e36eac0521b4fb0ad" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 68, + "charOffset": 3205, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 2919, + "charLength": 618, + "snippet": { + "text": " \"Open individual's page\":\"\",\n \"Replace starting individuals with this individual\":\"\",\n \"Add this individual to the list of stopping individuals\":\"\",\n \"Replace stopping individuals with this individual\":\"\",\n \"Add to list of individuals to highlight\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5d9f1eebc15206b", + "equalIndicator/v1": "d6337393e7b1d8acbc60eedd3145c8636a11fb86f65307d98319e26a1c9082c9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 139, + "startColumn": 174, + "charOffset": 14660, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 137, + "startColumn": 1, + "charOffset": 14433, + "charLength": 327, + "snippet": { + "text": "

          \n
          \n \" />\n
          \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c5625c38b192b1a8", + "equalIndicator/v1": "d68d16f46785d20de6b05b99417108887a484e9c074693bfb22d52b20bda7658" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 52, + "charOffset": 5019, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 4761, + "charLength": 367, + "snippet": { + "text": "
          \n >\n \n
          \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba72a8fab5138a1b", + "equalIndicator/v1": "d6ccb543da8a045c4b23f3c9e28845b3d7607ea3e45e809b49b512928bde1514" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 64, + "charOffset": 1986, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1675, + "charLength": 648, + "snippet": { + "text": "
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c7b8a3a0f726eb7b", + "equalIndicator/v1": "d746fbe090a1487f74ffb94e6b3963e7e93f4cfe91fe3bde0596b2f6cbf2328f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 348, + "startColumn": 12, + "charOffset": 9989, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 346, + "startColumn": 1, + "charOffset": 9932, + "charLength": 89, + "snippet": { + "text": "\t * get the records in the clippings cart\n\t *\n\t * @param Tree $tree\n\t *\n\t * @return array" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1511b7e002cacad9", + "equalIndicator/v1": "d784a6250d4ddae20238754dbf82543bf99d8db898101fcb27f91640b2033706" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Saved diagrams/List of diagrams.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 390, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 377, + "charLength": 218, + "snippet": { + "text": "\n

          \n \n

          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4fe3f47a91709938", + "equalIndicator/v1": "d88014382f4b06bb820b406a4475fc33f7eed40597ba16485bd48cd68d9e7dc8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1180, + "startColumn": 10, + "charOffset": 45994, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1178, + "startColumn": 1, + "charOffset": 45937, + "charLength": 112, + "snippet": { + "text": "\tfunction getUpdatedFamily($fid): ?Family\n {\n\t\treturn Registry::familyFactory()->make($fid, $this->tree);\n\t}\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba519165949307e7", + "equalIndicator/v1": "d8b7b994ba5a451a37f392937681cedacaa3c8433e30dcba8a889e7ce635e5a2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 93, + "startColumn": 12, + "charOffset": 2654, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 91, + "startColumn": 1, + "charOffset": 2608, + "charLength": 119, + "snippet": { + "text": "\t * constructor for this class\n\t *\n\t * @param Tree $tree\n\t * @param bool $photoIsRequired\n\t * @param bool $combinedMode" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "17429b72077891fb", + "equalIndicator/v1": "d8c60ba68b69e4e1a239b20ee5f7b6b257e8b42b8273f6eb38f395dba7e01f4c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 9, + "charOffset": 188, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 116, + "charLength": 256, + "snippet": { + "text": "/**\n * @var array $vars array of saved settings\n * @var Tree $tree webtrees tree object of current tree\n * @var bool $cartempty whether the clippings cart is empty\n * @var GVExport $module this module" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a17bef811b5c3a55", + "equalIndicator/v1": "d93b485c4fe39fe19f135091f740c36c923a540319efe08940e05504859f531a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/SharedNote.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 12, + "startColumn": 9, + "charOffset": 401, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 10, + "startColumn": 1, + "charOffset": 213, + "charLength": 539, + "snippet": { + "text": "/**\n * @var array $vars string of view location to insert into subgroup* @var array $view_options options to pass to view. We also reuse some parts of this.\n * @var Tree $tree string of view location to insert into subgroup* @var array $view_options options to pass to view. We also reuse some parts of this.\n * @var GVExport $module string of view location to insert into subgroup* @var array $view_options options to pass to view. We also reuse some parts of this.\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b55e5c8a294dc813", + "equalIndicator/v1": "d9598a474d716b61560afd32c27685782d115eaecd2f3a377068f447092733f4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Date'", + "markdown": "Undefined class 'Date'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 573, + "startColumn": 26, + "charOffset": 23987, + "charLength": 4, + "snippet": { + "text": "Date" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 571, + "startColumn": 1, + "charOffset": 23850, + "charLength": 255, + "snippet": { + "text": " $age = (string) new Age($individual->getBirthDate(), $individual->getDeathDate());\n } else {\n $today = new Date(strtoupper(date('d M Y')));\n $age = (string) new Age($individual->getBirthDate(), $today);\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "89feeccd794f385e", + "equalIndicator/v1": "d9765ece7965255087a168d96a933424afdcb6204d9587a8edad63434accefb5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 59, + "charOffset": 3155, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 3087, + "charLength": 310, + "snippet": { + "text": "

          \n
            \n
          • -
          • \n
          • -
          • \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6af2ff3724ae5ea2", + "equalIndicator/v1": "d97f2f2dc98acb04f1aabd0eed4f0aa0878026289bfa324805a75d06397c35d3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 26, + "charOffset": 1486, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1456, + "charLength": 120, + "snippet": { + "text": "});\n\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Contracts\\UserInterface;\nuse Fisharebest\\Webtrees\\Registry;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6380cc89c12faef0", + "equalIndicator/v1": "d9f55dc3ceca112c0f4ded563ad3593b748338bcc1d3cdf94cdbad6e12e3831c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleChartTrait'", + "markdown": "Undefined class 'ModuleChartTrait'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 9, + "charOffset": 2679, + "charLength": 16, + "snippet": { + "text": "ModuleChartTrait" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 2643, + "charLength": 128, + "snippet": { + "text": "\n use ModuleCustomTrait;\n use ModuleChartTrait;\n use ModuleConfigTrait;\n public const CUSTOM_VERSION = '2.1.21';" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb3ac56b39c0e5f1", + "equalIndicator/v1": "da225b0f7a752ffdbe69db2b3c321b05eaf533ace70cfb1e03cc0e7abc0e91dc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 120, + "startColumn": 34, + "charOffset": 3886, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 118, + "startColumn": 1, + "charOffset": 3846, + "charLength": 122, + "snippet": { + "text": " }\n\n public function chartBoxMenu(Individual $individual): ?Menu\n {\n return $this->chartMenu($individual);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "263e502cdcc7d6c0", + "equalIndicator/v1": "da4a5e85855af5ca8465d2ed528d192d7ac34a60137524b7520aad2d512b707f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 203, + "startColumn": 135, + "charOffset": 21423, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 201, + "startColumn": 1, + "charOffset": 21160, + "charLength": 416, + "snippet": { + "text": " \n
          \n \">\n
          \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a85e1f4b2ab9a5ef", + "equalIndicator/v1": "da651b3fd4fff0ef239be8a7a4b9e1bec73ebefde95a7d4e02854de6f9550dad" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'StreamFactoryInterface'", + "markdown": "Undefined class 'StreamFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 22, + "charOffset": 2457, + "charLength": 22, + "snippet": { + "text": "StreamFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2344, + "charLength": 138, + "snippet": { + "text": "use Psr\\Http\\Message\\ServerRequestInterface;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dcd89f29ffce86de", + "equalIndicator/v1": "db1e6ba7d113fa651258cc22dbd0c6e3ffbb314161dfdabb0224ab4969b94c7c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 163, + "startColumn": 327, + "charOffset": 17401, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 161, + "startColumn": 1, + "charOffset": 17005, + "charLength": 917, + "snippet": { + "text": "
          \n
          \n )\" id=\"highlight_start_indis\" value=\"true\" >\n
          >\n \" />" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9488fb0e1b2fd1ae", + "equalIndicator/v1": "dbb9facb3770032f192b62b3a766bcb3f7f854eac82b064b61172e2941e1bb3a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Fact'", + "markdown": "Undefined class 'Fact'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 418, + "startColumn": 29, + "charOffset": 12290, + "charLength": 4, + "snippet": { + "text": "Fact" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 416, + "startColumn": 1, + "charOffset": 12220, + "charLength": 120, + "snippet": { + "text": "\t{\n\t\t$fact = $individual->facts(['OBJE'])\n\t\t\t->first(static function (Fact $fact): bool {\n\t\t\t\t$media = $fact->target();\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2abef22eda31aa49", + "equalIndicator/v1": "dc8653235b27b45dd2f868aa12f62b0c248c222a345bc112df36cfe6b2946952" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 173, + "charOffset": 5138, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 4930, + "charLength": 517, + "snippet": { + "text": "\n
          \n \n \n chartUrl($individual, ['reset' => '1']) ?>\" class=\"btn btn-outline-secondary\">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db29f20ec82457ad", + "equalIndicator/v1": "dce1ad952101a00ed58a2631a11e51cc4ce7236e0d6426714cf5da47479dd765" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SettingsFile.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13, + "startColumn": 36, + "charOffset": 345, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 11, + "startColumn": 1, + "charOffset": 208, + "charLength": 280, + "snippet": { + "text": "\n
          \n
          \n \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b9a4317ebf9af6a", + "equalIndicator/v1": "dd0a7b8226e77c2b4103ecbf0d1cab8ab1cfd5e96e3fd13eb6eab89f8ac2a529" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 79, + "charOffset": 680, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 598, + "charLength": 152, + "snippet": { + "text": "?>\n\n [route(ControlPanel::class) => I18N::translate('Control panel'), $title]]) ?>\n\n

          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b3a9769fc79fc41", + "equalIndicator/v1": "dd45a59c93660a29756b9588b0b538a3cdfb800d7efd7283ddcc8acc29d49998" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 13, + "charOffset": 2084, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1806, + "charLength": 737, + "snippet": { + "text": "
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • - " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e20632999a7c95b0", + "equalIndicator/v1": "dd79bcdf231d5b4f357aa62f70a735343a0635143dc2113b60048eab00f5bd36" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1150, + "startColumn": 8, + "charOffset": 44847, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1148, + "startColumn": 1, + "charOffset": 44795, + "charLength": 221, + "snippet": { + "text": "\t */\n\tfunction addPhotoToIndi(string $pid) {\n\t\t$i = Registry::individualFactory()->make($pid, $this->tree);\n\t\t$m = $i->findHighlightedMediaFile();\n $resolution = floatval($this->settings[\"photo_resolution\"]) / 100;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "022bfbb9207aa39f", + "equalIndicator/v1": "de361b367a6c96f72484a059b1f417b9d7964a5a92936f37f5b9338e134f9a3e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 266, + "startColumn": 27, + "charOffset": 8313, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 264, + "startColumn": 1, + "charOffset": 8250, + "charLength": 131, + "snippet": { + "text": "\t{\n\t\tforeach ($records as $record) {\n\t\t\tif ($record instanceof Family) {\n\t\t\t\t$fid = $record->xref();\n\t\t\t\t$this->addFamToList($fid);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b11b451174f15055", + "equalIndicator/v1": "dee14a1ce90c590e5d8a131f88e0820b19e04e63e0e23d910aec3ea3d8a602e5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 55, + "charOffset": 2109, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 2010, + "charLength": 409, + "snippet": { + "text": "
        • \n
          \n \n 'vars[shape_sex_female]', 'id' => 'shape_sex_female', 'selected' => e($vars['shape_sex_female']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_custom_options\"])]) ?>\n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3a9a01de95636d8f", + "equalIndicator/v1": "dfd0c1066a077c65e8619ea2785ed404761b0edf577ce961cdd532384cee7f05" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 356, + "startColumn": 11, + "charOffset": 10224, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 354, + "startColumn": 1, + "charOffset": 10091, + "charLength": 200, + "snippet": { + "text": "\t\t$xrefs = self::getXrefsInCart($tree);\n\t\t$records = array_map(static function (string $xref) use ($tree): ?GedcomRecord {\n\t\t\treturn Registry::gedcomRecordFactory()->make($xref, $tree);\n\t\t}, $xrefs);\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "10b4ce883767a60d", + "equalIndicator/v1": "e00ad60ba091acf17f760570d54d4c490ad7c74dcc671662b3a32a5789ea561e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 63, + "charOffset": 1805, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1317, + "charLength": 858, + "snippet": { + "text": "
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "84001f15e2ac3c70", + "equalIndicator/v1": "e04e40e042d57c226494a381e6d60c8c758025e564b000db374dca25181af08e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 56, + "charOffset": 1579, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1421, + "charLength": 359, + "snippet": { + "text": "

        \n
        \n \n
        \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0bdf3a596a5569a5", + "equalIndicator/v1": "e07ec659c0708bd6c8c4eeaada5fce32bcb0229f0728995ec0c979c0d4e9bac2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13, + "startColumn": 9, + "charOffset": 555, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 11, + "startColumn": 1, + "charOffset": 382, + "charLength": 347, + "snippet": { + "text": " * @var array $settings wider array of settings and options\n * @var bool $usegraphviz Whether Graphviz is installed on the server and enabled\n * @var Individual $individual Individual object from webtrees\n * @var bool $admin whether this is for the admin page (remove functions that aren't settings)\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ce1830b23321b8a2", + "equalIndicator/v1": "e0e6202021996ae640c634f84ac9801b2f5a42141a502ee3cea73794d7f79ef0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'TreeService'", + "markdown": "Undefined class 'TreeService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 35, + "charOffset": 186, + "charLength": 11, + "snippet": { + "text": "TreeService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 66, + "charLength": 164, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Services\\GedcomImportService;\nuse Fisharebest\\Webtrees\\Services\\TreeService;\nuse Fisharebest\\Webtrees\\Tree;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "468271804e3d8727", + "equalIndicator/v1": "e11d6c65b32b3c9e888f56d1fc988d2aa621f5bb2a678e5bdd4fec182735c53b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 61, + "charOffset": 2832, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 2761, + "charLength": 150, + "snippet": { + "text": "
      \n
        \n
      • -
      • \n
      \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a2432d5bf1612796", + "equalIndicator/v1": "e128e23ac29e1bbd36f2edd0385f9ad167de894c979990df0a5dcfb9d5bdb300" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 111, + "startColumn": 342, + "charOffset": 12310, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 109, + "startColumn": 1, + "charOffset": 11919, + "charLength": 677, + "snippet": { + "text": "\n
        \n >\n\n
        >" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0ecea651503407e6", + "equalIndicator/v1": "e13282d2a7db2449681c76c9db26acc08291528cfbda580ec14e8fd589a19365" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 13, + "charOffset": 539, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 452, + "charLength": 148, + "snippet": { + "text": " private ServerRequestInterface $request;\n private GVExport $module;\n private Tree $tree;\n private string $json_data;\n private $json;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ff0887eda69e4e4b", + "equalIndicator/v1": "e169337b2728d1964a4a36ae24c3608d17bcc1afd522a52f69bf957bf79e9e76" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 22, + "charOffset": 276, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 163, + "charLength": 168, + "snippet": { + "text": "use Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;\nuse Fisharebest\\Webtrees\\Tree;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e6a0d688408cb5b5", + "equalIndicator/v1": "e1903b9c07f7de29f69697b31843895ae17ff21aa2c4ee2590c625eff7f6f8aa" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ImageFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 162, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 93, + "charLength": 106, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Site;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "51b431d9bfb21671", + "equalIndicator/v1": "e1b120c61ba1f20a8289fa6628acd4106b4c6e1993395862f3c535b3f67cb7e1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 39, + "charOffset": 1894, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 1828, + "charLength": 137, + "snippet": { + "text": " * @return bool\n */\n private function addTreeFavourite(Tree $tree, string $url, string $title): bool\n {\n $note = \"\";" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "540dc77f621cf122", + "equalIndicator/v1": "e1d9779816ca182d7c320f1552abb789f82be93cc2c3780f309f43a1597eb617" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 26, + "charOffset": 287, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 150, + "charLength": 147, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;\nuse Fisharebest\\Webtrees\\Tree;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b50228ebc4d8e480", + "equalIndicator/v1": "e2577f783e49dcbf3d41b3dddacfde21eb9dc76e709264f263826172cc8c3a5b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 15, + "charOffset": 7693, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 7641, + "charLength": 119, + "snippet": { + "text": " *\n * @param GVExport $module\n * @param Tree $tree\n * @param string $id\n * @param int|null $user_id" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ce02335a7ef5d479", + "equalIndicator/v1": "e28577a329b56997b416acaa2245803ca968856ff0333d1af64f82705b5c30c4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Stop processing on.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 392, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 379, + "charLength": 602, + "snippet": { + "text": "\n

        \n

        Choose a person in the top box, and they will be added to the list. Their XREF will also be included in the bottom box (which can be edited directly if needed).'); ?>\n

        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "22e217a3a3d9b416", + "equalIndicator/v1": "e2d8614511958cf6340e4416d510763a6318a620c9e6d0d5d8a2a474c4a451c9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 9, + "charOffset": 1278, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1212, + "charLength": 171, + "snippet": { + "text": "
        \n

        \n \n

        \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "69315d2bcf8b89f7", + "equalIndicator/v1": "e2d9f32f4798a400698b51491326c95ff3ff5154d5858165f23bd86a94b36565" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 18, + "charOffset": 2210, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 2162, + "charLength": 177, + "snippet": { + "text": "
          \n
          \n
          \n
          \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa4995f985af1f73", + "equalIndicator/v1": "e33434dc82ffa2f491bd1d68ecc47a43905ffac77d356f68120035d8be623ac5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 465, + "startColumn": 24, + "charOffset": 20228, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 463, + "startColumn": 1, + "charOffset": 20135, + "charLength": 191, + "snippet": { + "text": " return I18N::translate('Male');\n case 'X':\n return I18N::translate('Other');\n case 'U':\n return I18N::translate('Unknown');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "592d2e0f5ca68a7a", + "equalIndicator/v1": "e35cc6c3cca95685c990d81a9d76a4767e825e316c4e7e2acedd8ff4503a2cd8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 177, + "startColumn": 79, + "charOffset": 5377, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 175, + "startColumn": 1, + "charOffset": 5245, + "charLength": 186, + "snippet": { + "text": " {\n $tree = $request->getAttribute('tree');\n Auth::checkComponentAccess($this, ModuleChartInterface::class, $tree, Auth::user());\n\n assert($tree instanceof Tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d23cf4dae7e69b76", + "equalIndicator/v1": "e35fe4e2d0d657393d467b12529d711b0f0d2c84a588f1c659a5ee4f16f87b2f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 13, + "startColumn": 9, + "charOffset": 306, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 11, + "startColumn": 1, + "charOffset": 293, + "charLength": 265, + "snippet": { + "text": "\n/**\n * @var Tree $tree the webtrees tree instance of the current tree\n * @var Individual $individual the webtrees individual object instance of the XREF in the URL\n * @var string $title title of this page" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ad883eeb08102071", + "equalIndicator/v1": "e38093cba0682936e0de91c1a9f6f441fa6c4a8f4b644506462ed9e71687dd70" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'HttpBadRequestException'", + "markdown": "Undefined class 'HttpBadRequestException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 27, + "charOffset": 7362, + "charLength": 23, + "snippet": { + "text": "HttpBadRequestException" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 7297, + "charLength": 189, + "snippet": { + "text": " }\n } else {\n throw new HttpBadRequestException(I18N::translate('Invalid JSON') . \" 1: \" . json_last_error_msg() . $loaded);\n }\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dff4022b99009434", + "equalIndicator/v1": "e387d8363d769bd647a65c7a0b6576911557ada9871237b790f2742af84ecd83" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 171, + "startColumn": 63, + "charOffset": 10248, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 169, + "startColumn": 1, + "charOffset": 10123, + "charLength": 256, + "snippet": { + "text": " }\n } else {\n throw new HttpBadRequestException(I18N::translate('Invalid JSON') . \" 1: \" . json_last_error_msg() . $loaded);\n }\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b316e2fa53bcd38c", + "equalIndicator/v1": "e39e4c920ae1e6b4cd3891d9360a7ae54e016436a2a45970cee934767cadd004" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'HttpBadRequestException'", + "markdown": "Undefined class 'HttpBadRequestException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 171, + "startColumn": 39, + "charOffset": 10224, + "charLength": 23, + "snippet": { + "text": "HttpBadRequestException" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 169, + "startColumn": 1, + "charOffset": 10123, + "charLength": 256, + "snippet": { + "text": " }\n } else {\n throw new HttpBadRequestException(I18N::translate('Invalid JSON') . \" 1: \" . json_last_error_msg() . $loaded);\n }\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fce7b0f1b4e6200", + "equalIndicator/v1": "e4d18845ddbb1c0aee63a9edd514f9fef3dff37d7a4c878159762f268a39e190" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 54, + "charOffset": 5287, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 5013, + "charLength": 571, + "snippet": { + "text": "
          >\n
          \n \n 'vars[photo_shape]', 'id' => 'photo_shape', 'selected' => e($vars['photo_shape']), 'options' => MainPage::updateTranslations($settings[\"photo_shape_options\"])]) ?>\n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "96279e33e533ad40", + "equalIndicator/v1": "e4fe15e2bc4ad3e090df11dfd07feb395814bf29bfe87e92a6174b0a9752863b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 60, + "charOffset": 2613, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 2324, + "charLength": 461, + "snippet": { + "text": "
        • - \n
        • \n
        • - \n
        • \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23c08b61b8760ee7", + "equalIndicator/v1": "e50804b057d1533cb68bac0c5a639e038a462beec833750daf5ee83582a31e4d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 155, + "startColumn": 12, + "charOffset": 4425, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 153, + "startColumn": 1, + "charOffset": 4367, + "charLength": 142, + "snippet": { + "text": "\t * that is needed for the \"combined\" mode\n\t *\n\t * @param Family $family\n\t * @param string $partnerType self::ID_HUSBAND or self::ID_WIFE\n\t */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bd2e83fbc8328b06", + "equalIndicator/v1": "e542ac13caf8c1b9dda6cb559ed590dacf19664dfb147a9a2c288745e0511f68" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/MainPage.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 28, + "charOffset": 547, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 469, + "charLength": 135, + "snippet": { + "text": " {\n foreach ($array as $key => $value) {\n $array[$key] = I18N::translate($value);\n }\n return $array;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4818cef1ef38e0ef", + "equalIndicator/v1": "e5b8d9d33f5fc10605aa355518cd62f89c4b1fdc1ff8cd0fd2d7dd7827fec2cc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings/SaveSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 45, + "charOffset": 1662, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1348, + "charLength": 387, + "snippet": { + "text": "
        \n name=\"vars[show_diagram_panel]\" id=\"show_diagram_panel\" value=\"show_diagram_panel\" >\n \n
        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6c135fe47845d364", + "equalIndicator/v1": "e665d6493e6f2a2fe086d531d2d65da58619f9af59a6c47762bc19267b99bcb8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 180, + "startColumn": 80, + "charOffset": 19562, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 178, + "startColumn": 1, + "charOffset": 19133, + "charLength": 751, + "snippet": { + "text": " \" />\n
        \n \n \" >\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a99f03ddde02e690", + "equalIndicator/v1": "e7b8912a2ef22e28bf48c2ec25690e4b9f8b824c72a8821fc49e32ef0b50c7de" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Media'", + "markdown": "Undefined class 'Media'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 26, + "charOffset": 1395, + "charLength": 5, + "snippet": { + "text": "Media" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1300, + "charLength": 171, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\Media;\nuse Fisharebest\\Webtrees\\MediaFile;\nuse Fisharebest\\Webtrees\\Session;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfa6e263f2efdec7", + "equalIndicator/v1": "e816acdfd30b648408211c81ba496d9cad9f73a1cd911c324eae6e807d712955" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 250, + "startColumn": 27, + "charOffset": 7918, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 248, + "startColumn": 1, + "charOffset": 7789, + "charLength": 202, + "snippet": { + "text": "\tprivate function addIndividualsFromClippingsCart (array $records) {\n\t\tforeach ($records as $record) {\n\t\t\tif ($record instanceof Individual) {\n\t\t\t\t$pid = $record->xref();\n\t\t\t\t$this->addIndiToList($pid);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cce4870d5f77c8f3", + "equalIndicator/v1": "e835e075056adece036be85b18c65a4d7183c1baf10585750e8f305802b6c3a8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 9, + "charOffset": 7069, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 7001, + "charLength": 198, + "snippet": { + "text": "
        \n

        \n \n

        \n

        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "139df17f6558727f", + "equalIndicator/v1": "e88397b1b75e4b859d1fc1b560390f3a5d04c2353fa3e64626f8c4d7e2579447" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Clippings cart.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bb5d4d08d1a47937", + "equalIndicator/v1": "e8865065b29db3113dc4a0bfa63cf0b91670aa4f5044e6d9bf479747f120b194" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseFactoryInterface'", + "markdown": "Undefined class 'ResponseFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 22, + "charOffset": 184, + "charLength": 24, + "snippet": { + "text": "ResponseFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 96, + "charLength": 203, + "snippet": { + "text": "use Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Validator;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc4a119ef19a6a6f", + "equalIndicator/v1": "e8c256adeb5b1cf39d7630a68fb0e853238752532bd8c073e5e243135fcdfee9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 461, + "startColumn": 24, + "charOffset": 20086, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 459, + "startColumn": 1, + "charOffset": 20012, + "charLength": 170, + "snippet": { + "text": " switch ($i->sex()) {\n case 'F':\n return I18N::translate('Female');\n case 'M':\n return I18N::translate('Male');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ece6a248169dcb65", + "equalIndicator/v1": "e92bf3d585c354db686f8f2425fa2a61c87713a741bfa20afef8ebe00bf0451d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 55, + "charOffset": 2686, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2621, + "charLength": 150, + "snippet": { + "text": "

      \n
        \n
      • -
      • \n
      \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "64bfc832b2862263", + "equalIndicator/v1": "e99dd2f24e0e4086a10bd7a185f3b27ac11e6dd91222ab27fdf1e701a1522458" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 44, + "charOffset": 909, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 744, + "charLength": 390, + "snippet": { + "text": " \n
        \n \n >
        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a83539308a0eec1d", + "equalIndicator/v1": "e9ae74b55b1eb9a255a645c9d41a3c61ebf0f4b8a6e0b89b511c3e3b7d6d5f2b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 394, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 381, + "charLength": 169, + "snippet": { + "text": "\n

        \n \n

        \n
          " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "32f7b79bd937060e", + "equalIndicator/v1": "e9e3be3ef005158c9cff3836dca010c462df399522eb672c377e52f2de29cb93" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 29, + "charOffset": 944, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 831, + "charLength": 191, + "snippet": { + "text": " $this->settings_obj = $parent_obj;\n if (Settings::isUserLoggedIn()) {\n $this->userId = Auth::user()->id();\n $this->base_url = $module->base_url;\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ab580a307702e0c1", + "equalIndicator/v1": "eaff591c9bb1854f6bfb6c5668c10b6f582d18e115f660ec0a9b3c22f0053874" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 11, + "startColumn": 24, + "charOffset": 281, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 9, + "startColumn": 1, + "charOffset": 148, + "charLength": 351, + "snippet": { + "text": " \"Download\":\"\",\n \"Copy link\":\"\",\n \"Revoke link\":\"\",\n \"Revoked access to shared link\":\"\",\n \"Copied link to clipboard\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8740831c154c2901", + "equalIndicator/v1": "eb09b4331ecad90fdbeacb559c1697a833fbb65072b6a01c2bae4aebd6ad76fc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseInterface'", + "markdown": "Undefined class 'ResponseInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 22, + "charOffset": 2325, + "charLength": 17, + "snippet": { + "text": "ResponseInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2238, + "charLength": 197, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Webtrees;\nuse Psr\\Http\\Message\\ResponseInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6640a67fe5770146", + "equalIndicator/v1": "eb48ee4a3c97bbd5cd181a5ec05c068ca0f9832261ebd6eb171a732c47f9be83" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 3, + "startColumn": 26, + "charOffset": 32, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 84, + "snippet": { + "text": "saveAdminSettings($this, $vars);\n FlashMessages::addMessage(I18N::translate('The preferences for the module “%s” have been updated.',\n $this->title()), 'success');\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f566c86fd7320882", + "equalIndicator/v1": "ec6432e4a40af76cf7ebbaf442d95f7733ff45f98bbb7e87d68f988f0e7e74b9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 46, + "charOffset": 3847, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 3513, + "charLength": 404, + "snippet": { + "text": "
          \n >\n \n
          \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b6244b4a06c754cb", + "equalIndicator/v1": "ec7b2e0e34901b372c9e3687aeac4fa7be61bc72a727587bcd6ff570e8e59ac6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SharedNoteList.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 250, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 141, + "charLength": 174, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Module\\UserFavoritesModule;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\Services\\LinkedRecordService;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1394b0d1e8baf07e", + "equalIndicator/v1": "ed694829fd72648bac9d57c4f2d2eff3938615e353cff1687a5b1969621c5b35" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 9, + "charOffset": 6624, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 6559, + "charLength": 202, + "snippet": { + "text": "
      \n

      \n \n

      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e2bb411fb885d753", + "equalIndicator/v1": "ee553c417c6aeae6e35e4802b589664869a9d3c578ce3b00cd423d9a0fea2bf7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 337, + "startColumn": 41, + "charOffset": 9733, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 335, + "startColumn": 1, + "charOffset": 9670, + "charLength": 120, + "snippet": { + "text": "\t * @return array\n\t */\n\tprivate static function getXrefsInCart(Tree $tree): array\n\t{\n\t\t$cart = Session::get('cart', []);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ac9adebf02589971", + "equalIndicator/v1": "ef0aa9e8fc5bc62976c93cf4aef9a56a8583b9e44ad924437432a8920fd65a1e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleService'", + "markdown": "Undefined class 'ModuleService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 33, + "charOffset": 3206, + "charLength": 13, + "snippet": { + "text": "ModuleService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3122, + "charLength": 169, + "snippet": { + "text": " * @param ModuleService $module_service\n */\n public function __construct(ModuleService $module_service)\n {\n $this->module_service = $module_service;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b43d516cfba34a6d", + "equalIndicator/v1": "ef67bc60d56d789356d5eb569254b68e8c598fd4f67388c17ddbaa84a7e82015" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 21, + "charOffset": 3504, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 3469, + "charLength": 162, + "snippet": { + "text": "\n
      \n

      \n
      \n layout = 'layouts/administration';" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "26ffa3ac81863475", + "equalIndicator/v1": "f0a7c1876fcaf8039c0e9db8a5267298cd58ee9188527af7ae0e9ecdb231fb89" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 51, + "charOffset": 1104, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 951, + "charLength": 594, + "snippet": { + "text": "
        \n
      • -
      • \n
      • -
      • \n
      • -
      • \n
      • -
      • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4c9ab3dc2d6944e6", + "equalIndicator/v1": "f1450775dcbcdff5e93a8ebe4bd0fe76920fb95b3f2024eb0e3fe9d58d03f89b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 224, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 97, + "charLength": 137, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Services\\GedcomImportService;\nuse Fisharebest\\Webtrees\\Services\\TreeService;\nuse Fisharebest\\Webtrees\\Tree;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42acd22fe5713f5c", + "equalIndicator/v1": "f16acaeaddd7f1c5357ea682fd81a8e03079b96f72f098a98fbec0fd8672a76e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 9, + "charOffset": 2297, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 2180, + "charLength": 278, + "snippet": { + "text": " .\n

        \n

        \n

        \n :" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e62ce247895f6c2b", + "equalIndicator/v1": "f1affaeea595dc80a098a3dd947826c59e1b1e43c71fb32eae7ecbaeeb1f3f47" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 151, + "startColumn": 214, + "charOffset": 15896, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 149, + "startColumn": 1, + "charOffset": 15629, + "charLength": 385, + "snippet": { + "text": "

      \n
      \n \" />\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0763133f8cf8900", + "equalIndicator/v1": "f32c8feeccaae7e8dc709a48dde9997ec7d4f13974d7c2bc74a8bcde40e5466b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 9, + "charOffset": 1710, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1696, + "charLength": 383, + "snippet": { + "text": "

      \n\n
      \n

      \n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "97b6da7f5a5f7581", + "equalIndicator/v1": "f3f03894eec1e36ff8f434a780a87c56416d06b24b4f87bf03976b01fd67119d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Saved diagrams/List of diagrams.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a2f3d7cd25de1250", + "equalIndicator/v1": "f3f6325e2505a4ff9b22012093c34c2f216d7379d742c1ffbd92d56f8e21966a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Message history.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c80fdb608815879b", + "equalIndicator/v1": "f42a38eb9ed2e19c9bbcbf33ba2579160cbb30bf047571912661483c54041276" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 58, + "startColumn": 17, + "charOffset": 1378, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 56, + "startColumn": 1, + "charOffset": 1336, + "charLength": 225, + "snippet": { + "text": " {\n $note = \"\";\n $user = Auth::user();\n $favorite = function ($tree, $user, $url, $title, $note) {\n return app(UserFavoritesModule::class)->addUrlFavorite($tree, $user, $url, $title, $note);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "73e20b1fab34b415", + "equalIndicator/v1": "f444ad7ee86568848547563427d9f50431f81ef86eafae008f01bdeadf71a7c1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 4, + "startColumn": 26, + "charOffset": 63, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 2, + "startColumn": 1, + "charOffset": 6, + "charLength": 109, + "snippet": { + "text": "\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Tree;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2f75f3ae4a2e1274", + "equalIndicator/v1": "f4e42b615c04b24029a87013e65ba4c17ec8bb2c25617ae201027d0a30ce3cce" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Getting started.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 26, + "charOffset": 157, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 127, + "charLength": 123, + "snippet": { + "text": " */\n\nuse Fisharebest\\Webtrees\\I18N;\nuse vendor\\WebtreesModules\\gvexport\\GVExport;\nuse vendor\\WebtreesModules\\gvexport\\Help;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "60c4b0dbbf43db25", + "equalIndicator/v1": "f4ea547624947c48384db57454092806de2fd7e1af8268aee905f76f28ac1650" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 38, + "charOffset": 1302, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1129, + "charLength": 447, + "snippet": { + "text": "

      \n
      \n \n
      \n getSharedSettingsList();\n $this->userId = $shared_settings_list[$token]['user'];\n $tree_service = new TreeService(new GedcomImportService());\n $this->tree = $tree_service->find($shared_settings_list[$token]['tree']);\n $this->id = $shared_settings_list[$token]['settings_id'];" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d357d16af5cb2265", + "equalIndicator/v1": "f6254008e2484f9042ecf8c75b07170761addff9ade1df2fb2e97034770fc452" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 13, + "charOffset": 1066, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 951, + "charLength": 594, + "snippet": { + "text": "
        \n
      • -
      • \n
      • -
      • \n
      • -
      • \n
      • -
      • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c84d03007277d6f3", + "equalIndicator/v1": "f7f0c292e495d9c691a768a3df75001d41494185e416fff830120962d15b5e3a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 42, + "charOffset": 2488, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 2354, + "charLength": 253, + "snippet": { + "text": "
        \n
        :
        \n
        ()
        \n
        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4f8731a87411f586", + "equalIndicator/v1": "f831fd5a4d6731d7795998954d3e3833560f91e8416dfc061950e2f27589b0f4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 576, + "startColumn": 57, + "charOffset": 25518, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 574, + "startColumn": 1, + "charOffset": 25429, + "charLength": 185, + "snippet": { + "text": " * @throws Exception\n */\n public function loadSettingsToken(GVExport $module, Tree $tree, string $token): array\n {\n $link = new SettingsLink($module, $tree, $this);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fd4548e290c7552c", + "equalIndicator/v1": "f8ecabbf01a6d71c03cbd90bbc40f0b3b3b635e3270e64ebcfe356cc9745c615" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 51, + "charOffset": 7386, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 7297, + "charLength": 189, + "snippet": { + "text": " }\n } else {\n throw new HttpBadRequestException(I18N::translate('Invalid JSON') . \" 1: \" . json_last_error_msg() . $loaded);\n }\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "04e1c796ba8f8e2b", + "equalIndicator/v1": "f912bb1235b102757098af0a3901f5734d5ff3c9fa100170b2fe627ea17aab8f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 172, + "startColumn": 13, + "charOffset": 5659, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 170, + "startColumn": 1, + "charOffset": 5583, + "charLength": 167, + "snippet": { + "text": " public function updateSettingsWithToken($token): bool\n {\n if (Auth::user()->id() == Settings::GUEST_USER_ID) {\n return false;\n } else {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "18f197a87e337d29", + "equalIndicator/v1": "f9167868d28481a59806e6fc96551d1a03a641ed916cb8420197375d87f24891" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 111, + "charOffset": 2126, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1781, + "charLength": 775, + "snippet": { + "text": " \">\n \n \">\n \n \" value=\"\">" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "724e0c81ac5ed8fb", + "equalIndicator/v1": "f955ae65bf8276a5879686e5613807b0e4464e3ece6f21c56ddf2e8aec1a5fcd" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 84, + "charOffset": 803, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 687, + "charLength": 168, + "snippet": { + "text": " * @param Tree $tree\n */\n public function __construct(ServerRequestInterface $request, GVExport $module, Tree $tree)\n {\n $this->request = $request;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "59a20e880143c018", + "equalIndicator/v1": "f97ad9d297f70c9eda2a3a13687dbf9dee137a93c56e41aae4726fcdd2d8bf54" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'StreamFactoryInterface'", + "markdown": "Undefined class 'StreamFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 22, + "charOffset": 1390, + "charLength": 22, + "snippet": { + "text": "StreamFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1303, + "charLength": 115, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Registry;\nuse Fisharebest\\Webtrees\\Tree;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\n\n/**" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5df61d8d1deaa81e", + "equalIndicator/v1": "fadfcb55d59129befbf7c75a758488a6f5acca6c1555dfc32e66b2b2ac39d90e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 343, + "startColumn": 45, + "charOffset": 17131, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 341, + "startColumn": 1, + "charOffset": 17029, + "charLength": 199, + "snippet": { + "text": " }\n if (isset($vars['shape_sex_female'])) {\n $settings['shape_sex_female'] = I18N::digits($vars['shape_sex_female']);\n }\n if (isset($vars['shape_sex_other'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e1067aa13f117b2a", + "equalIndicator/v1": "faf8134178151773a0b3636ad7d9f4a56fd68a6f045b1d5c66414e049768ad5f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Clippings cart.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 388, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 375, + "charLength": 594, + "snippet": { + "text": "\n

        \n

        If you have added individuals and the related family and media records to the clippings cart, these can be used to display the diagram instead of the criteria in the "People to be included" section.

        If you have individuals in the clippings cart but don't wish to use these, you have the option to ignore the clippings cart.'); ?>\n

        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0b58df383a275ca0", + "equalIndicator/v1": "fb88f452816f3c4a57d49e04689c2125841e36329fd384afbe4a345a62d7efbc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Include anyone related to.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 392, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 379, + "charLength": 1239, + "snippet": { + "text": "\n

        \n

        You can choose as many starting individuals as you wish. A tree will be created for each starting individual based on the settings, then the trees are merged to create one tree for the diagram.

        Click the X to remove a record from the list. If two or more records are listed, a "Clear all" option will appear to allow you to remove all records.

        You can also click on an individual in this list to have the diagram in the browser scroll to that person.

        When you next come to the page, the default individual or the last individual you were looking at in webtrees will be loaded. If there was just one saved individual then it will be replaced with the individual provided by webtrees on coming to the page. If there were multiple in the list, then the individual provided by webtrees will be added to the list (if not already in it). So be sure to double-check you are only including individuals you are looking for when first loading the page. This default behaviour can be changed with the option "Treatment of source individuals" in the advanced section.'); ?>\n

        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "941691c629f6dbba", + "equalIndicator/v1": "fbbda2bc170b9570d27c3c54cf23408e1d4ed135d016b35e6254175cdcd45610" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 38, + "charOffset": 1692, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1577, + "charLength": 407, + "snippet": { + "text": " value=\"\">\n
        \n \n
        \n getAttribute('tree');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "82dfea13ac6530ef", + "equalIndicator/v1": "fbead682837239efeee7a3962a2bd332bb44d06ca680a91aa060b8b24e4d1f68" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Site'", + "markdown": "Undefined class 'Site'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ImageFile.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 28, + "charOffset": 951, + "charLength": 4, + "snippet": { + "text": "Site" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 868, + "charLength": 353, + "snippet": { + "text": " {\n $filename = $this->mediaFile->filename();\n $full_media_path = Site::getPreference('INDEX_DIRECTORY') . $this->tree->getPreference('MEDIA_DIRECTORY') . $filename;\n // If SVG then scale image and provide location of temp file\n if ($_REQUEST[\"vars\"][\"output_type\"] == \"svg\" || $_REQUEST[\"vars\"][\"output_type\"] == \"pdf\") {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57797a60a92eb16d", + "equalIndicator/v1": "fc214ef36e0df943521996d9168a70e662f50b18a8ff1dc991df787fea0a438a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 21, + "charOffset": 4599, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 4510, + "charLength": 209, + "snippet": { + "text": " ]); ?>\n \n

        \n \n
        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "771032d2bfbe4684", + "equalIndicator/v1": "fc68ddca17a344e7cb575a8305ee780e4cdd3659c717350b39883f1a98931864" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 13, + "charOffset": 1109, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 866, + "charLength": 986, + "snippet": { + "text": "
          \n
        • -
        • \n
        • -
        • \n
        • -
        • \n
        • -
        • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fe26b3afad4b9e2e", + "equalIndicator/v1": "fc844b4017efcffb6f8c32a71cfb87391f600b47c9194761208c009c95a2ce61" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 13, + "charOffset": 1396, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1374, + "charLength": 431, + "snippet": { + "text": "

          \n
            \n
          • - \n
          • \n
          • -
          • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d4397dcf6f0be5bf", + "equalIndicator/v1": "fd0f3c7e49419573797b796b5c99785f3d750dba929a8874b70190854ed95a16" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 51, + "charOffset": 7271, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 7019, + "charLength": 353, + "snippet": { + "text": "
            \n >\n \n
            \n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "05cd71fe388c6322", + "equalIndicator/v1": "fd3d893dedf5da065507bce32fd46bcff0227c99a413278b341e6b1f0065498f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 8, + "charOffset": 758, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 727, + "charLength": 285, + "snippet": { + "text": "\n

            \n

            \n\n\n\n\n\nassetUrl('javascript/jspdf.umd.min.js') . \"\\\">\"; ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cd8b4ec22b0c7c74", + "equalIndicator/v1": "0686d2bca2760eec8b6d14ee34dd88abb3c915fbb3ff8c5d3359d0378abda226" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'viewResponse' is undefined", + "markdown": "Method 'viewResponse' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 282, + "startColumn": 23, + "charOffset": 9774, + "charLength": 12, + "snippet": { + "text": "viewResponse" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 280, + "startColumn": 1, + "charOffset": 9706, + "charLength": 134, + "snippet": { + "text": " $response['title'] = $this->title();\n\n return $this->viewResponse($this->name() . '::' . 'settings', $response);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df2b63e3e0be6df4", + "equalIndicator/v1": "06d29d625bed4f259ff02bf504d5c2221a99936c75bb0296b9e821973588d2d3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'assetUrl' is undefined", + "markdown": "Method 'assetUrl' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 158, + "startColumn": 27, + "charOffset": 7393, + "charLength": 8, + "snippet": { + "text": "assetUrl" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 156, + "startColumn": 1, + "charOffset": 7278, + "charLength": 322, + "snippet": { + "text": "
            \n\n\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d129841e129cb53", + "equalIndicator/v1": "0875eb8dbd0058fd3b286d347866674bf48a3b3d83e18840b40c176ae0db78ff" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign/AgeColourSubgroup.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 19, + "charOffset": 815, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 747, + "charLength": 500, + "snippet": { + "text": "$age_high_id = 'indi_' . $group . '_age_high';\n?>\nname() . '::MainPage/Appearance/TileDesign/ColourPickerList',['vars' => $vars, 'admin' => $admin, 'id' => 'subgroup_' . $group . '_age', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_AGE_COLOUR, 'picker_list' => [$age_low_id . '_col' => 'Low age colour', $age_high_id . '_col' => 'High age colour', 'indi_' . $group . '_age_unknown_col' => 'Unknown age colour']]); ?>\n\n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d85d30625cff920b", + "equalIndicator/v1": "0b16802c7071369e9bbcb4845b765d6c09716a9536b821595000dfd57e462efe" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 23, + "charOffset": 605, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 533, + "charLength": 206, + "snippet": { + "text": "
            \n
            \n name() . '::MainPage/PeopleToInclude/ConnectionsToInclude',['vars' => $vars, 'cart_empty' => true, 'admin' => $admin]); ?>\n
            \n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4dc3c0334f4354a9", + "equalIndicator/v1": "0c169b55f21ac64ad4b920b2f48906bcd9ff2ffdb74b0a04179edc8a2231e869" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'assetUrl' is undefined", + "markdown": "Method 'assetUrl' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 424, + "startColumn": 26, + "charOffset": 19526, + "charLength": 8, + "snippet": { + "text": "assetUrl" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 422, + "startColumn": 1, + "charOffset": 19485, + "charLength": 180, + "snippet": { + "text": " }\n }\n import('assetUrl('javascript/MainPage/Url.js'); ?>').then((module)=>{\n mainPage.Url = new module.Url();\n runPageLoaded(mainPage.Url);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c959d0b2b4ec554d", + "equalIndicator/v1": "0cf3a519abee5d32f62d93473d95183e3e57a3e2ffac102747a8d8b1823a5a94" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 35, + "charOffset": 7228, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 6869, + "charLength": 1788, + "snippet": { + "text": " \n 'vars[bg_col_type]', 'id' => 'bg_col_type', 'selected' => e($vars['bg_col_type']), 'options' => MainPage::updateTranslations($settings[\"bg_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_CUSTOM_COLOUR, 'picker_list' => ['indi_background_col' => 'Custom background colour']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'vitals', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_VITAL_COLOUR, 'picker_list' => ['indi_background_dead_col' => 'Deceased', 'indi_background_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'age', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_AGE_COLOUR, 'picker_list' => ['indi_background_age_low_col' => 'Low age colour', 'indi_background_age_high_col' => 'High age colour', 'indi_background_age_unknown_col' => 'Unknown age colour']]]); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "199058ce4e7a8652", + "equalIndicator/v1": "102435a1fa85d56466c0150200115ad65643d43cab04b2cc9e7452d501703b48" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 23, + "charOffset": 979, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 907, + "charLength": 212, + "snippet": { + "text": "
            \n
            \n name() . '::MainPage/PeopleToInclude/TreatmentOfSourceIndividuals',['vars' => $vars, 'settings' => $settings, 'admin' => $admin]); ?>\n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cbe5942658a9fc2d", + "equalIndicator/v1": "108182345dd41c7b49e6b3bcb682ccba594371d189bba929cdc61c9d2b6fd9e4" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 94, + "startColumn": 35, + "charOffset": 8130, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 92, + "startColumn": 1, + "charOffset": 7194, + "charLength": 1531, + "snippet": { + "text": " name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_CUSTOM_COLOUR, 'picker_list' => ['indi_background_col' => 'Custom background colour']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'vitals', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_VITAL_COLOUR, 'picker_list' => ['indi_background_dead_col' => 'Deceased', 'indi_background_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'age', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_AGE_COLOUR, 'picker_list' => ['indi_background_age_low_col' => 'Low age colour', 'indi_background_age_high_col' => 'High age colour', 'indi_background_age_unknown_col' => 'Unknown age colour']]]); ?>\n
            \n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "efef2406efcd9e79", + "equalIndicator/v1": "10922c4dcd740a8bd6dd190a4d846c234733731458a71d41bc693ded5c3b6755" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 31, + "charOffset": 860, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 685, + "charLength": 362, + "snippet": { + "text": "
            >\n
            \n name() . '::MainPage/GeneralSettings/BrowserRender', ['vars' => $vars, 'settings' => $settings, 'admin' => $admin]); ?>\n
            \n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d47805c2ce8aa4cb", + "equalIndicator/v1": "14a9a423cc5b3820dd9df5448768dec70b699a0153d2af3c6f477f54aaf1ec0e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 99, + "startColumn": 108, + "charOffset": 9174, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 97, + "startColumn": 1, + "charOffset": 8726, + "charLength": 1359, + "snippet": { + "text": " \n 'vars[stripe_col_type]', 'id' => 'stripe_col_type', 'selected' => e($vars['stripe_col_type']), 'options' => MainPage::updateTranslations($settings[\"stripe_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'stripe', 'field' => 'vitals', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_STRIPE_VITAL_COLOUR, 'picker_list' => ['indi_stripe_dead_col' => 'Deceased', 'indi_stripe_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'stripe', 'field' => 'age', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_STRIPE_AGE_COLOUR, 'picker_list' => ['indi_stripe_age_low_col' => 'Low age colour', 'indi_stripe_age_high_col' => 'High age colour', 'indi_stripe_age_unknown_col' => 'Unknown age colour']]]); ?>\n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fee10708803f8486", + "equalIndicator/v1": "152ba8f96dc5f9686edd41c230db8b00538bf85addaaca09904c4baab46f9041" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 31, + "charOffset": 1470, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1372, + "charLength": 202, + "snippet": { + "text": "
            \n
            \n name() . '::MainPage/GeneralSettings/MessageHistory', ['admin' => $admin]); ?>\n
            \n
            " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9e54551d49ab9f30", + "equalIndicator/v1": "153b3a65173bae31611924cb360c51b7d3b9b22c05ac6ba955f6741da9af9bba" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 19, + "charOffset": 1072, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 976, + "charLength": 227, + "snippet": { + "text": "\nassetUrl('css/gvexport.css'); ?>\" rel=\"stylesheet\">\nname() . '::MainPage/Translations'); ?>\n\n\n\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a836ab5632a0a6e", + "equalIndicator/v1": "63f61b53e8296d9927291d3bc38868e98f8fa57ee22babb68ff69553992eeda1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 32, + "charOffset": 4156, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 4061, + "charLength": 178, + "snippet": { + "text": " {\n return route('module', array_merge($parameters, [\n 'module' => $this->name(),\n 'action' => 'Chart',\n 'xref' => $individual->xref()," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e31e23bb9773fb61", + "equalIndicator/v1": "65815bcfe639d9296800f5cf4110d7722ea6553cd121d80294995ae6d2e656fc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 24, + "startColumn": 23, + "charOffset": 992, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 22, + "startColumn": 1, + "charOffset": 924, + "charLength": 162, + "snippet": { + "text": "\n
            \n name() . '::MainPage/Appearance/DiagramType',['vars' => $vars, 'admin' => $admin]); ?>\n
            \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a7e20f7827d0e475", + "equalIndicator/v1": "663b4f106361532e6a0fe949a9e4f9f04d14982226b2f08b391ea3923aa89831" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 402, + "startColumn": 68, + "charOffset": 14823, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 400, + "startColumn": 1, + "charOffset": 14664, + "charLength": 264, + "snippet": { + "text": " } else {\n // API call successful, even though help information not found\n $this->response_data['response'] = view($this->module->name() . '::MainPage/Help/' . $help->getHelpLocation(Help::NOT_FOUND) . Help::NOT_FOUND);\n }\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4fd14fb7b34d3144", + "equalIndicator/v1": "6abc2dcccdef07463e8c8da08f331bb0e998ba0e3843562602665d83fbcd5be9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 23, + "charOffset": 983, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 909, + "charLength": 199, + "snippet": { + "text": "
        \n
        \n name() . '::MainPage/GeneralSettings/SaveSettings', ['vars' => $vars, 'settings' => $settings, 'admin' => $admin]); ?>\n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b1302fe4d27f0a8f", + "equalIndicator/v1": "6b1962c2aeeed2fb337b590e44b358ff25eda2101f4947bafa5723db12e7ced3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 23, + "charOffset": 802, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 734, + "charLength": 190, + "snippet": { + "text": "\n
        \n name() . '::MainPage/Appearance/GraphDirection',['vars' => $vars, 'settings' => $settings, 'admin' => $admin]); ?>\n
        \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25f3f86bf447f91b", + "equalIndicator/v1": "6b75c21a66431368dc8b7140f2129500bbf8db78475cfc3c0d25f212bc818e6c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 106, + "startColumn": 35, + "charOffset": 10934, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 104, + "startColumn": 1, + "charOffset": 10239, + "charLength": 1679, + "snippet": { + "text": " 'vars[border_col_type]', 'id' => 'border_col_type', 'selected' => e($vars['border_col_type']), 'options' => MainPage::updateTranslations($settings[\"border_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BORDER_CUSTOM_COLOUR, 'picker_list' => ['indi_border_col' => 'Custom background colour']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'vitals', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_BORDER_VITAL_COLOUR, 'picker_list' => ['indi_border_dead_col' => 'Deceased', 'indi_border_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'age', 'select_id' => 'border_col_type', 'option_id' => Settings::OPTION_BORDER_AGE_COLOUR, 'picker_list' => ['indi_border_age_low_col' => 'Low age colour', 'indi_border_age_high_col' => 'High age colour', 'indi_border_age_unknown_col' => 'Unknown age colour']]]); ?>\n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8ab2dfe5578a5f35", + "equalIndicator/v1": "6c6111cc91045a2528a15a6bc04ff09c8388104f8141ed84bb801bf4cf1eec37" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 23, + "charOffset": 1263, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1195, + "charLength": 204, + "snippet": { + "text": "\n
        \n name() . '::MainPage/PeopleToInclude/ConnectionsToInclude',['vars' => $vars, 'cart_empty' => $cartempty, 'admin' => $admin]); ?>\n
        \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8b8339b483f90762", + "equalIndicator/v1": "6f8657a817a5c0566181cbe0be680a27fcd6894c9686f87abf503d243e5cd3de" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'assetUrl' is undefined", + "markdown": "Method 'assetUrl' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 160, + "startColumn": 27, + "charOffset": 7548, + "charLength": 8, + "snippet": { + "text": "assetUrl" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 158, + "startColumn": 1, + "charOffset": 7367, + "charLength": 395, + "snippet": { + "text": "\n\n\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5100c8b13a803bac", + "equalIndicator/v1": "751b910541830ec2a4eaedafe6a187b05ee49f5a1a7dcbc5b0031af965254bee" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 28, + "charOffset": 4229, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 4122, + "charLength": 192, + "snippet": { + "text": " name() . '::MainPage/GeneralSettings',\n [\n 'vars' => $vars," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ca4a2500faddca8", + "equalIndicator/v1": "7bf1d09b1dec68e5fa4560bd293f430a597721aa0c1b97a0bb37a645392adc44" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 27, + "charOffset": 1757, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1671, + "charLength": 290, + "snippet": { + "text": "
      \n
      \n name() . '::MainPage/PeopleToInclude/StopProcessingOn',['vars' => $vars, 'tree' => $tree, 'grey_people' => $grey_people, 'admin' => $admin]); ?>\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "385c48689331524d", + "equalIndicator/v1": "7c08aaab74734b1808683eba6ab913dff81e9f81d79dcb1c50ed5e3ce61cbc21" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 399, + "startColumn": 68, + "charOffset": 14528, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 397, + "startColumn": 1, + "charOffset": 14354, + "charLength": 401, + "snippet": { + "text": " $this->response_data['success'] = true;\n if ($help->helpExists($this->json['help_name'])) {\n $this->response_data['response'] = view($this->module->name() . '::MainPage/Help/' . $help->getHelpLocation($this->json['help_name']) . $this->json['help_name'],['module' => $this->module]);\n } else {\n // API call successful, even though help information not found" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "26ceb6c57cf2c945", + "equalIndicator/v1": "7fd7e7fc18d9fe504e38b0c831267d53b6ca232e1d153183771b931c61c07529" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 19, + "charOffset": 320, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 298, + "charLength": 87, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader',['name' => $name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c44059e775847e3b", + "equalIndicator/v1": "8c8ba7b7403a07c8b15c364f218a84349854d3c23acc2615350c637594e10378" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 40, + "charOffset": 3424, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3332, + "charLength": 144, + "snippet": { + "text": " {\n // Register a namespace for our views.\n View::registerNamespace($this->name(), $this->resourcesFolder() . 'views/');\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6197bc9c76106dbb", + "equalIndicator/v1": "8d111eab872e87352fa730674e459b4f610c68563ad26a352eeef99bef986c0c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 27, + "charOffset": 847, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 771, + "charLength": 198, + "snippet": { + "text": "\n

      \n name() . '::MainPage/PeopleToInclude/ItemsInClippingsCart',['vars' => $vars, 'admin' => $admin]); ?>\n
      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae54328d044d836f", + "equalIndicator/v1": "8ed479025167b8376b4f4c3ea65bb5af642ce2393fe9ce6c639beddcc3e063a3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'assetUrl' is undefined", + "markdown": "Method 'assetUrl' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 162, + "startColumn": 27, + "charOffset": 7708, + "charLength": 8, + "snippet": { + "text": "assetUrl" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 160, + "startColumn": 1, + "charOffset": 7522, + "charLength": 385, + "snippet": { + "text": "\n\n\nassetUrl('javascript/jspdf.umd.min.js') . \"\\\">\"; ?>\n\n\nassetUrl('javascript/jspdf.umd.min.js') . \"\\\">\"; ?>\n\n\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "66f5d406388fdf37", + "equalIndicator/v1": "c1d221e09e47c743f129a5f24dca95a07ef17f3f7f71d8b4df91b216f830af5a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 108, + "charOffset": 10583, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 10135, + "charLength": 1764, + "snippet": { + "text": " \n 'vars[border_col_type]', 'id' => 'border_col_type', 'selected' => e($vars['border_col_type']), 'options' => MainPage::updateTranslations($settings[\"border_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BORDER_CUSTOM_COLOUR, 'picker_list' => ['indi_border_col' => 'Custom background colour']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'vitals', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_BORDER_VITAL_COLOUR, 'picker_list' => ['indi_border_dead_col' => 'Deceased', 'indi_border_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'age', 'select_id' => 'border_col_type', 'option_id' => Settings::OPTION_BORDER_AGE_COLOUR, 'picker_list' => ['indi_border_age_low_col' => 'Low age colour', 'indi_border_age_high_col' => 'High age colour', 'indi_border_age_unknown_col' => 'Unknown age colour']]]); ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "75161d9cdc27a089", + "equalIndicator/v1": "c92ed31e35d69346046cc044803917c1ba96b93894bf4da5f4de41199a1738ca" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'setPreference' is undefined", + "markdown": "Method 'setPreference' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 271, + "startColumn": 26, + "charOffset": 14283, + "charLength": 13, + "snippet": { + "text": "setPreference" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 269, + "startColumn": 1, + "charOffset": 14184, + "charLength": 364, + "snippet": { + "text": " }\n $new_json = json_encode($all_settings);\n $module->setPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), $new_json);\n $this->deleteSettingsId($module, $tree, $id);\n $settingsLink = new SettingsLink($module, $tree, $this, $id);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf3ea2dcd763cd63", + "equalIndicator/v1": "cc47c52ae67d16ead7cf27237869d78da0983e3d092bc87c8c57f88ec092b72e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Connections to include.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 19, + "charOffset": 317, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 295, + "charLength": 92, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader',['name' => $page_name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "32974e8ce75bc191", + "equalIndicator/v1": "d010cd89aaf656a791860a79a661bb123cfef38c59dbad78a44d1d37ad5dbd24" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'setPreference' is undefined", + "markdown": "Method 'setPreference' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 24, + "charOffset": 3207, + "charLength": 13, + "snippet": { + "text": "setPreference" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 3140, + "charLength": 172, + "snippet": { + "text": " {\n $json = json_encode($record);\n $this->module->setPreference(Settings::PREFERENCE_PREFIX . Settings::SAVED_SETTINGS_LIST_PREFERENCE_NAME, $json);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb05fc113b022711", + "equalIndicator/v1": "d1b9b0bd4f82055bc8aa41503a246fc5b6689e58c49b4da027e62dab548d6100" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 27, + "charOffset": 1988, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1902, + "charLength": 238, + "snippet": { + "text": "

      \n
      \n name() . '::MainPage/PeopleToInclude/NonRelatives',['vars' => $vars, 'admin' => $admin]); ?>\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9786cb03633c631c", + "equalIndicator/v1": "d24538462f2e69fbe4d87af4d827812dac20de02cb042ccb2c39eadf485d535e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 108, + "charOffset": 11461, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 10476, + "charLength": 1443, + "snippet": { + "text": " name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BORDER_CUSTOM_COLOUR, 'picker_list' => ['indi_border_col' => 'Custom background colour']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'vitals', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_BORDER_VITAL_COLOUR, 'picker_list' => ['indi_border_dead_col' => 'Deceased', 'indi_border_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'border', 'field' => 'age', 'select_id' => 'border_col_type', 'option_id' => Settings::OPTION_BORDER_AGE_COLOUR, 'picker_list' => ['indi_border_age_low_col' => 'Low age colour', 'indi_border_age_high_col' => 'High age colour', 'indi_border_age_unknown_col' => 'Unknown age colour']]]); ?>\n
      \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "efaf850f2297a93d", + "equalIndicator/v1": "d5497378e7204d21c890a0057c5a646f4ad4eb28c8dc04e2d06a61d37aec40f0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 19, + "charOffset": 326, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 304, + "charLength": 93, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader', ['name' => $page_name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "584a081a11cd4b07", + "equalIndicator/v1": "d6c2ca8b279d442041a04d6f9b4a5ee07149d11fd29eebeb3943c1265704090c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 23, + "charOffset": 807, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 735, + "charLength": 176, + "snippet": { + "text": "


      \n
      \n name() . '::MainPage/PeopleToInclude/NonRelatives',['vars' => $vars, 'admin' => $admin]); ?>\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4d30e473a57bd8c8", + "equalIndicator/v1": "d83950ee0da135bd008683322514143ddffa8d7b6975b3386209e21d854f6210" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/ControlPanel/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 23, + "charOffset": 546, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 478, + "charLength": 288, + "snippet": { + "text": "\n
      \n name() . '::MainPage/GeneralSettings/OutputFile', ['vars' => $vars, 'settings' => $settings, 'usegraphviz' => $usegraphviz, 'otypes' => $otypes, 'admin' => $admin]); ?>\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a2b274602e8686e8", + "equalIndicator/v1": "dae117cbe68ee8211af4a5d56502662af6519675ba1f38e642fe0359c8aafd0e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 27, + "charOffset": 2167, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2081, + "charLength": 237, + "snippet": { + "text": "
      \n
      \n name() . '::MainPage/PeopleToInclude/TreatmentOfSourceIndividuals',['vars' => $vars, 'settings' => $settings, 'admin' => $admin]); ?>\n
      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "10d34dcbfcdf5af6", + "equalIndicator/v1": "e921b95506967acfe907cb33f08402d88481a4f6dd03ab2020ffccd15f20750c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 27, + "charOffset": 506, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 430, + "charLength": 346, + "snippet": { + "text": "\n
      \n name() . '::MainPage/GeneralSettings/OutputFile',['vars' => $vars, 'settings' => $settings, 'usegraphviz' => $usegraphviz, 'otypes' => $otypes, 'admin' => $admin]); ?>\n
      \n
      >" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b249db0998f1521e", + "equalIndicator/v1": "eb43b86897787614b3f4cd8ec8b455400bfe4c46e070986607de0683594ceee2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 32, + "charOffset": 4751, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 4632, + "charLength": 207, + "snippet": { + "text": " name() . '::MainPage/DebugPanel',\n [\n 'vars' => $vars," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "104212bb8588b3b1", + "equalIndicator/v1": "ef6769c487657d5f07f2bfb05766c018f650618669027ac786a75aaf5e59c079" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/About GVExport.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 19, + "charOffset": 320, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 298, + "charLength": 92, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader',['name' => $page_name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ea261a88854787fc", + "equalIndicator/v1": "f3215a2c9ff3fdb7cccd3da79ade6ad7166441da2b531e94b68faed281271e91" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 94, + "startColumn": 108, + "charOffset": 8203, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 92, + "startColumn": 1, + "charOffset": 7194, + "charLength": 1531, + "snippet": { + "text": " name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'custom', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_CUSTOM_COLOUR, 'picker_list' => ['indi_background_col' => 'Custom background colour']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'vitals', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_VITAL_COLOUR, 'picker_list' => ['indi_background_dead_col' => 'Deceased', 'indi_background_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'background', 'field' => 'age', 'select_id' => 'bg_col_type', 'option_id' => Settings::OPTION_BACKGROUND_AGE_COLOUR, 'picker_list' => ['indi_background_age_low_col' => 'Low age colour', 'indi_background_age_high_col' => 'High age colour', 'indi_background_age_unknown_col' => 'Unknown age colour']]]); ?>\n

      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "56e99a2407b07fe7", + "equalIndicator/v1": "f386a974da19e024dacc071181194c6c1b31bb59b2ca90c3f5d8f6984bcd3417" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/People to be included/Non-relatives.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 19, + "charOffset": 308, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 286, + "charLength": 92, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader',['name' => $page_name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "98ffb8ab4faf285c", + "equalIndicator/v1": "f3a16ae39cd3d8d43041a5e9a37887f3cdcc37143b33b4d40fca88d6ff377d2d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 35, + "charOffset": 9555, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 8830, + "charLength": 1304, + "snippet": { + "text": " 'vars[stripe_col_type]', 'id' => 'stripe_col_type', 'selected' => e($vars['stripe_col_type']), 'options' => MainPage::updateTranslations($settings[\"stripe_col_type_options\"])]) ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/ColourPickerList', 'view_options' => ['vars' => $vars, 'admin' => $admin, 'group' => 'stripe', 'field' => 'vitals', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_STRIPE_VITAL_COLOUR, 'picker_list' => ['indi_stripe_dead_col' => 'Deceased', 'indi_stripe_living_col' => 'Living']]]); ?>\n name() . '::MainPage/Appearance/TileDesign/Subgroup',['view' => $module->name() . '::MainPage/Appearance/TileDesign/AgeColourSubgroup', 'view_options' => ['module' => $module, 'vars' => $vars, 'admin' => $admin, 'group' => 'stripe', 'field' => 'age', 'select_id' => 'stripe_col_type', 'option_id' => Settings::OPTION_STRIPE_AGE_COLOUR, 'picker_list' => ['indi_stripe_age_low_col' => 'Low age colour', 'indi_stripe_age_high_col' => 'High age colour', 'indi_stripe_age_unknown_col' => 'Unknown age colour']]]); ?>\n

      \n
      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "52cc0886189fe1d8", + "equalIndicator/v1": "f3ee6515c917998c2de2ee5cce98e4e0fb62af2caded600c4f7039287781c1a6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 415, + "startColumn": 64, + "charOffset": 15238, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 413, + "startColumn": 1, + "charOffset": 15057, + "charLength": 314, + "snippet": { + "text": " $vars = Validator::parsedBody($this->request)->array('vars');\n $this->response_data['success'] = true;\n $this->response_data['response'] = view($this->module->name() . '::MainPage/Appearance/TileDesign/SharedNote', ['vars' => $vars, 'tree' => $this->tree, 'module' => $this->module]);\n }\n}" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0369a8f8da219490", + "equalIndicator/v1": "fb7ab88c6ae5b2609c488ed1d802ad522290bae2abcebcf2721142e55889a64c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Output file.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 19, + "charOffset": 306, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 284, + "charLength": 92, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader',['name' => $page_name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "977c57e382f98c83", + "equalIndicator/v1": "fbbcf7fe5e4f3bc6aae2d24a5fcde393d4dbbaf3c70bdfa8e4a645fa1bbd8fc0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 28, + "charOffset": 3284, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 3172, + "charLength": 197, + "snippet": { + "text": " name() . '::MainPage/PeopleToInclude',\n [\n 'vars' => $vars," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57f6af030cce0165", + "equalIndicator/v1": "fc2f0e9b15357c71916240d4fae40abcef67f1a913e7bed29f81ec2b03a53881" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'name' is undefined", + "markdown": "Method 'name' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 19, + "charOffset": 329, + "charLength": 4, + "snippet": { + "text": "name" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 307, + "charLength": 136, + "snippet": { + "text": "?>\n\nname() . '::MainPage/Help/HelpHeader',['name' => $page_name]); ?>\n\n

      " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "81698c42d2e078fa", + "equalIndicator/v1": "fd453442a4573449954500205411e909e8ff98b1e376ee43ba8d2d44b43ab591" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedMethodInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'assetUrl' is undefined", + "markdown": "Method 'assetUrl' is undefined" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 26, + "charOffset": 1002, + "charLength": 8, + "snippet": { + "text": "assetUrl" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 973, + "charLength": 170, + "snippet": { + "text": "?>\n\nassetUrl('css/gvexport.css'); ?>\" rel=\"stylesheet\">\nname() . '::MainPage/Translations'); ?>\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dc4c09a1112afd03", + "equalIndicator/v1": "0576490e62199596c5f384dc3b22275b113755ba40ea4a00de226d4a5e35d68e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 33, + "charOffset": 802, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 602, + "charLength": 409, + "snippet": { + "text": " \"Copy manually below\":\"\",\n \"Overwrite settings '%s'?\":\"\",\n \"Add to My favourites\":\"\",\n \"Add to Tree favourites\":\"\",\n \"Added to My favourites\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "787fd44221b719e6", + "equalIndicator/v1": "0590de82d00450c8bce733938173468fa03d81489e318900647fdd3103b94188" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 13, + "charOffset": 1558, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1206, + "charLength": 963, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "15ab05a9249dbb95", + "equalIndicator/v1": "05a9ff187c9a1dfad6450a24ab7b16c94f8a389f4db2c64f7c59c7a27bc4815d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 33, + "charOffset": 752, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 687, + "charLength": 168, + "snippet": { + "text": " * @param Tree $tree\n */\n public function __construct(ServerRequestInterface $request, GVExport $module, Tree $tree)\n {\n $this->request = $request;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb69a8c2b9048271", + "equalIndicator/v1": "0607317eb16b12a76b99f9e8d13f9ae5260908d554f30faa6ae1ebfd449ec6ae" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 262, + "startColumn": 126, + "charOffset": 13727, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 260, + "startColumn": 1, + "charOffset": 13477, + "charLength": 403, + "snippet": { + "text": " public function deleteUserSettings(GVExport $module, Tree $tree, string $id) {\n if (Settings::isUserLoggedIn()) {\n $loaded = $module->getPreference(self::PREFERENCE_PREFIX . self::TREE_PREFIX . $tree->id() . self::USER_PREFIX . Auth::user()->id(), \"preference not set\");\n if ($loaded != \"preference not set\") {\n $all_settings = json_decode($loaded, true);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c75dfe285ec9a77f", + "equalIndicator/v1": "0630b1175645346f72ddb013607cefbba827cce6c1e2f08462b57b79577e331c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 355, + "startColumn": 47, + "charOffset": 17707, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 353, + "startColumn": 1, + "charOffset": 17601, + "charLength": 200, + "snippet": { + "text": " }\n if (isset($vars['shape_vital_living'])) {\n $settings['shape_vital_living'] = I18N::digits($vars['shape_vital_living']);\n }\n if (isset($vars['photo_size'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7517927032011df6", + "equalIndicator/v1": "06e78533a25e042290897718b657a0c4f51e1a145cdd4600d680e407cc66bb9d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ServerRequestInterface'", + "markdown": "Undefined class 'ServerRequestInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 288, + "startColumn": 15, + "charOffset": 9919, + "charLength": 22, + "snippet": { + "text": "ServerRequestInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 286, + "startColumn": 1, + "charOffset": 9849, + "charLength": 142, + "snippet": { + "text": " * save the user preferences in the database\n *\n * @param ServerRequestInterface $request\n * @return ResponseInterface\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c246cdce4fb3d8c5", + "equalIndicator/v1": "06e99dea2cc56438e44447f959635a5d02a0a93b49fd3e9eb45809c04a8bc0a8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 26, + "charOffset": 1362, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1261, + "charLength": 176, + "snippet": { + "text": "use Fisharebest\\Webtrees\\GedcomRecord;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Family;\nuse Fisharebest\\Webtrees\\Media;\nuse Fisharebest\\Webtrees\\MediaFile;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f0a3a2f9799e94b3", + "equalIndicator/v1": "06fc4311c895ceed93dea215e86cf04e9f86a6b39d7ff4bb35959a1b13ae1597" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Browser render.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 82, + "charOffset": 2209, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1608, + "charLength": 1279, + "snippet": { + "text": "
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9d9b41b1314a0295", + "equalIndicator/v1": "0704d032ad5b6b8868c0b7d7c14d6b4b4967c13b7882c0c3b6d722cf70d7faed" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 13, + "charOffset": 3109, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 3087, + "charLength": 310, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    • -
    • \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3c1d813067744c58", + "equalIndicator/v1": "0745adabe19b62a505f12025ce65767e4e8784d9820f1b79133e9120d8b75b4e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Registry'", + "markdown": "Undefined class 'Registry'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 26, + "charOffset": 1559, + "charLength": 8, + "snippet": { + "text": "Registry" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1472, + "charLength": 120, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Site;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Registry;\n\nuse function in_array;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90ae6db4f923cc29", + "equalIndicator/v1": "07a19f1ee1feb8e4c353b5b4cc57efaf396452f18233d330a8f4487075271195" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 197, + "startColumn": 39, + "charOffset": 20854, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 195, + "startColumn": 1, + "charOffset": 20678, + "charLength": 462, + "snippet": { + "text": "
    \n
    \n \n
    \n 'vars[typeface]', 'id' => 'typeface', 'selected' => I18N::digits($vars['typeface']), 'options' => MainPage::updateTranslations($settings[\"typefaces\"])]) ?>" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7dfe819c3f4b5b01", + "equalIndicator/v1": "07abc1529bf2aece2495fbe41a5978a7a75b4556fa671fc63b3028a2c1c5ce8c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/ConnectionsToInclude.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 67, + "charOffset": 1008, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 874, + "charLength": 409, + "snippet": { + "text": "
    \n
    \n \n \">\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e0be9720679d415b", + "equalIndicator/v1": "08cde75b19054ae2a27ef8983792f7c5260ac11e2766352f9e8c0bf6e03e52cf" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 46, + "charOffset": 1914, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 1810, + "charLength": 210, + "snippet": { + "text": " }\n if (isset($vars['descendant_levels'])) {\n $settings['descendant_levels'] = I18N::digits($vars[\"descendant_levels\"]);\n } else {\n $settings['descendant_levels'] = 0;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d71a92306218de6f", + "equalIndicator/v1": "095d550e8b5e92c77ceb637c01fd5baf68c1c78f89b4fa780e8cb7438f2adea6" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 35, + "charOffset": 2164, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1765, + "charLength": 609, + "snippet": { + "text": " \"Message history\":\"\",\n \"Your browser does not support exporting images this large. Please reduce number of records, reduce DPI setting, or use SVG option.\":\"\",\n \"Unable to load setting\":\"\",\n \"Invalid JSON\":\"\",\n \"Login expired. Reloading page...\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b72408c747dc668f", + "equalIndicator/v1": "09d5f5c5c9f3dcf6acd4f33272df15e6f90634f9d31fe8537cdc920bc2c7c5d0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 51, + "charOffset": 3489, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 3194, + "charLength": 669, + "snippet": { + "text": "
    \n
    >\n \n 'vars[shape_vital_dead]', 'id' => 'shape_vital_dead', 'selected' => e($vars['shape_vital_dead']), 'options' => MainPage::updateTranslations($settings[\"indi_tile_shape_custom_options\"])]) ?>\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2f65933855710f99", + "equalIndicator/v1": "0a1afea0bfe8c5388bb9565f80696ac460dfe37b6a6773638ff23d2d2c2b9090" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 37, + "charOffset": 1048, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 848, + "charLength": 547, + "snippet": { + "text": " \"Add to Tree favourites\":\"\",\n \"Added to My favourites\":\"\",\n \"Added to Tree favourites\":\"\",\n \"Source individual has replaced existing individual\":\"\",\n \"One new source individual added to %s existing individuals\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0ff7d2de4df29589", + "equalIndicator/v1": "0a433b8cc4eab36c74760f701bc3766a7ded13cf6d22751cf1eea9a88684b4fb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/functionsClippingsCart.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 333, + "startColumn": 12, + "charOffset": 9655, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 331, + "startColumn": 1, + "charOffset": 9600, + "charLength": 87, + "snippet": { + "text": "\t * get the XREFs in the clippings cart\n\t *\n\t * @param Tree $tree\n\t *\n\t * @return array" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ebd2029410e1fcef", + "equalIndicator/v1": "0bd5ca39de4d30b0f0c7332521f47e37804ef18e5b0a3acbeafa7f013c92bd01" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramType.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 48, + "charOffset": 1112, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 875, + "charLength": 301, + "snippet": { + "text": "
    \n >\n \n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "288ece76f0ed6329", + "equalIndicator/v1": "0be989c2986d76860e527bf807156f5f84fd3ba77cf74537393b7201817dd04b" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 35, + "charOffset": 2481, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 2273, + "charLength": 415, + "snippet": { + "text": " \"Login expired. Reloading page...\":\"\",\n \"Update successful\":\"\",\n \"Enter new setting name\":\"\",\n \"Rename\":\"\",\n \"No styles set based on shared notes.\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6ba69b34a3e16805", + "equalIndicator/v1": "0beae39601d2f7667255b9d651d6d3ac48ee24e0280b28007be186091b9da2d2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Family'", + "markdown": "Undefined class 'Family'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1137, + "startColumn": 28, + "charOffset": 44537, + "charLength": 6, + "snippet": { + "text": "Family" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1135, + "startColumn": 1, + "charOffset": 44462, + "charLength": 151, + "snippet": { + "text": "\t */\n\tfunction addFamToList($fid, &$families) {\n if($fid instanceof Family)\n $fid = $fid->xref();\n if(!isset($families[$fid]))" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6753b0dbc3543dab", + "equalIndicator/v1": "0beba373c3bacc2011d3f0fb3a5c33ec616f06cb0f5d523dfb3249864146ffaf" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/MainPage.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 137, + "charOffset": 1588, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1356, + "charLength": 335, + "snippet": { + "text": " public static function addLabel(string $for, string $text, bool $help = TRUE): string\n {\n return '';\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d60b987d59fbe41", + "equalIndicator/v1": "0c3e4602ea94a00c63567ac3947b7b3733b2fac3b58c75b1c12863c73b780667" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'View'", + "markdown": "Undefined class 'View'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 26, + "charOffset": 2232, + "charLength": 4, + "snippet": { + "text": "View" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2122, + "charLength": 181, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Services\\ModuleService;\nuse Fisharebest\\Webtrees\\Validator;\nuse Fisharebest\\Webtrees\\View;\nuse Fisharebest\\Webtrees\\Tree;\nuse Fisharebest\\Webtrees\\Webtrees;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57b8201bc8a044c3", + "equalIndicator/v1": "0c79222db053cbfb3c4f559542a225d249ac07c7f8e53adfb81a34b781994aca" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ModuleService'", + "markdown": "Undefined class 'ModuleService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 87, + "startColumn": 15, + "charOffset": 3136, + "charLength": 13, + "snippet": { + "text": "ModuleService" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 85, + "startColumn": 1, + "charOffset": 3107, + "charLength": 129, + "snippet": { + "text": " /**\n *\n * @param ModuleService $module_service\n */\n public function __construct(ModuleService $module_service)" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1bd9dd284dc39c35", + "equalIndicator/v1": "0d9da61f8221e60688c3b15e51f8a2b021bd687dca6b0e56147548734f2abfa0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 157, + "startColumn": 222, + "charOffset": 16578, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 155, + "startColumn": 1, + "charOffset": 16303, + "charLength": 401, + "snippet": { + "text": "
    \n
    \n \" />\n
    \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a1e7b77c949bbc43", + "equalIndicator/v1": "0daf736fd07157b7428628cbe473a358a427280dbb14f3ba9df459b467522f07" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 9, + "charOffset": 610, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 593, + "charLength": 252, + "snippet": { + "text": "

    \n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb2bff39b0202dfa", + "equalIndicator/v1": "0de74d4cb87e0f14322cca61e9b7dc999bd3f0ef3b32de9f2a357872eceefec3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 13, + "charOffset": 1329, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1054, + "charLength": 897, + "snippet": { + "text": "

  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • \n
  • -
  • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7838ff2c13db2751", + "equalIndicator/v1": "0e28da0f7e8177483c4a5c1d8af7cc2cda97e223c3399a8bf3076ae361f346b1" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ControlPanel'", + "markdown": "Undefined class 'ControlPanel'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 21, + "startColumn": 55, + "charOffset": 656, + "charLength": 12, + "snippet": { + "text": "ControlPanel" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 19, + "startColumn": 1, + "charOffset": 598, + "charLength": 152, + "snippet": { + "text": "?>\n\n [route(ControlPanel::class) => I18N::translate('Control panel'), $title]]) ?>\n\n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5fc6fd8a1bdf099f", + "equalIndicator/v1": "0e2d4e0d4279c979f5420483be1cb99bb20af5f622b035caf41ad106b288a5bc" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'ResponseFactoryInterface'", + "markdown": "Undefined class 'ResponseFactoryInterface'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 22, + "charOffset": 2410, + "charLength": 24, + "snippet": { + "text": "ResponseFactoryInterface" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2304, + "charLength": 177, + "snippet": { + "text": "use Psr\\Http\\Message\\ResponseInterface;\nuse Psr\\Http\\Message\\ServerRequestInterface;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6188d188e0d4051", + "equalIndicator/v1": "0eb48f8e9114116046619398be0b4be1a9a3f2ea12a2f3535187fdc1e6a8b6b0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Getting started.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 409, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 396, + "charLength": 41, + "snippet": { + "text": "\n

    \n \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7eff1c4aea3c716c", + "equalIndicator/v1": "0eee064e33f9bd6722ee60a0bc30aec605adb5a0c383958a2d1650ac1a69abeb" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 13, + "charOffset": 2566, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 2324, + "charLength": 461, + "snippet": { + "text": "
  • - \n
  • \n
  • - \n
  • \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "31f3efaa226c4566", + "equalIndicator/v1": "0f20f3e73b663fda6126c157491ee374cd132d00ee3c9b96ca520e771f7dd301" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/PeopleToInclude/StopProcessingOn.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 9, + "charOffset": 196, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 116, + "charLength": 344, + "snippet": { + "text": "/**\n * @var array $vars array of saved settings\n * @var Tree $tree webtrees tree object\n * @var bool $grey_people whether to disable settings when clipping cart used\n * @var bool $admin whether this is for the admin page (remove functions that aren't settings)" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd3280f8cbc8905c", + "equalIndicator/v1": "0fdac1e8a343996b9a4ed8839867c33aac535b7d519c981bf03c50cbedc1f2ed" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 20, + "startColumn": 9, + "charOffset": 407, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 18, + "startColumn": 1, + "charOffset": 394, + "charLength": 207, + "snippet": { + "text": "\n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8cbacb37aeeb1a76", + "equalIndicator/v1": "1034569ad779eff3d83e35cc6ab0e9e11c022bfd5cae2dddac72484284259859" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 47, + "charOffset": 2603, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 2163, + "charLength": 889, + "snippet": { + "text": " \n \" value=\"\">\n \n \" value=\"\">\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f90bad3b27601e50", + "equalIndicator/v1": "10db6b203da7f8e5a252d751e465b5634aa2cb2b3e5b8e8f8bce935159ffb55a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 9, + "startColumn": 21, + "charOffset": 168, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 7, + "startColumn": 1, + "charOffset": 74, + "charLength": 243, + "snippet": { + "text": " const TRANSLATE = {\n \"Delete\":\"\",\n \"Download\":\"\",\n \"Copy link\":\"\",\n \"Revoke link\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "19aa12309b169eac", + "equalIndicator/v1": "1132e380db41b84e9f82598f6c45c51117ec6ee61cfd2764a451d655b3e2573e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 467, + "startColumn": 24, + "charOffset": 20299, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 465, + "startColumn": 1, + "charOffset": 20205, + "charLength": 169, + "snippet": { + "text": " return I18N::translate('Other');\n case 'U':\n return I18N::translate('Unknown');\n default:\n return \"\";" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "41d1ec9e2e3a9487", + "equalIndicator/v1": "1168ca73ba20204ce99c69b9b073c9a355945a1b248f503112559ab511f8553d" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 152, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 65, + "charLength": 189, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Validator;\nuse Psr\\Http\\Message\\ResponseFactoryInterface;\nuse Psr\\Http\\Message\\StreamFactoryInterface;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc5c9436d0b17fec", + "equalIndicator/v1": "11d455c8f01b7c3c08f7bdfa17940482812855f96ef03e4b2a342111c8f2ea46" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Favourite.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 39, + "charOffset": 1290, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1224, + "charLength": 137, + "snippet": { + "text": " * @return bool\n */\n private function addUserFavourite(Tree $tree, string $url, string $title): bool\n {\n $note = \"\";" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9d2c231f7e28bc99", + "equalIndicator/v1": "1202dcc90db546b797a4578d86de6196b460c6555e8cf16bd2e4c8e3fd31835c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 321, + "startColumn": 49, + "charOffset": 16124, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 319, + "startColumn": 1, + "charOffset": 16014, + "charLength": 184, + "snippet": { + "text": " }\n if (isset($vars['indi_border_age_high'])) {\n $settings['indi_border_age_high'] = I18N::digits($vars[\"indi_border_age_high\"]);\n }\n // Settings" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2c9469111e09b7a5", + "equalIndicator/v1": "1213c3625befbbe6f069d512082f0b9fa78aa6e2ae577d7c8c83dadba55ff25a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileDesign.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 167, + "startColumn": 65, + "charOffset": 18031, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 165, + "startColumn": 1, + "charOffset": 17657, + "charLength": 485, + "snippet": { + "text": " \" />\n \n
    \n

    \n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c577b8eafca3ea96", + "equalIndicator/v1": "125df8d5d753e55c0bbaad274d63102c0b234b1dc123abb0ce299744ce3d9654" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/General settings/Save settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 9, + "charOffset": 3083, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 3065, + "charLength": 234, + "snippet": { + "text": "\n

    \n \n

    \n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "804236190326ebcf", + "equalIndicator/v1": "1265b6d2e272e41e1ffdea0e03716e90ab573cb55b1e1b67fa7f2791baf5bda0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/settings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 47, + "charOffset": 2209, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1919, + "charLength": 732, + "snippet": { + "text": " \n \">\n \n \" value=\"\">\n " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b70d6c86c0daf3ff", + "equalIndicator/v1": "12c27661bd307777485a258139ad69676c21e6fdf992a978d9a9ba3146b1fe99" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Tree'", + "markdown": "Undefined class 'Tree'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 624, + "startColumn": 56, + "charOffset": 26867, + "charLength": 4, + "snippet": { + "text": "Tree" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 622, + "startColumn": 1, + "charOffset": 26782, + "charLength": 183, + "snippet": { + "text": " * @return string\n */\n public function deleteSettingsId(GVExport $module, Tree $tree, string $id): string\n {\n $id_list = $this->getSettingsIdList($module, $tree);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "02a1b6b988304188", + "equalIndicator/v1": "12ce930031329fde84da0fdb1b148afdd30f0052eaa40fd911fff035f7bdb6e7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Diagram type.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 9, + "charOffset": 386, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 373, + "charLength": 675, + "snippet": { + "text": "\n

    \n

  • Separated - Individuals each have their own tile, connected by arrows. Family records are separate and also connected by arrows.
  • Combined - Each couple is one box instead of one per person. Marriage records are connected under the couple. There are no family records if there are no marriage details to show.
  • There was previously a third option "Simple", but this has been removed. The advanced settings in the appearance section now contain all the settings needed to recreate this. Loading a simple diagram should set the appropriate settings to recreate the same look.'); ?>\n

    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "45da087724dbf469", + "equalIndicator/v1": "141c2e3e7a3e59bcc08abf8b0ea2379a3bf3e8bacca75a2cd0e7bc05ea3bf32a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Validator'", + "markdown": "Undefined class 'Validator'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "module.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 295, + "startColumn": 22, + "charOffset": 10208, + "charLength": 9, + "snippet": { + "text": "Validator" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 293, + "startColumn": 1, + "charOffset": 10086, + "charLength": 266, + "snippet": { + "text": " $params = (array) $request->getParsedBody();\n $formSubmission = new FormSubmission();\n $vars_data = Validator::parsedBody($request)->array('vars');\n $vars = $formSubmission->load($vars_data, $this);\n if ($params['save'] === '1') {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "191a81c428d3702f", + "equalIndicator/v1": "1440b2ead9777d65706dd5d6d053718a8b44fd21c2ffd9299d2089e45df7d455" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 349, + "startColumn": 46, + "charOffset": 17416, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 347, + "startColumn": 1, + "charOffset": 17312, + "charLength": 203, + "snippet": { + "text": " }\n if (isset($vars['shape_sex_unknown'])) {\n $settings['shape_sex_unknown'] = I18N::digits($vars['shape_sex_unknown']);\n }\n if (isset($vars['shape_vital_dead'])) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b76c5eb0d388b59a", + "equalIndicator/v1": "14571b1a915e7ca979b034d90aae5c9a529353f8199ec78acafa73808b134c49" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Person.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 463, + "startColumn": 24, + "charOffset": 20158, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 461, + "startColumn": 1, + "charOffset": 20063, + "charLength": 190, + "snippet": { + "text": " return I18N::translate('Female');\n case 'M':\n return I18N::translate('Male');\n case 'X':\n return I18N::translate('Other');" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "232e026acb4ef17d", + "equalIndicator/v1": "14646a0fd6a68f15394fcc08cf001eaca0567976b162085a4d5082443b62f4e7" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 5, + "startColumn": 26, + "charOffset": 76, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 3, + "startColumn": 1, + "charOffset": 7, + "charLength": 142, + "snippet": { + "text": "namespace vendor\\WebtreesModules\\gvexport;\n\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5c6a1152d81a15bd", + "equalIndicator/v1": "151968b48aa711b8e787080ff3fdcc74b22ced143e468722e3203e758c2629c2" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Dot.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 1326, + "startColumn": 24, + "charOffset": 52005, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1324, + "startColumn": 1, + "charOffset": 51866, + "charLength": 251, + "snippet": { + "text": " public static function formatDate(object $date, bool $yearOnly = false, bool $abbr_month = false): string\n {\n $date_format = I18N::dateFormat();\n if ($abbr_month) {\n $date_format = str_replace('%F', '%M', $date_format);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "44afae4b13763d42", + "equalIndicator/v1": "1596bd1f82db777d1bf7cc84ed1d0c5c829b9f609da41792dd5c09f07f5f722f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Translations.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 30, + "charOffset": 2404, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 2211, + "charLength": 367, + "snippet": { + "text": " \"Invalid JSON\":\"\",\n \"Login expired. Reloading page...\":\"\",\n \"Update successful\":\"\",\n \"Enter new setting name\":\"\",\n \"Rename\":\"\"," + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "406a9f62e69e6bf5", + "equalIndicator/v1": "15a88a069885e6edb4aaafb460f48cbd046a50e1eba74fe469ffdfe70dfccd38" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Auth'", + "markdown": "Undefined class 'Auth'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/SettingsLink.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 6, + "startColumn": 26, + "charOffset": 91, + "charLength": 4, + "snippet": { + "text": "Auth" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 4, + "startColumn": 1, + "charOffset": 50, + "charLength": 148, + "snippet": { + "text": "\nuse Exception;\nuse Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\Services\\GedcomImportService;\nuse Fisharebest\\Webtrees\\Services\\TreeService;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f156e3b0eddeed7d", + "equalIndicator/v1": "15cb626cf6c44bcf97c517e0a6334b0f79732cbc662cd93b5bdb6e0aa5adaf85" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/ApiHandler.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 124, + "startColumn": 85, + "charOffset": 4275, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 122, + "startColumn": 1, + "charOffset": 4069, + "charLength": 237, + "snippet": { + "text": " private function setFailResponse(string $error, string $code = \"\") {\n $this->response_data['success'] = false;\n $this->response_data['errorMessage'] = ($code === '' ? '' : $code . \": \") . I18N::translate($error);\n }\n" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f3275d941419b764", + "equalIndicator/v1": "16359da6fc064140d6fa8445402de1d2728525281b1dca32122895857cd8be3a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 13, + "charOffset": 3009, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 2987, + "charLength": 424, + "snippet": { + "text": "

    \n
      \n
    • -
    • \n
    • - \n
    • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1887249c17c3a712", + "equalIndicator/v1": "1650ae2920fe6e27036f54bb655fc65ff436714abf79912826460cc66e7eef64" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile design.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 5, + "charOffset": 11644, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 11635, + "charLength": 56, + "snippet": { + "text": "\n

      \n:\n

      \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c23ba5dec5e9088f", + "equalIndicator/v1": "16d63419169ef7a6f9d8a042c965e693fcd7369d3d0b946932fff3f5a0a0a3d5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 61, + "charOffset": 1735, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1384, + "charLength": 687, + "snippet": { + "text": "
      • - \n
      • \n
      • -
      • \n
      • -
      • \n
      • -
      • " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "06b3a555c880d58f", + "equalIndicator/v1": "16ffd9541bb166d6fc579473ac0c2a7ebb7fcb7a2320dc7634cd272ef3ee7893" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/FormSubmission.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 178, + "startColumn": 46, + "charOffset": 7179, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 176, + "startColumn": 1, + "charOffset": 7021, + "charLength": 285, + "snippet": { + "text": " $settings['auto_update'] = isset($vars['auto_update']);\n if (isset($vars['click_action_indi'])) {\n $settings['click_action_indi'] = I18N::digits($vars[\"click_action_indi\"]);\n }\n $settings['enable_debug_mode'] = isset($vars['enable_debug_mode']);" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f67debbdcc6d3e86", + "equalIndicator/v1": "17662eb26ee4d37315d4a26295fc94509be9c4f26b37ab55cc5116f0d6a76464" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'HttpBadRequestException'", + "markdown": "Undefined class 'HttpBadRequestException'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "app/Settings.php", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 175, + "startColumn": 39, + "charOffset": 10480, + "charLength": 23, + "snippet": { + "text": "HttpBadRequestException" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 173, + "startColumn": 1, + "charOffset": 10351, + "charLength": 287, + "snippet": { + "text": " } else {\n if ($id !== self::ID_MAIN_SETTINGS) {\n throw new HttpBadRequestException(I18N::translate('Invalid settings ID') . \" \" . e($id) . \": \" . json_last_error_msg());\n }\n }" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7428140f2f2c2e9", + "equalIndicator/v1": "177ffa20df75579d10f94adc51c41782ed3f9b0303a7b05c190996e7251e211e" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Help/Detailed information/Appearance/Tile contents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 9, + "charOffset": 6893, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 6876, + "charLength": 180, + "snippet": { + "text": "

        \n

        \n \n

        \n
        " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4fbe01fe02cc0146", + "equalIndicator/v1": "17a685725324d7a9482749799745b32564eee9f59f6ddc95c9549d779d00f92a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 11, + "startColumn": 9, + "charOffset": 382, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 9, + "startColumn": 1, + "charOffset": 194, + "charLength": 373, + "snippet": { + "text": " * @var array $settings wider array of settings and options\n * @var bool $usegraphviz whether Graphviz is installed on the server and enabled\n * @var Individual $individual webtrees Individual object\n * @var bool $admin whether this is for the admin page (remove functions that aren't settings)\n */" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9e45a7448f92faf1", + "equalIndicator/v1": "17f51712bb0fb03132337c24644bd882c9ff168a0032b7e7e649ea2ec7e307b5" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'Individual'", + "markdown": "Undefined class 'Individual'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 7, + "startColumn": 26, + "charOffset": 138, + "charLength": 10, + "snippet": { + "text": "Individual" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 5, + "startColumn": 1, + "charOffset": 51, + "charLength": 210, + "snippet": { + "text": "use Fisharebest\\Webtrees\\Auth;\nuse Fisharebest\\Webtrees\\I18N;\nuse Fisharebest\\Webtrees\\Individual;\nuse Fisharebest\\Webtrees\\Module\\FamilyTreeFavoritesModule;\nuse Fisharebest\\Webtrees\\Module\\UserFavoritesModule;" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "08ea234d3a92c35c", + "equalIndicator/v1": "1818abc02b923cf6f93bf5af591d134a1f95c07eb6f4128f39d2ae0ab81deef0" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/DiagramAdvanced.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 222, + "charOffset": 5304, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 4787, + "charLength": 624, + "snippet": { + "text": "
        \n \" />\n \" />\n
        \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "406edb7dfddf36fd", + "equalIndicator/v1": "183d716e7ab3343e0a12bd5263525aa47e882a2f5b82d6a4f5781cef4bfc286a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/page.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 127, + "startColumn": 113, + "charOffset": 5416, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 125, + "startColumn": 1, + "charOffset": 4966, + "charLength": 610, + "snippet": { + "text": " \n \n
    chartUrl($individual, ['reset' => '1']) ?>\" class=\"btn btn-outline-secondary\">\n \n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c32880b7ced8640a", + "equalIndicator/v1": "184d060b69777b9c58db832a47d44d24f17ac985bc3cc0993db604d002c73a9a" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/Appearance/TileContents.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 48, + "charOffset": 2173, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 2062, + "charLength": 421, + "snippet": { + "text": "
    \n
    \n \n 'vars[use_abbr_place]', 'id' => 'use_abbr_place', 'selected' => I18N::digits($vars['use_abbr_place']), 'options' => MainPage::updateTranslations($settings[\"use_abbr_places\"])]) ?>\n
    " + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d9b38a847fef7793", + "equalIndicator/v1": "1873a09c0fd1389c7da06a788aedcbce59bb1a99bbf2676e0f0c7944fec41f09" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/GeneralSettings.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 2, + "startColumn": 26, + "charOffset": 31, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 1, + "startColumn": 1, + "charOffset": 0, + "charLength": 83, + "snippet": { + "text": "make($note_xref, $tree);\n $indis = $linkedrecordservice->linkedIndividuals($note)->toArray();\n foreach ($indis as $full_xref) {" + }, + "sourceLanguage": "PHP" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "project", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "009980c436eca9df", + "equalIndicator/v1": "198ce649869c7a44502b884d21033785cd5d0201557d3a486deb1a630ef82c53" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "PHP" + ] + } + }, + { + "ruleId": "PhpUndefinedClassInspection", + "kind": "fail", + "level": "warning", + "message": { + "text": "Undefined class 'I18N'", + "markdown": "Undefined class 'I18N'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "resources/views/MainPage/DebugPanel.phtml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 17, + "startColumn": 135, + "charOffset": 762, + "charLength": 4, + "snippet": { + "text": "I18N" + }, + "sourceLanguage": "PHP" + }, + "contextRegion": { + "startLine": 15, + "startColumn": 1, + "charOffset": 370, + "charLength": 517, + "snippet": { + "text": " \n >
    \n \n