From 517dfba8b21eb176a66fd0f21aea65fccaba592a Mon Sep 17 00:00:00 2001 From: Allen Shaw Date: Mon, 26 Sep 2016 18:50:38 -0500 Subject: [PATCH] Fix CRM-19414. --- api/v3/Extension.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/api/v3/Extension.php b/api/v3/Extension.php index 5670460550..931944edb4 100644 --- a/api/v3/Extension.php +++ b/api/v3/Extension.php @@ -325,20 +325,22 @@ function _civicrm_api3_extension_refresh_spec(&$fields) { */ function civicrm_api3_extension_get($params) { $statuses = CRM_Extension_System::singleton()->getManager()->getStatuses(); + $mapper = CRM_Extension_System::singleton()->getMapper(); $result = array(); $id = 0; foreach ($statuses as $key => $status) { - //try { - // $info = (array) $mapper->keyToInfo($key); - //} catch (CRM_Extension_Exception $e) { - $info = array(); + try { + $obj = $mapper->keyToInfo($key); + } + catch (CRM_Extension_Exception $ex) { + CRM_Core_Session::setStatus(ts('Failed to read extension (%1). Please refresh the extension list.', array(1 => $key))); + continue; + } + $info = CRM_Extension_System::createExtendedInfo($obj); $info['id'] = $id++; // backward compatibility with indexing scheme - $info['key'] = $key; - //} - $info['status'] = $status; $result[] = $info; } - return _civicrm_api3_basic_array_get('Extension', $params, $result, 'id', array('id', 'key', 'status')); + return _civicrm_api3_basic_array_get('Extension', $params, $result, 'id', array()); } /** -- 2.25.1