/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.4 |
+ | CiviCRM version 4.5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013 |
+ | Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
* @package CiviCRM_APIv3
* @subpackage API_Extension
*
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* @version $Id$
*
*/
return civicrm_api3_create_success();
}
+/**
+ * Upgrade an extension - runs upgrade_N hooks and system.flush
+ *
+ * @return array API result
+ * @static void
+ * @access public
+ *
+ */
+function civicrm_api3_extension_upgrade() {
+ CRM_Core_Invoke::rebuildMenuAndCaches(TRUE);
+ $queue = CRM_Extension_Upgrades::createQueue();
+ $runner = new CRM_Queue_Runner(array(
+ 'title' => '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
*
/**
* 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)) {
/**
* Get a list of available extensions
*
+ * @param $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();