* pairs
*
* @param array $params (reference) an assoc array of name/value pairs
- * @param array $ids (reference) the array that holds all the db ids
+ * @param array $ids (optional) the array that holds all the db ids - we are moving away from this in bao
+ * signatures
*
* @return object CRM_Core_DAO_Tag object on success, otherwise null
* @access public
* @static
*/
- static function add(&$params, &$ids) {
+ static function add(&$params, $ids = array()) {
if (!self::dataExists($params)) {
return NULL;
}
}
$tag->copyValues($params);
- $tag->id = CRM_Utils_Array::value('tag', $ids);
-
- $edit = ($tag->id) ? TRUE : FALSE;
- if ($edit) {
- CRM_Utils_Hook::pre('edit', 'Tag', $tag->id, $tag);
- }
- else {
- CRM_Utils_Hook::pre('create', 'Tag', NULL, $tag);
- }
+ $tag->id = CRM_Utils_Array::value('id', $params, CRM_Utils_Array::value('tag', $ids));
+ $hook = empty($params['id']) ? 'create' : 'edit';
+ CRM_Utils_Hook::pre($hook, 'Tag', $tag->id, $params);
// save creator id and time
if (!$tag->id) {
}
$tag->save();
-
- if ($edit) {
- CRM_Utils_Hook::post('edit', 'Tag', $tag->id, $tag);
- }
- else {
- CRM_Utils_Hook::post('create', 'Tag', NULL, $tag);
- }
+ CRM_Utils_Hook::post($hook, 'Tag', $tag->id, $tag);
// if we modify parent tag, then we need to update all children
if ($tag->parent_id === 'null') {
<?php
-
/*
+--------------------------------------------------------------------+
| CiviCRM version 4.3 |
* @access public
*/
function civicrm_api3_tag_create($params) {
-
- $ids = array('tag' => CRM_Utils_Array::value('tag', $params));
- if (CRM_Utils_Array::value('tag', $params)) {
- $ids['tag'] = $params['tag'];
- }
- if (CRM_Utils_Array::value('id', $params)) {
- $ids['tag'] = $params['id'];
- }
- $tagBAO = CRM_Core_BAO_Tag::add($params, $ids);
-
- $values = array();
- _civicrm_api3_object_to_array($tagBAO, $values[$tagBAO->id]);
- return civicrm_api3_create_success($values, $params, 'tag', 'create', $tagBAO);
- }
+ return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+}
/**
* Specify Meta data for create. Note that this data is retrievable via the getfields function