From 9ef501daf6665221e27b13e40922b70849bc1376 Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Sun, 9 Mar 2014 17:40:58 -0700 Subject: [PATCH] CRM-14210 - Add API for running security checks --- api/v3/System.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/api/v3/System.php b/api/v3/System.php index f08aaf3351..9a8d092e83 100644 --- a/api/v3/System.php +++ b/api/v3/System.php @@ -67,5 +67,35 @@ function civicrm_api3_system_flush($params) { function _civicrm_api3_system_flush_spec(&$params){ $params['triggers'] = array('title' => 'rebuild triggers (boolean)'); $params['session'] = array('title' => 'refresh sessions (boolean)'); +} +/** + * System.Check API specification (optional) + * This is used for documentation and validation. + * + * @param array $spec description of fields supported by this API call + * @return void + * @see http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards + */ +function _civicrm_api3_system_check_spec(&$spec) { + // $spec['magicword']['api.required'] = 1; } + +/** + * System.Check API + * + * @param array $params + * @return array API result descriptor; return items are alert codes/messages + * @see civicrm_api3_create_success + * @see civicrm_api3_create_error + * @throws API_Exception + */ +function civicrm_api3_system_check($params) { + $returnValues = array(); + foreach (CRM_Utils_Check_Security::singleton()->checkAll() as $message) { + $returnValues[] = $message->toArray(); + } + + // Spec: civicrm_api3_create_success($values = 1, $params = array(), $entity = NULL, $action = NULL) + return civicrm_api3_create_success($returnValues, $params, 'System', 'Check'); +} \ No newline at end of file -- 2.25.1