Merge pull request #5097 from PalanteJon/CRM-15917
[civicrm-core.git] / api / v3 / Extension.php
index 03e56df720d7e46f3e6c95508eccdc6ebce1868e..2dfbe7728aa3b99e67ea6b1013f84ac4e241cd3a 100644 (file)
@@ -29,30 +29,22 @@ define('API_V3_EXTENSION_DELIMITER', ',');
 
 
 /**
- * File for the CiviCRM APIv3 extension functions
+ * This api exposes CiviCRM extension.
  *
  * @package CiviCRM_APIv3
- * @subpackage API_Extension
- *
- * @copyright CiviCRM LLC (c) 2004-2014
- * @version $Id$
- *
  */
 
 /**
- * Install an extension
+ * Install an extension.
  *
  * @param array $params
  *   Input parameters.
- *                          - key: string, eg "com.example.myextension"
- *                          - keys: mixed; array of string, eg array("com.example.myextension1", "com.example.myextension2") or string with comma-delimited list
- *                            using 'keys' should be more performant than making multiple API calls with 'key'
- *
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionInstall.php
+ *   - key: string, eg "com.example.myextension"
+ *   - keys: mixed; array of string, eg array("com.example.myextension1", "com.example.myextension2") or string with comma-delimited list
+ *   Using 'keys' should be more performant than making multiple API calls with 'key'.
  *
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_install($params) {
   $keys = _civicrm_api3_getKeys($params);
@@ -71,12 +63,10 @@ function civicrm_api3_extension_install($params) {
 }
 
 /**
- * Upgrade an extension - runs upgrade_N hooks and system.flush
- *
- * @return array API result
- * @static void
- * @access public
+ * Upgrade an extension - runs upgrade_N hooks and system.flush.
  *
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_upgrade() {
   CRM_Core_Invoke::rebuildMenuAndCaches(TRUE);
@@ -103,7 +93,7 @@ function civicrm_api3_extension_upgrade() {
 }
 
 /**
- * Enable an extension
+ * Enable an extension.
  *
  * @param array $params
  *   Input parameters.
@@ -111,11 +101,8 @@ function civicrm_api3_extension_upgrade() {
  *                          - keys: mixed; array of string, eg array("com.example.myextension1", "com.example.myextension2") or string with comma-delimited list
  *                            using 'keys' should be more performant than making multiple API calls with 'key'
  *
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionEnable.php
- *
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_enable($params) {
   $keys = _civicrm_api3_getKeys($params);
@@ -128,7 +115,7 @@ function civicrm_api3_extension_enable($params) {
 }
 
 /**
- * Disable an extension
+ * Disable an extension.
  *
  * @param array $params
  *   Input parameters.
@@ -136,11 +123,8 @@ function civicrm_api3_extension_enable($params) {
  *                          - keys: mixed; array of string, eg array("com.example.myextension1", "com.example.myextension2") or string with comma-delimited list
  *                            using 'keys' should be more performant than making multiple API calls with 'key'
  *
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionDisable.php
- *
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_disable($params) {
   $keys = _civicrm_api3_getKeys($params);
@@ -153,7 +137,7 @@ function civicrm_api3_extension_disable($params) {
 }
 
 /**
- * Uninstall an extension
+ * Uninstall an extension.
  *
  * @param array $params
  *   Input parameters.
@@ -162,11 +146,8 @@ function civicrm_api3_extension_disable($params) {
  *                            using 'keys' should be more performant than making multiple API calls with 'key'
  *                          - removeFiles: bool, whether to remove source tree; default: FALSE
  *
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionUninstall.php
- *
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_uninstall($params) {
   $keys = _civicrm_api3_getKeys($params);
@@ -180,7 +161,7 @@ function civicrm_api3_extension_uninstall($params) {
 }
 
 /**
- * Download and install an extension
+ * Download and install an extension.
  *
  * @param array $params
  *   Input parameters.
@@ -188,18 +169,16 @@ function civicrm_api3_extension_uninstall($params) {
  *                          - url: string eg "http://repo.com/myextension-1.0.zip"
  *
  * @throws API_Exception
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionDownload.php
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_download($params) {
-  if (! array_key_exists('key', $params)) {
+  if (!array_key_exists('key', $params)) {
     throw new API_Exception('Missing required parameter: key');
   }
 
-  if (! array_key_exists('url', $params)) {
-    if (! CRM_Extension_System::singleton()->getBrowser()->isEnabled()) {
+  if (!array_key_exists('url', $params)) {
+    if (!CRM_Extension_System::singleton()->getBrowser()->isEnabled()) {
       throw new API_Exception('Automatic downloading is diabled. Try adding parameter "url"');
     }
     if ($reqs = CRM_Extension_System::singleton()->getBrowser()->checkRequirements()) {
@@ -213,7 +192,7 @@ function civicrm_api3_extension_download($params) {
     }
   }
 
-  if (! array_key_exists('url', $params)) {
+  if (!array_key_exists('url', $params)) {
     throw new API_Exception('Cannot resolve download url for extension. Try adding parameter "url"');
   }
 
@@ -221,7 +200,7 @@ function civicrm_api3_extension_download($params) {
     return civicrm_api3_create_error($requirement['message']);
   }
 
-  if (! CRM_Extension_System::singleton()->getDownloader()->download($params['key'], $params['url'])) {
+  if (!CRM_Extension_System::singleton()->getDownloader()->download($params['key'], $params['url'])) {
     return civicrm_api3_create_error('Download failed - ZIP file is unavailable or malformed');
   }
   CRM_Extension_System::singleton()->getCache()->flush();
@@ -232,18 +211,15 @@ function civicrm_api3_extension_download($params) {
 }
 
 /**
- * Download and install an extension
+ * Download and install an extension.
  *
  * @param array $params
  *   Input parameters.
  *                          - local: bool, whether to rescan local filesystem (default: TRUE)
  *                          - remote: bool, whether to rescan remote repository (default: TRUE)
  *
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionRefresh.php
- *
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_refresh($params) {
   $defaults = array('local' => TRUE, 'remote' => TRUE);
@@ -267,14 +243,12 @@ function civicrm_api3_extension_refresh($params) {
 }
 
 /**
- * Get a list of available extensions
+ * Get a list of available extensions.
  *
  * @param array $params
  *
- * @return array API result
- * @static void
- * @access public
- * @example ExtensionGet.php
+ * @return array
+ *   API result
  */
 function civicrm_api3_extension_get($params) {
   $statuses = CRM_Extension_System::singleton()->getManager()->getStatuses();
@@ -294,11 +268,13 @@ function civicrm_api3_extension_get($params) {
 }
 
 /**
- * Determine the list of extension keys
+ * Determine the list of extension keys.
  *
  * @param array $params
  *   API request params with 'key' or 'keys'.
- * @return array of extension keys
+ *
+ * @return array
+ *   Array of extension keys
  * @throws API_Exception
  */
 function _civicrm_api3_getKeys($params) {