From c74a6c8f12ca49642b677a306287b78f6917dca8 Mon Sep 17 00:00:00 2001 From: Allen Shaw Date: Sun, 25 Sep 2016 16:42:27 -0500 Subject: [PATCH] Fix CRM-19408: Create extension.getremote API --- api/v3/Extension.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/api/v3/Extension.php b/api/v3/Extension.php index 183af02e36..5670460550 100644 --- a/api/v3/Extension.php +++ b/api/v3/Extension.php @@ -341,6 +341,27 @@ function civicrm_api3_extension_get($params) { return _civicrm_api3_basic_array_get('Extension', $params, $result, 'id', array('id', 'key', 'status')); } +/** + * Get a list of remotely available extensions. + * + * @param array $params + * + * @return array + * API result + */ +function civicrm_api3_extension_getremote($params) { + $extensions = CRM_Extension_System::singleton()->getBrowser()->getExtensions(); + $result = array(); + $id = 0; + foreach ($extensions as $key => $obj) { + $info = array(); + $info['id'] = $id++; // backward compatibility with indexing scheme + $info = array_merge($info, (array) $obj); + $result[] = $info; + } + return _civicrm_api3_basic_array_get('Extension', $params, $result, 'id', CRM_Utils_Array::value('return', $params, array())); +} + /** * Determine the list of extension keys. * -- 2.25.1