You are here

public function ContentFieldCount::calculateScore in Site Audit 8.3

.

Overrides SiteAuditCheckBase::calculateScore

File

src/Plugin/SiteAuditCheck/ContentFieldCount.php, line 79

Class

ContentFieldCount
Provides the ContentFieldCount Check.

Namespace

Drupal\site_audit\Plugin\SiteAuditCheck

Code

public function calculateScore() {
  if (!isset($this->registry->fields)) {

    // It hasn't been calculated yet, so do it now.
    $map = \Drupal::service('entity_field.manager')
      ->getFieldMap();
    $this->registry->fields = [];
    $this->registry->default_fields = [
      'body',
      'comment_body',
    ];
    foreach ($map as $fields) {
      foreach ($fields as $field => $description) {
        if (preg_match('/^field\\_/', $field) || in_array($field, $this->registry->default_fields)) {
          $this->registry->fields[$field] = $description['type'];
        }
      }
    }
  }
  if (count($this->registry->fields) == 0) {
    $this->abort;
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_FAIL;
  }
  elseif (count($this->registry->fields) > 75) {
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_WARN;
  }
  return SiteAuditCheckBase::AUDIT_CHECK_SCORE_INFO;
}