CRM-13823 - Extract setLevel method from CRM_Utils_Check_Message constructor
authorColeman Watts <coleman@civicrm.org>
Wed, 18 Nov 2015 22:24:24 +0000 (17:24 -0500)
committerColeman Watts <coleman@civicrm.org>
Wed, 18 Nov 2015 22:24:24 +0000 (17:24 -0500)
CRM/Utils/Check/Env.php
CRM/Utils/Check/Message.php

index bae90c47dfb0a68369bc61efadfa582a80d57660..6b86338207c2b5c9a58a921bca304c0db7071d98 100644 (file)
@@ -508,7 +508,7 @@ class CRM_Utils_Check_Env {
       return array(new CRM_Utils_Check_Message(
         'extensionsOk',
         ts('No extensions installed. <a %1>Browse available extensions</a>.', array(
-          1 => CRM_Utils_System::url('civicrm/admin/extensions', 'reset=1'),
+          1 => 'href="' . CRM_Utils_System::url('civicrm/admin/extensions', 'reset=1') . '"',
         )),
         ts('Extensions'),
         \Psr\Log\LogLevel::INFO,
index 827613da60caf47cccad1274d1e2e9a75f4b7607..adf05e9530ad691dd90eca1331b29e5223172367 100644 (file)
@@ -96,16 +96,8 @@ class CRM_Utils_Check_Message {
     $this->name = $name;
     $this->message = $message;
     $this->title = $title;
-    // Convert level to integer
-    if (!CRM_Utils_Rule::positiveInteger($level)) {
-      $level = CRM_Utils_Check::severityMap($level);
-    }
-    else {
-      // Validate numeric input - this will throw an exception if invalid
-      CRM_Utils_Check::severityMap($level, TRUE);
-    }
-    $this->level = $level;
     $this->icon = $icon;
+    $this->setLevel($level);
   }
 
   /**
@@ -162,6 +154,26 @@ class CRM_Utils_Check_Message {
     $this->help = $help;
   }
 
+  /**
+   * Set severity level
+   *
+   * @param string|int $level
+   * @throws \CRM_Core_Exception
+   */
+  public function setLevel($level) {
+    // Convert level to integer
+    if (!CRM_Utils_Rule::positiveInteger($level)) {
+      $level = CRM_Utils_Check::severityMap($level);
+    }
+    else {
+      // Validate numeric input - this will throw an exception if invalid
+      CRM_Utils_Check::severityMap($level, TRUE);
+    }
+    $this->level = $level;
+    // Clear internal caches
+    unset($this->isVisible, $this->hiddenUntil);
+  }
+
   /**
    * Convert to array.
    *