Merge remote-tracking branch 'upstream/4.4' into 4.4-master-2014-06-30-11-58-01
[civicrm-core.git] / CRM / Utils / Check.php
index 9b13b0db7a87ae444ec29a9f1bc91ddf7deb12a6..822f40de27988a86a99b9f4daafad1e70843b9ae 100644 (file)
@@ -60,8 +60,10 @@ class CRM_Utils_Check {
 
   /**
    * Execute "checkAll"
+   *
+   * @param array|NULL $messages list of CRM_Utils_Check_Message; or NULL if the default list should be fetched
    */
-  public function showPeriodicAlerts() {
+  public function showPeriodicAlerts($messages = NULL) {
     if (CRM_Core_Permission::check('administer CiviCRM')
       && CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'securityAlert', NULL, TRUE)
     ) {
@@ -72,7 +74,10 @@ class CRM_Utils_Check {
         $config = CRM_Core_Config::singleton();
         $config->cleanup(0, FALSE);
 
-        foreach ($this->checkAll() as $message) {
+        if ($messages === NULL) {
+          $messages = $this->checkAll();
+        }
+        foreach ($messages as $message) {
           CRM_Core_Session::setStatus($message->getMessage(), $message->getTitle());
         }
       }
@@ -81,9 +86,15 @@ class CRM_Utils_Check {
 
   /**
    * Throw an exception if any of the checks fail
+   *
+   * @param array|NULL $messages list of CRM_Utils_Check_Message; or NULL if the default list should be fetched
+   *
+   * @throws Exception
    */
-  public function assertValid() {
-    $messages = $this->checkAll();
+  public function assertValid($messages = NULL) {
+    if ($messages === NULL) {
+      $messages = $this->checkAll();
+    }
     if (!empty($messages)) {
       $messagesAsArray = array();
       foreach ($messages as $message) {
@@ -117,4 +128,4 @@ class CRM_Utils_Check {
     return $messages;
   }
 
-}
\ No newline at end of file
+}