/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { $this->registry['extensions_version'] = array(); $extension_info = drush_get_extensions(FALSE); uasort($extension_info, '_drush_pm_sort_extensions'); $compatibility_modules = $this->getExtensions(); foreach ($extension_info as $extension) { if (array_key_exists($extension->name, $compatibility_modules)) { foreach ($compatibility_modules[$extension->name] as $version) { if (version_compare($extension->info['version'], $version['version'], $version['operator'])) { $this->registry['extensions_version'][$extension->name] = array($extension->name . ' (' . $extension->info['version'] . ')', $version['reason']); } } } } if (!empty($this->registry['extensions_version'])) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; }
/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { $this->registry['extension_count'] = 0; $this->registry['extensions'] = drush_get_extensions(FALSE); foreach ($this->registry['extensions'] as $extension) { $status = drush_get_extension_status($extension); if (!in_array($status, array('enabled'))) { continue; } $this->registry['extension_count']++; } if ($this->registry['extension_count'] >= 150) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; }
<?php # config: name of the versions file $fileName = DRUPAL_ROOT . "/versions.json"; # get all module informations $modules = drush_get_extensions(false); # get all versions from enabled modules $versions = array(); foreach ($modules as $name => $module) { if ('enabled' === drush_get_extension_status($module)) { $versions[$name] = $module->info['version']; } } # write version to disc file_put_contents($fileName, json_encode($versions));