<?php
-
-define('API_V3_EXTENSION_DELIMITER', ',');
-
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
+--------------------------------------------------------------------+
*/
+define('API_V3_EXTENSION_DELIMITER', ',');
+
+
/**
* File for the CiviCRM APIv3 extension functions
*
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
*
/**
* Get a list of available extensions
*
- * @param $params
+ * @param array $params
*
* @return array API result
* @static void