/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { global $conf; if ($conf['cache']) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; } if (site_audit_env_is_dev()) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL; }
/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { global $conf; if ($conf['page_cache_maximum_age'] >= 900) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; } elseif (!$conf['page_cache_maximum_age']) { if (site_audit_env_is_dev()) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN; }
/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { global $conf; if ($conf['block_cache']) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; } elseif (count(module_implements('node_grants'))) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN; } // Block caching is off. if (site_audit_env_is_dev()) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL; }
/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { // Views Cache Bully. $this->registry['views_cache_bully_output'] = FALSE; if (module_exists('views_cache_bully') && variable_get('views_cache_bully_output_lifespan', 3600) > 0) { $this->registry['views_cache_bully_output'] = TRUE; } if ($this->registry['views_cache_bully_output']) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; } $this->registry['output_lifespan'] = array(); foreach ($this->registry['views'] as $view) { foreach ($view->display as $display_name => $display) { if (!isset($display->disabled) || !$display->disabled) { // Default display OR overriding display. if (isset($display->display_options['cache'])) { if ($display->display_options['cache']['type'] == 'none' || $display->display_options['cache'] == '') { if ($display_name == 'default') { $this->registry['output_lifespan'][$view->name]['default'] = 'none'; } else { $this->registry['output_lifespan'][$view->name]['displays'][$display_name] = 'none'; } } else { if ($display->display_options['cache']['output_lifespan'] == 'custom') { $lifespan = $display->display_options['cache']['output_lifespan_custom']; } else { $lifespan = $display->display_options['cache']['output_lifespan']; } if ($lifespan < 1) { $lifespan = 'none'; } if ($display_name == 'default') { $this->registry['output_lifespan'][$view->name]['default'] = $lifespan; } else { $this->registry['output_lifespan'][$view->name]['displays'][$display_name] = $lifespan; } } } else { $this->registry['output_lifespan'][$view->name]['displays'][$display_name] = 'default'; } } } } $this->registry['views_without_output_caching'] = array(); foreach ($this->registry['output_lifespan'] as $view_name => $view_data) { // Views with only master display. if (!isset($view_data['displays']) || count($view_data['displays']) == 0) { if ($view_data['default'] == 'none') { $this->registry['views_without_output_caching'][] = $view_name; } } else { // If all the displays are default, consolidate. $all_default_displays = TRUE; foreach ($view_data['displays'] as $display_name => $lifespan) { if ($lifespan != 'default') { $all_default_displays = FALSE; } } if ($all_default_displays) { if ($view_data['default'] == 'none') { $this->registry['views_without_output_caching'][] = $view_name; } } else { $uncached_view_string = $view_name; $uncached_view_displays = array(); foreach ($view_data['displays'] as $display_name => $display_data) { if ($display_data == 'none' || $display_data == 'default' && $view_data['default'] == 'none') { $uncached_view_displays[] = $display_name; } } if (!empty($uncached_view_displays)) { $uncached_view_string .= ' (' . implode(', ', $uncached_view_displays) . ')'; $this->registry['views_without_output_caching'][] = $uncached_view_string; } } } } if (count($this->registry['views_without_output_caching']) == 0) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; } if (site_audit_env_is_dev()) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO; } if (count($this->registry['views_without_output_caching']) == count($this->registry['views'])) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN; }
/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { $this->registry['extensions_dev'] = array(); $extension_info = $this->registry['extensions']; uasort($extension_info, '_drush_pm_sort_extensions'); $dev_extensions = $this->getExtensions(); foreach ($extension_info as $key => $extension) { $row = array(); $status = drush_get_extension_status($extension); // Only enabled extensions. if (!in_array($status, array('enabled'))) { unset($extension_info[$key]); continue; } // Not in the list of known development modules. if (!array_key_exists($extension->name, $dev_extensions)) { unset($extension_info[$key]); continue; } // Do not report modules that are dependencies of other modules, such // as field_ui in Drupal Commerce. if (isset($extension->required_by) && !empty($extension->required_by)) { unset($extension_info[$key]); continue; } // Name. $row[] = $extension->label; // Reason. $row[] = $dev_extensions[$extension->name]; $this->registry['extensions_dev'][$extension->name] = $row; } if (!empty($this->registry['extensions_dev'])) { if (site_audit_env_is_dev()) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_INFO; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_WARN; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; }
/** * Implements \SiteAudit\Check\Abstract\calculateScore(). */ public function calculateScore() { $this->registry['extensions_unrec'] = array(); $extension_info = $this->registry['extensions']; uasort($extension_info, '_drush_pm_sort_extensions'); $unrecommended_extensions = $this->getExtensions(); foreach ($extension_info as $extension) { $row = array(); // Not in the list of known unrecommended modules. if (!array_key_exists($extension->name, $unrecommended_extensions)) { continue; } // Exceptions for backup_migrate in installation profiles on Pantheon. if ($extension->name == 'backup_migrate' && drush_get_option('vendor') == 'pantheon') { $in_profile = strpos($extension->filename, 'profiles/') === 0; $status = drush_get_extension_status($extension); // If in profiles and disabled, ignore. if ($in_profile && $status != 'enabled') { continue; } // If enabled in dev, ignore. if ($status == 'enabled' && site_audit_env_is_dev()) { continue; } // If in profiles and enabled in non-dev, be more specific. if ($in_profile && $status == 'enabled' && !site_audit_env_is_dev()) { $this->registry['extensions_unrec'][$extension->name] = array($extension->label, dt('backup_migrate should only be on Pantheon in live environments used to facilitate migrations; disable when complete and this check will pass.')); continue; } } // Name. $row[] = $extension->label; // Reason. $row[] = $unrecommended_extensions[$extension->name]; $this->registry['extensions_unrec'][$extension->name] = $row; } if (!empty($this->registry['extensions_unrec'])) { return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_FAIL; } return SiteAuditCheckAbstract::AUDIT_CHECK_SCORE_PASS; }