/** * Update an existing membership type * * This api is used for updating an existing membership type. * Required parrmeters : id of a membership type * * @param Array $params an associative array of name/value property values of civicrm_membership_type * * @return array of updated membership type property values * @access public */ function &civicrm_membership_type_update(&$params) { if (!is_array($params)) { return civicrm_create_error('Params need to be of type array!'); } if (empty($params)) { return civicrm_create_error('No input parameters present'); } if (!isset($params['id'])) { return civicrm_create_error('Required parameter missing'); } require_once 'CRM/Member/BAO/MembershipType.php'; $membershipTypeBAO = new CRM_Member_BAO_MembershipType(); $membershipTypeBAO->id = $params['id']; if ($membershipTypeBAO->find(true)) { $fields = $membershipTypeBAO->fields(); foreach ($fields as $name => $field) { if (array_key_exists($field['name'], $params)) { $membershipTypeBAO->{$field}['name'] = $params[$field['name']]; } } $membershipTypeBAO->save(); } $membershipType = array(); _civicrm_object_to_array($membershipTypeBAO, $membershipType); $membershipTypeBAO->free(); return $membershipType; }