+--------------------------------------------------------------------+
| CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
*/
/**
+ * This api is a simple wrapper of the CiviCRM file DAO.
*
- * Definition of the Tag of the CRM API.
- * More detailed documentation can be found
- * {@link http://objectledge.org/confluence/display/CRM/CRM+v1.0+Public+APIs
- * here}
+ * Creating and updating files is a complex process and this api is usually insufficient.
+ * Use the "Attachment" api instead for more robust file handling.
*
+ * @fixme no unit tests
* @package CiviCRM_APIv3
- * @subpackage API_File
- * @copyright CiviCRM LLC (c) 2004-2014
- * $Id: $
- *
*/
/**
- * Create a file
- *
- * This API is used for creating a file
+ * Create a file record.
+ * @note This is only one of several steps needed to create a file in CiviCRM.
+ * Use the "Attachment" api to better handle all steps.
*
* @param array $params
- * An associative array of name/value property values of civicrm_file.
+ * Array per getfields metadata.
*
* @return array
- * Array of newly created file property values.
- * @access public
*/
function civicrm_api3_file_create($params) {
}
$fileDAO = new CRM_Core_DAO_File();
- $properties = array('id', 'file_type_id', 'mime_type', 'uri', 'document', 'description', 'upload_date');
+ $properties = array(
+ 'id',
+ 'file_type_id',
+ 'mime_type',
+ 'uri',
+ 'document',
+ 'description',
+ 'upload_date',
+ );
foreach ($properties as $name) {
if (array_key_exists($name, $params)) {
$file = array();
_civicrm_api3_object_to_array($fileDAO, $file);
- return civicrm_api3_create_success($file, $params, 'file', 'create', $fileDAO);
+ return civicrm_api3_create_success($file, $params, 'File', 'create', $fileDAO);
}
/**
- * Get a file.
- *
- * This api is used for finding an existing file.
- * Required parameters : id OR file_type_id of a file
+ * Get a File.
*
* @param array $params
- * An associative array of name/value property values of civicrm_file.
+ * Array per getfields metadata.
*
* @return array
* Array of all found file object property values.
- * @access public
*/
function civicrm_api3_file_get($params) {
civicrm_api3_verify_one_mandatory($params);
}
/**
- * Update an existing file
- *
- * This api is used for updating an existing file.
- * Required parameters : id of a file
+ * Update an existing File.
*
- * @param array $paramsAn array of name/value property values of civicrm_file.
- * An array of name/value property values of civicrm_file.
+ * @param array $params
+ * Array per getfields metadata.
*
* @return array
- * Array of updated file object property values
- * @access public
*/
function civicrm_api3_file_update($params) {
}
/**
- * Deletes an existing file
- *
- * This API is used for deleting a file
- * Required parameters : id of a file
+ * Delete an existing File.
*
* @param array $params
+ * Array per getfields metadata.
*
* @return array
- * API result array
- * @access public
+ * API Result Array
*/
function civicrm_api3_file_delete($params) {
civicrm_api3_verify_mandatory($params, NULL, array('id'));
-
- $check = FALSE;
-
- $entityFileDAO = new CRM_Core_DAO_EntityFile();
- $entityFileDAO->file_id = $params['id'];
- if ($entityFileDAO->find()) {
- $check = $entityFileDAO->delete();
+ if (CRM_Core_BAO_File::deleteEntityFile('*', $params['id'])) {
+ return civicrm_api3_create_success();
}
-
- $fileDAO = new CRM_Core_DAO_File();
- $fileDAO->id = $params['id'];
- if ($fileDAO->find(TRUE)) {
- $check = $fileDAO->delete();
+ else {
+ throw new API_Exception('Error while deleting a file.');
}
-
- return $check ? NULL : civicrm_api3_create_error('Error while deleting a file.');
}