+ /**
+ * 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
+ */
+ public function assertValid($messages = NULL) {
+ if ($messages === NULL) {
+ $messages = $this->checkAll();
+ }
+ if (!empty($messages)) {
+ $messagesAsArray = array();
+ foreach ($messages as $message) {
+ $messagesAsArray[] = $message->toArray();
+ }
+ throw new Exception('There are configuration problems with this installation: ' . print_r($messagesAsArray, TRUE));
+ }
+ }
+