function _coder_review_7x_info_file_callback in Coder 7.2
Define the rule callbacks for 7.x, see do_coder_callback().
1 string reference to '_coder_review_7x_info_file_callback'
- coder_review_7x_reviews in coder_review/
includes/ coder_review_7x.inc - Implements hook_reviews().
File
- coder_review/
includes/ coder_review_7x.inc, line 1257 - This include file implements coder functionality for 6.x -> 7.x upgrades.
Code
function _coder_review_7x_info_file_callback(&$coder_args, $review, $rule, $lines, &$results) {
// Only perform this check for module's (not includes).
$filename = $coder_args['#filename'];
$pathinfo = pathinfo($filename);
if ($pathinfo['extension'] == 'module') {
// @NOTE: no simpletest for this.
// Read the .info file.
$files_line = FALSE;
$core = FALSE;
$filename = $pathinfo['dirname'] . '/' . $pathinfo['filename'] . '.info';
if (file_exists($filename)) {
$lines = file($filename);
if ($lines) {
foreach ($lines as $lineno => $line) {
if (preg_match('/^files\\s*\\[\\s*\\]\\s*=/', $line)) {
$files_line = TRUE;
}
if (preg_match('/^core\\s*=\\s*7/', $line)) {
$core = TRUE;
}
}
if (empty($files_line)) {
$severity_name = _coder_review_severity_name($coder_args, $review, $rule);
$tmprule = $rule;
$tmprule['#warning'] = array(
'#text' => 'Module .info files must now specify all loadable code files explicitly.',
'#link' => _drupalnode(224333, 'registry'),
);
_coder_review_error($results, $tmprule, $severity_name, $lineno, $line, $coder_args['#ignores']);
}
if (!$core) {
$severity_name = _coder_review_severity_name($coder_args, $review, $rule);
$tmprule = $rule;
$tmprule['#warning'] = 'Info file should specify core=7.x';
_coder_review_error($results, $tmprule, $severity_name, $lineno, $line, $coder_args['#ignores']);
}
}
}
}
}