/** * Update an existing membership status * * This api is used for updating an existing membership status. * Required parrmeters : id of a membership status * * @param Array $params an associative array of name/value property values of civicrm_membership_status * @deprecated - should just use create * * @return array of updated membership status property values * @access public */ function &civicrm_api3_membership_status_update($params) { civicrm_api3_verify_mandatory($params, NULL, array('id')); //don't allow duplicate names. $name = CRM_Utils_Array::value('name', $params); if ($name) { require_once 'CRM/Member/DAO/MembershipStatus.php'; $status = new CRM_Member_DAO_MembershipStatus(); $status->name = $params['name']; if ($status->find(TRUE) && $status->id != $params['id']) { return civicrm_api3_create_error(ts('A membership status with this name already exists.')); } } require_once 'CRM/Member/BAO/MembershipStatus.php'; $membershipStatusBAO = new CRM_Member_BAO_MembershipStatus(); $membershipStatusBAO->id = $params['id']; if ($membershipStatusBAO->find(TRUE)) { $fields = $membershipStatusBAO->fields(); foreach ($fields as $name => $field) { if (array_key_exists($name, $params)) { $membershipStatusBAO->{$name} = $params[$name]; } } $membershipStatusBAO->save(); } $membershipStatus = array(); _civicrm_api3_object_to_array(clone $membershipStatusBAO, $membershipStatus); $membershipStatus['is_error'] = 0; return $membershipStatus; }
/** * Update an existing membership status * * This api is used for updating an existing membership status. * Required parrmeters : id of a membership status * * @param Array $params an associative array of name/value property values of civicrm_membership_status * * @return array of updated membership status property values * @access public */ function &civicrm_membership_status_update(&$params) { _civicrm_initialize(); if (!is_array($params)) { return civicrm_create_error('Params is not an array'); } if (!isset($params['id'])) { return civicrm_create_error('Required parameter missing'); } //don't allow duplicate names. $name = CRM_Utils_Array::value('name', $params); if ($name) { require_once 'CRM/Member/DAO/MembershipStatus.php'; $status = new CRM_Member_DAO_MembershipStatus(); $status->name = $params['name']; if ($status->find(TRUE) && $status->id != $params['id']) { return civicrm_create_error(ts('A membership status with this name already exists.')); } } require_once 'CRM/Member/BAO/MembershipStatus.php'; $membershipStatusBAO = new CRM_Member_BAO_MembershipStatus(); $membershipStatusBAO->id = $params['id']; if ($membershipStatusBAO->find(TRUE)) { $fields = $membershipStatusBAO->fields(); foreach ($fields as $name => $field) { if (array_key_exists($name, $params)) { $membershipStatusBAO->{$name} = $params[$name]; } } $membershipStatusBAO->save(); } $membershipStatus = array(); _civicrm_object_to_array(clone $membershipStatusBAO, $membershipStatus); $membershipStatus['is_error'] = 0; return $membershipStatus; }