You are here

public function SiteAuditCheckCronEnabled::calculateScore in Site Audit 7

Same name and namespace in other branches
  1. 8.2 Check/Cron/Enabled.php \SiteAuditCheckCronEnabled::calculateScore()

Implements \SiteAudit\Check\Abstract\calculateScore().

Overrides SiteAuditCheckAbstract::calculateScore

File

Check/Cron/Enabled.php, line 76
Contains \SiteAudit\Check\Cron\Enabled.

Class

SiteAuditCheckCronEnabled
Class SiteAuditCheckCronEnabled.

Code

public function calculateScore() {

  // Determine when cron last ran.
  $this->registry['cron_last'] = variable_get('cron_last');

  // Manually getting from database due to cron_safe_threshold known issue
  // https://drupal.org/node/1811224 in drush core.
  $sql_query = 'SELECT value ';
  $sql_query .= 'FROM {variable} ';
  $sql_query .= 'WHERE name=:name';
  $cron_safe_threshold = db_query($sql_query, array(
    ':name' => 'cron_safe_threshold',
  ))
    ->fetchField();

  // Unset; use default.
  if ($cron_safe_threshold === FALSE) {
    $cron_safe_threshold = DRUPAL_CRON_DEFAULT_THRESHOLD;
  }
  else {
    $cron_safe_threshold = unserialize($cron_safe_threshold);
  }
  $this->registry['cron_safe_threshold'] = $cron_safe_threshold;
  if (!$this->registry['cron_safe_threshold']) {

    // Check for Elysia Cron.
    if (module_exists('elysia_cron')) {
      $this->abort = TRUE;
      return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO;
    }

    // Check for Ultimate Cron.
    if (module_exists('ultimate_cron')) {
      $this->abort = TRUE;
      return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO;
    }

    // Check to see if Cron has been run within the last day.
    if (time() - $this->registry['cron_last'] < 24 * 60 * 60) {
      return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS;
    }
    return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL;
  }
  return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS;
}