You are here

function _coder_review_comment_install_file_block_callback in Coder 7

Same name and namespace in other branches
  1. 7.2 coder_review/includes/coder_review_comment.inc \_coder_review_comment_install_file_block_callback()

Define the rule callbacks for comment install file block, see do_coder_review_callback().

1 string reference to '_coder_review_comment_install_file_block_callback'
coder_review_comment_reviews in coder_review/includes/coder_review_comment.inc
Implements hook_reviews().

File

coder_review/includes/coder_review_comment.inc, line 145
This include file implements coder functionality for comments.

Code

function _coder_review_comment_install_file_block_callback(&$coder_args, $review, $rule, $lines, &$results) {
  $ignores = $coder_args['#ignore_lines'];
  $ignores = empty($ignores) ? array() : $ignores[$review['#review_name']];

  // Only perform this check on install files.
  $filename = $coder_args['#filename'];
  if (drupal_substr($filename, -7) == '.install') {
    $file_found = 0;
    $invalid_file_message = 0;
    foreach ($lines as $lineno => $line) {
      if (preg_match('/^ * @file/', $line[0])) {
        $file_found = 1;
      }
      elseif ($file_found == 1) {
        if (!preg_match('/^ * Install, update and uninstall functions for the \\w+ module./', $line[0])) {
          $invalid_file_message = 1;
        }
        $file_found = 0;
      }
    }
    if ($invalid_file_message) {
      $severity_name = _coder_review_severity_name($coder_args, $review, $rule);
      $tmprule = $rule;
      $tmprule['#warning_callback'] = '_coder_review_comment_install_file_warning';
      _coder_review_error($results, $tmprule, $severity_name, $theme_lineno, $theme_line, $ignores);
    }
  }
}