/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
*
* This API is used for creating a Event
*
- * @param array $params input parameters
+ * @param array $params
+ * Input parameters.
* Allowed @params array keys are:
* {@getfields event_create}
*
$copy = CRM_Event_BAO_Event::copy($params['template_id']);
$params['id'] = $copy->id;
unset($params['template_id']);
- if (empty($params['is_template'])) {
- $params['is_template'] = 0;
- }
}
_civicrm_api3_event_create_legacy_support_42($params);
-
- //format custom fields so they can be added
- $values = array();
- _civicrm_api3_custom_format_params($params, $values, 'Event');
- $params = array_merge($values, $params);
-
- $eventBAO = CRM_Event_BAO_Event::create($params);
- $event = array();
- _civicrm_api3_object_to_array($eventBAO, $event[$eventBAO->id]);
- return civicrm_api3_create_success($event, $params);
+ return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Event');
}
/**
* Adjust Metadata for Create action
*
* The metadata is used for setting defaults, documentation & validation
- * @param array $params array or parameters determined by getfields
+ * @param array $params
+ * Array or parameters determined by getfields.
*/
function _civicrm_api3_event_create_spec(&$params) {
$params['start_date']['api.required'] = 1;
$params['title']['api.required'] = 1;
$params['is_active']['api.default'] = 1;
$params['financial_type_id']['api.aliases'] = array('contribution_type_id');
+ $params['is_template']['api.default'] = 0;
}
/**
* the core code or schema - this means we have to provide support for api calls (where possible)
* across schema changes.
*/
-function _civicrm_api3_event_create_legacy_support_42(&$params){
- if(!empty($params['payment_processor_id'])){
+function _civicrm_api3_event_create_legacy_support_42(&$params) {
+ if (!empty($params['payment_processor_id'])) {
$params['payment_processor'] = CRM_Core_DAO::VALUE_SEPARATOR . $params['payment_processor_id'] . CRM_Core_DAO::VALUE_SEPARATOR;
}
}
* Get Event record.
*
*
- * @param array $params an associative array of name/value property values of civicrm_event
+ * @param array $params
+ * An associative array of name/value property values of civicrm_event.
* {@getfields event_get}
*
- * @return Array of all found event property values.
+ * @return Array of all found event property values.
* @access public
*
*/
$eventDAO = new CRM_Event_BAO_Event();
_civicrm_api3_dao_set_filter($eventDAO, $params, TRUE, 'Event');
- if (!empty($params['is_template'])) {
- $eventDAO->whereAdd( '( is_template = 1 )' );
- }
- elseif(empty($eventDAO->id)){
- $eventDAO->whereAdd('( is_template IS NULL ) OR ( is_template = 0 )');
- }
-
if (!empty($params['isCurrent'])) {
$eventDAO->whereAdd('(start_date >= CURDATE() || end_date >= CURDATE())');
}
// the return.is_full to deal with.
// NB the std dao_to_array function should only return custom if required.
$event = array();
+ $options = _civicrm_api3_get_options_from_params($params);
+
$eventDAO->find();
while ($eventDAO->fetch()) {
$event[$eventDAO->id] = array();
}
_civicrm_api3_event_get_legacy_support_42($event, $eventDAO->id);
_civicrm_api3_custom_data_get($event[$eventDAO->id], 'Event', $eventDAO->id, NULL, $eventDAO->event_type_id);
+ if (!empty($options['return'])) {
+ $event[$eventDAO->id]['price_set_id'] = CRM_Price_BAO_PriceSet::getFor('civicrm_event', $eventDAO->id);
+ }
}
- //end of the loop
return civicrm_api3_create_success($event, $params, 'event', 'get', $eventDAO);
}
* Adjust Metadata for Get action
*
* The metadata is used for setting defaults, documentation & validation
- * @param array $params array or parameters determined by getfields
+ * @param array $params
+ * Array or parameters determined by getfields.
*/
function _civicrm_api3_event_get_spec(&$params) {
$params['financial_type_id']['api.aliases'] = array('contribution_type_id');
* the core code or schema - this means we have to provide support for api calls (where possible)
* across schema changes.
*/
-function _civicrm_api3_event_get_legacy_support_42(&$event, $event_id){
- if(!empty($event[$event_id]['payment_processor'])){
- $processors = explode(CRM_Core_DAO::VALUE_SEPARATOR,$event[$event_id]['payment_processor']);
- if(count($processors) == 3 ){
+function _civicrm_api3_event_get_legacy_support_42(&$event, $event_id) {
+ if (!empty($event[$event_id]['payment_processor'])) {
+ $processors = explode(CRM_Core_DAO::VALUE_SEPARATOR, $event[$event_id]['payment_processor']);
+ if (count($processors) == 3) {
$event[$event_id]['payment_processor_id'] = $processors[1];
}
}
*
* This API is used for deleting a event
*
- * @param Array $params array containing event_id to be deleted
+ * @param array $paramsArray containing event_id to be deleted.
+ * Array containing event_id to be deleted.
*
* @return boolean true if success, error otherwise
* @access public
/*
/**
- * Function to add 'is_full' & 'available_seats' to the return array. (this might be better in the BAO)
+ * add 'is_full' & 'available_seats' to the return array. (this might be better in the BAO)
* Default BAO function returns a string if full rather than a Bool - which is more appropriate to a form
*
- * @param array $event return array of the event
- * @param int $event_id Id of the event to be updated
+ * @param array $event
+ * Return array of the event.
+ * @param int $event_id
+ * Id of the event to be updated.
*
*/
/**
* @param $event
- * @param $event_id
+ * @param int $event_id
*/
function _civicrm_api3_event_getisfull(&$event, $event_id) {
$eventFullResult = CRM_Event_BAO_Participant::eventFull($event_id, 1);
/**
- * @see _civicrm_api3_generic_getlist_params.
+ * @see _civicrm_api3_generic_getlist_params
*
- * @param $request array
+ * @param $request
+ * Array.
*/
function _civicrm_api3_event_getlist_params(&$request) {
$fieldsToReturn = array('start_date', 'event_type_id', 'title', 'summary');
/**
* @see _civicrm_api3_generic_getlist_output
*
- * @param $result array
- * @param $request array
+ * @param $result
+ * Array.
+ * @param $request
+ * Array.
*
* @return array
*/