@@ -18,7 +18,7 @@ class ModuleXMLSniff implements Sniff
1818{
1919 private const WARNING_CODE = 'FoundObsoleteAttribute ' ;
2020 private const ERROR_CODE = 'WrongXML ' ;
21-
21+
2222 /**
2323 * @inheritdoc
2424 */
@@ -34,8 +34,7 @@ public function register(): array
3434 */
3535 public function process (File $ phpcsFile , $ stackPtr )
3636 {
37- $ line = $ phpcsFile ->getTokens ()[$ stackPtr ]['content ' ];
38- if (strpos (trim ($ line ), '<module ' ) === false ) {
37+ if ($ stackPtr > 0 ) {
3938 return ;
4039 }
4140
@@ -52,53 +51,33 @@ public function process(File $phpcsFile, $stackPtr)
5251 $ stackPtr ,
5352 self ::ERROR_CODE
5453 );
55- }
56-
57- $ foundElements = $ xml ->xpath ('/config/module ' );
58- if ($ foundElements === false ) {
5954 return ;
6055 }
61-
62- foreach ($ foundElements as $ element ) {
63- if (!$ this ->elementIsCurrentlySniffedLine ($ element , $ stackPtr )) {
64- continue ;
65- }
66-
67- if (property_exists ($ element ->attributes (), 'version ' )) {
56+
57+ $ foundElements = $ xml ->xpath ('/config/module[@version] ' );
58+ if ($ foundElements !== false ) {
59+ foreach ($ foundElements as $ element ) {
6860 $ phpcsFile ->addWarning (
6961 'The "version" attribute is obsolete. Use "setup_version" instead. ' ,
70- $ stackPtr ,
62+ dom_import_simplexml ( $ element )-> getLineNo ()- 1 ,
7163 self ::WARNING_CODE
7264 );
7365 }
66+ }
7467
75- if (property_exists ($ element ->attributes (), 'active ' )) {
68+ $ foundElements = $ xml ->xpath ('/config/module[@active] ' );
69+ if ($ foundElements !== false ) {
70+ foreach ($ foundElements as $ element ) {
7671 $ phpcsFile ->addWarning (
7772 'The "active" attribute is obsolete. The list of active modules ' .
7873 'is defined in deployment configuration. ' ,
79- $ stackPtr ,
74+ dom_import_simplexml ( $ element )-> getLineNo ()- 1 ,
8075 self ::WARNING_CODE
8176 );
8277 }
8378 }
8479 }
8580
86- /**
87- * Check if the element passed is in the currently sniffed line
88- *
89- * @param SimpleXMLElement $element
90- * @param int $stackPtr
91- * @return bool
92- */
93- private function elementIsCurrentlySniffedLine (SimpleXMLElement $ element , int $ stackPtr ): bool
94- {
95- $ node = dom_import_simplexml ($ element );
96- if ($ node ->getLineNo () === $ stackPtr +1 ) {
97- return true ;
98- }
99- return false ;
100- }
101-
10281 /**
10382 * Format the incoming XML to avoid tags split into several lines.
10483 *
0 commit comments