You are here

public function BestPracticesMultisite::calculateScore in Site Audit 8.3

.

Overrides SiteAuditCheckBase::calculateScore

File

src/Plugin/SiteAuditCheck/BestPracticesMultisite.php, line 74

Class

BestPracticesMultisite
Provides the BestPracticesMultisite Check.

Namespace

Drupal\site_audit\Plugin\SiteAuditCheck

Code

public function calculateScore() {
  $handle = opendir(DRUPAL_ROOT . '/sites/');
  $this->registry->multisites = [];
  while (FALSE !== ($entry = readdir($handle))) {
    if (!in_array($entry, [
      '.',
      '..',
      'default',
      'all',
      'example.sites.php',
      'README.txt',
      '.svn',
      '.DS_Store',
    ])) {
      if (is_dir(DRUPAL_ROOT . '/sites/' . $entry)) {
        $this->registry->multisites[] = $entry;
      }
    }
  }
  closedir($handle);
  if (isset($this->registry->multisite_enabled) && !empty($this->registry->multisite_enabled)) {
    if ($this->options['vendor'] == 'pantheon') {
      return SiteAuditCheckBase::AUDIT_CHECK_SCORE_FAIL;
    }
    if (!empty($this->registry->multisites)) {
      return SiteAuditCheckBase::AUDIT_CHECK_SCORE_INFO;
    }
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_WARN;
  }
  elseif (!empty($this->registry->multisites)) {
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_WARN;
  }
  return SiteAuditCheckBase::AUDIT_CHECK_SCORE_PASS;
}