2 <ruleset name="MediaWiki">
3 <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
4 <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
5 <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
6 <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
7 <exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
8 <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate" />
9 <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected" />
10 <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPublic" />
11 <exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingVar" />
12 <exclude name="MediaWiki.Commenting.PropertyDocumentation.SpacingAfter" />
13 <exclude name="MediaWiki.Commenting.PropertyDocumentation.WrongStyle" />
14 <exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
15 <exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgTitle" />
16 <exclude name="MediaWiki.Usage.ExtendClassUsage.FunctionVarUsage" />
17 <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
18 <exclude name="Generic.WhiteSpace.ScopeIndent.IncorrectExact" />
19 <exclude name="Generic.WhiteSpace.ScopeIndent.Incorrect" />
20 <exclude name="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
21 <exclude name="Generic.CodeAnalysis.AssignmentInCondition.Found" />
22 <exclude name="MediaWiki.WhiteSpace.SpaceBeforeClassBrace.BraceNotOnOwnLine" />
23 <exclude name="PSR2.Classes.PropertyDeclaration.Multiple" />
25 <rule ref="MediaWiki.NamingConventions.ValidGlobalName">
27 <property name="ignoreList" type="array" value="$IP" />
30 <rule ref="MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix">
31 <exclude-pattern>*/maintenance/doMaintenance\.php</exclude-pattern>
32 <exclude-pattern>*/maintenance/CommandLineInc\.php</exclude-pattern>
34 <rule ref="Generic.Files.LineLength">
35 <exclude-pattern>*/languages/messages/*</exclude-pattern>
36 <exclude-pattern>*/tests/*</exclude-pattern>
38 <rule ref="MediaWiki.Files.ClassMatchesFilename.NotMatch">
40 Continue to allow existing violations, but enable the sniff to prevent
43 <exclude-pattern>*/maintenance/cleanupTitles\.php</exclude-pattern>
44 <exclude-pattern>*/maintenance/edit\.php</exclude-pattern>
45 <exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
46 <exclude-pattern>*/maintenance/getText\.php</exclude-pattern>
47 <exclude-pattern>*/maintenance/importDump\.php</exclude-pattern>
48 <exclude-pattern>*/maintenance/install\.php</exclude-pattern>
49 <exclude-pattern>*/maintenance/jsparse\.php</exclude-pattern>
50 <exclude-pattern>*/maintenance/lag\.php</exclude-pattern>
51 <exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
52 <exclude-pattern>*/maintenance/language/date-formats\.php</exclude-pattern>
53 <exclude-pattern>*/maintenance/mysql\.php</exclude-pattern>
54 <exclude-pattern>*/maintenance/parse\.php</exclude-pattern>
55 <exclude-pattern>*/maintenance/rebuildImages\.php</exclude-pattern>
56 <exclude-pattern>*/maintenance/renderDump\.php</exclude-pattern>
57 <exclude-pattern>*/maintenance/shell\.php</exclude-pattern>
58 <exclude-pattern>*/maintenance/sql\.php</exclude-pattern>
59 <exclude-pattern>*/maintenance/update\.php</exclude-pattern>
60 <exclude-pattern>*/maintenance/userOptions\.php</exclude-pattern>
61 <exclude-pattern>*/maintenance/view\.php</exclude-pattern>
62 <!-- Skip violations in some tests for now -->
63 <exclude-pattern>*/tests/parser/*</exclude-pattern>
64 <exclude-pattern>*/tests/phpunit/maintenance/*</exclude-pattern>
65 <exclude-pattern>*/tests/phpunit/bootstrap\.php</exclude-pattern>
66 <exclude-pattern>*/tests/phpunit/phpunit\.php</exclude-pattern>
68 <rule ref="MediaWiki.Files.ClassMatchesFilename.WrongCase">
70 Continue to allow existing violations, but enable the sniff to prevent
73 <exclude-pattern>*/maintenance/language/alltrans\.php</exclude-pattern>
74 <exclude-pattern>*/maintenance/language/digit2html\.php</exclude-pattern>
75 <exclude-pattern>*/maintenance/language/langmemusage\.php</exclude-pattern>
76 <exclude-pattern>*/maintenance/mctest\.php</exclude-pattern>
77 <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
78 <exclude-pattern>*/maintenance/rebuildall\.php</exclude-pattern>
79 <exclude-pattern>*/maintenance/rebuildmessages\.php</exclude-pattern>
80 <exclude-pattern>*/maintenance/rebuildrecentchanges\.php</exclude-pattern>
81 <exclude-pattern>*/maintenance/rebuildtextindex\.php</exclude-pattern>
82 <exclude-pattern>*/maintenance/storage/checkStorage\.php</exclude-pattern>
83 <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
84 <exclude-pattern>*/maintenance/storage/trackBlobs\.php</exclude-pattern>
86 <rule ref="Generic.PHP.NoSilencedErrors.Discouraged">
87 <exclude-pattern>*/tests/*</exclude-pattern>
89 <rule ref="Generic.Files.OneObjectStructurePerFile.MultipleFound">
91 Continue to allow existing violations, but enable the sniff to prevent
94 <exclude-pattern>*/maintenance/dumpIterator\.php</exclude-pattern>
95 <exclude-pattern>*/maintenance/findDeprecated\.php</exclude-pattern>
96 <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
97 <exclude-pattern>*/maintenance/language/StatOutputs\.php</exclude-pattern>
98 <exclude-pattern>*/maintenance/language/generateCollationData\.php</exclude-pattern>
99 <!-- We don't care that much about violations in tests -->
100 <exclude-pattern>*/tests/*</exclude-pattern>
102 <rule ref="MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn">
103 <exclude-pattern>*/tests/phpunit/*</exclude-pattern>
105 <rule ref="MediaWiki.Usage.ForbiddenFunctions.popen">
107 Continue to allow existing violations, but enable the sniff to prevent
110 <exclude-pattern>*/includes/GlobalFunctions\.php</exclude-pattern>
111 <exclude-pattern>*/includes/libs/filebackend/FSFileBackend\.php</exclude-pattern>
112 <exclude-pattern>*/maintenance/includes/SevenZipStream\.php</exclude-pattern>
113 <exclude-pattern>*/maintenance/populateImageSha1\.php</exclude-pattern>
115 <rule ref="MediaWiki.Usage.ForbiddenFunctions.proc_open">
117 Continue to allow existing violations, but enable the sniff to prevent
120 <exclude-pattern>*/includes/export/DumpPipeOutput\.php</exclude-pattern>
121 <exclude-pattern>*/includes/ResourceLoader/Image\.php</exclude-pattern>
122 <exclude-pattern>*/includes/shell/Command\.php</exclude-pattern>
123 <exclude-pattern>*/maintenance/includes/TextPassDumper\.php</exclude-pattern>
124 <exclude-pattern>*/maintenance/mysql\.php</exclude-pattern>
125 <exclude-pattern>*/maintenance/storage/recompressTracked\.php</exclude-pattern>
126 <exclude-pattern>*/tests/parser/editTests\.php</exclude-pattern>
128 <rule ref="MediaWiki.Usage.ForbiddenFunctions.shell_exec">
130 Continue to allow existing violations, but enable the sniff to prevent
133 <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
134 <exclude-pattern>*/maintenance/updateCredits\.php</exclude-pattern>
136 <rule ref="MediaWiki.Usage.ForbiddenFunctions.system">
138 Continue to allow existing violations, but enable the sniff to prevent
141 <exclude-pattern>*/maintenance/mwdocgen\.php</exclude-pattern>
143 <rule ref="Generic.Arrays.DisallowShortArraySyntax">
145 T273340: Rule not to be enabled on any other file.
146 PHPVersionCheck.php requires syntax to be old PHP compatible.
147 The rest should therefore use [] rather than array() as per the
148 MediaWiki style guide.
150 <include-pattern>includes/PHPVersionCheck\.php</include-pattern>
153 <arg name="encoding" value="UTF-8"/>
154 <arg name="extensions" value="php"/>
155 <exclude-pattern type="relative">^(extensions|skins)/*</exclude-pattern>
156 <exclude-pattern type="relative">^docs/(coverage|html|js|latex)/*</exclude-pattern>
157 <exclude-pattern>LocalSettings(-installer)?\.php</exclude-pattern>