You are here

function _coder_review_7x_drupal_behaviors_callback in Coder 7.2

@todo: add a function header comment.

1 string reference to '_coder_review_7x_drupal_behaviors_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 1363
This include file implements coder functionality for 6.x -> 7.x upgrades.

Code

function _coder_review_7x_drupal_behaviors_callback(&$coder_args, $review, $rule, $lines, &$results) {

  // @NOTE: no simpletest for this.
  $filename = $coder_args['#filename'];
  if (file_exists($filename)) {

    // Only do it for js files.
    $pathinfo = pathinfo($filename);
    if ($pathinfo['extension'] == 'js') {
      $lines = file($filename);
      if ($lines) {
        $detach = FALSE;
        foreach ($lines as $lineno => $line) {

          // New function, reset detach boolean.
          if (preg_match('/(^|[\\s\\(=])function\\s*([a-zA-Z_]+?|\\()/', $line)) {
            $detach = FALSE;
          }
          if (preg_match('/Drupal\\.detachBehaviors\\s*\\(/', $line)) {
            $detach = TRUE;
          }
          if (!$detach && preg_match('/(jQuery\\.|\\$\\.|\\$\\([a-zA-Z_#\'"\\-]+?\\)\\.)(ajax|get|getJSON|post|load)/', $line)) {
            $severity_name = _coder_review_severity_name($coder_args, $review, $rule);
            $tmprule = $rule;
            $tmprule['#warning'] = _coder_review_7x_drupal_behaviors_warning();
            _coder_review_error($results, $tmprule, $severity_name, $lineno, $line, $coder_args['#ignores']);
          }
        }
      }
    }
  }
}