@@ -18,7 +18,7 @@ class ModuleXMLSniff implements Sniff
18
18
{
19
19
private const WARNING_CODE = 'FoundObsoleteAttribute ' ;
20
20
private const ERROR_CODE = 'WrongXML ' ;
21
-
21
+
22
22
/**
23
23
* @inheritdoc
24
24
*/
@@ -34,8 +34,7 @@ public function register(): array
34
34
*/
35
35
public function process (File $ phpcsFile , $ stackPtr )
36
36
{
37
- $ line = $ phpcsFile ->getTokens ()[$ stackPtr ]['content ' ];
38
- if (strpos (trim ($ line ), '<module ' ) === false ) {
37
+ if ($ stackPtr > 0 ) {
39
38
return ;
40
39
}
41
40
@@ -54,51 +53,30 @@ public function process(File $phpcsFile, $stackPtr)
54
53
);
55
54
}
56
55
57
- $ foundElements = $ xml ->xpath ('/config/module ' );
58
- if ($ foundElements === false ) {
59
- return ;
60
- }
61
-
62
- foreach ($ foundElements as $ element ) {
63
- if (!$ this ->elementIsCurrentlySniffedLine ($ element , $ stackPtr )) {
64
- continue ;
65
- }
66
-
67
- if (property_exists ($ element ->attributes (), 'version ' )) {
56
+ $ foundElements = $ xml ->xpath ('/config/module[@version] ' );
57
+ if ($ foundElements !== false ) {
58
+ foreach ($ foundElements as $ element ) {
68
59
$ phpcsFile ->addWarning (
69
60
'The "version" attribute is obsolete. Use "setup_version" instead. ' ,
70
- $ stackPtr ,
61
+ dom_import_simplexml ( $ element )-> getLineNo ()- 1 ,
71
62
self ::WARNING_CODE
72
63
);
73
64
}
65
+ }
74
66
75
- if (property_exists ($ element ->attributes (), 'active ' )) {
67
+ $ foundElements = $ xml ->xpath ('/config/module[@active] ' );
68
+ if ($ foundElements !== false ) {
69
+ foreach ($ foundElements as $ element ) {
76
70
$ phpcsFile ->addWarning (
77
71
'The "active" attribute is obsolete. The list of active modules ' .
78
72
'is defined in deployment configuration. ' ,
79
- $ stackPtr ,
73
+ dom_import_simplexml ( $ element )-> getLineNo ()- 1 ,
80
74
self ::WARNING_CODE
81
75
);
82
76
}
83
77
}
84
78
}
85
79
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
-
102
80
/**
103
81
* Format the incoming XML to avoid tags split into several lines.
104
82
*
0 commit comments