Chris@0: getFilename(), -6)); Chris@0: // Only check in *.module files. Chris@0: if ($fileExtension !== 'module') { Chris@0: return; Chris@0: } Chris@0: Chris@0: $tokens = $phpcsFile->getTokens(); Chris@0: Chris@0: $fileName = substr(basename($phpcsFile->getFilename()), 0, -7); Chris@0: if ($tokens[$stackPtr]['content'] !== ($fileName.'_menu')) { Chris@0: return; Chris@0: } Chris@0: Chris@0: // Search in the function body for "access administration pages" strings. Chris@0: $string = $phpcsFile->findNext( Chris@0: T_CONSTANT_ENCAPSED_STRING, Chris@0: $tokens[$functionPtr]['scope_opener'], Chris@0: $tokens[$functionPtr]['scope_closer'] Chris@0: ); Chris@0: Chris@0: while ($string !== false) { Chris@0: if (substr($tokens[$string]['content'], 1, -1) === 'access administration pages') { Chris@0: $warning = 'The administration menu callback should probably use "administer site configuration" - which implies the user can change something - rather than "access administration pages" which is about viewing but not changing configurations.'; Chris@0: $phpcsFile->addWarning($warning, $string, 'PermissionFound'); Chris@0: } Chris@0: Chris@0: $string = $phpcsFile->findNext( Chris@0: T_CONSTANT_ENCAPSED_STRING, Chris@0: ($string + 1), Chris@0: $tokens[$functionPtr]['scope_closer'] Chris@0: ); Chris@0: }//end while Chris@0: Chris@0: }//end processFunction() Chris@0: Chris@0: Chris@0: }//end class