X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FExtension.php;h=18e52ec3540902209e704c839f9ededcf6c7ac39;hb=af8b12dbd37b41a0fec3db2b5d1f23e0b0430649;hp=1552ef23e741c9157e66568ffb1242f045f122a8;hpb=b319421df58cfbeb99ca3016a8315b56690458ba;p=civicrm-core.git diff --git a/api/v3/Extension.php b/api/v3/Extension.php index 1552ef23e7..18e52ec354 100644 --- a/api/v3/Extension.php +++ b/api/v3/Extension.php @@ -1,10 +1,7 @@ 'Extension Upgrades', + 'queue' => $queue, + 'errorMode' => CRM_Queue_Runner::ERROR_ABORT, + )); + + try { + $result = $runner->runAll(); + } catch (CRM_Extension_Exception $e) { + return civicrm_api3_create_error($e->getMessage()); + } + + if ($result === TRUE) { + return civicrm_api3_create_success(); + } else { + return $result; + } +} + /** * Enable an extension * @@ -145,15 +175,15 @@ function civicrm_api3_extension_uninstall($params) { /** * Download and install an extension * - * @param array $params input parameters + * @param array $params input parameters * - key: string, eg "com.example.myextension" * - url: string eg "http://repo.com/myextension-1.0.zip" * + * @throws API_Exception * @return array API result * @static void * @access public * @example ExtensionDownload.php - * */ function civicrm_api3_extension_download($params) { if (! array_key_exists('key', $params)) { @@ -230,11 +260,12 @@ function civicrm_api3_extension_refresh($params) { /** * Get a list of available extensions * + * @param array $params + * * @return array API result * @static void * @access public * @example ExtensionGet.php - * */ function civicrm_api3_extension_get($params) { $statuses = CRM_Extension_System::singleton()->getManager()->getStatuses();