<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.4 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
*
*/
class CRM_Utils_Check {
- CONST
+ const
// How often to run checks and notify admins about issues.
CHECK_TIMER = 86400;
*
* @return CRM_Utils_Check
*/
- static function &singleton() {
+ public static function &singleton() {
if (!isset(self::$_singleton)) {
self::$_singleton = new CRM_Utils_Check();
}
* plugin status page or the Drupal admin/reports/status path.
*
* @return array of messages
- * @see Drupal's hook_requirements() -
- * https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements
+ * @link https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_requirements
*/
public function checkAll() {
- $security = new CRM_Utils_Check_Security();
- $env = new CRM_Utils_Check_Env();
- $messages = array_merge(
- $security->checkAll(),
- $env->checkAll()
- );
+ $checks = array();
+ $checks[] = new CRM_Utils_Check_Security();
+ $checks[] = new CRM_Utils_Check_Env();
+
+ $compInfo = CRM_Core_Component::getEnabledComponents();
+ foreach ($compInfo as $compObj) {
+ switch ($compObj->info['name']) {
+ case 'CiviCase':
+ $checks[] = new CRM_Utils_Check_Case(CRM_Case_XMLRepository::singleton(), CRM_Case_PseudoConstant::caseType('name'));
+ break;
+
+ default:
+ }
+ }
+
+ $messages = array();
+ foreach ($checks as $check) {
+ $messages = array_merge($messages, $check->checkAll());
+ }
return $messages;
}