/** * Get a Membership Type. * * This api is used for finding an existing membership type. * * @param array $params an associative array of name/value property values of civicrm_membership_type * * @return Array of all found membership type property values. * @access public */ function civicrm_membership_type_get(&$params) { _civicrm_initialize(); 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'); } require_once 'CRM/Member/BAO/MembershipType.php'; $membershipTypeBAO = new CRM_Member_BAO_MembershipType(); $properties = array_keys($membershipTypeBAO->fields()); foreach ($properties as $name) { if (array_key_exists($name, $params)) { $membershipTypeBAO->{$name} = $params[$name]; } } if ($membershipTypeBAO->find()) { $membershipType = array(); while ($membershipTypeBAO->fetch()) { _civicrm_object_to_array(clone $membershipTypeBAO, $membershipType); $membershipTypes[$membershipTypeBAO->id] = $membershipType; } } else { return civicrm_create_error('Exact match not found'); } return $membershipTypes; }
/** * Get a Membership Type. * * This api is used for finding an existing membership type. * Required parameters : id of membership type * * @param array $params an associative array of name/value property values of civicrm_membership_type * * @return Array of all found membership type property values. * @access public */ function crm_get_membership_types($params) { _crm_initialize(); if (!is_array($params)) { return _crm_error('Params is not an array.'); } if (!isset($params['id'])) { return _crm_error('Required parameters missing.'); } require_once 'CRM/Member/BAO/MembershipType.php'; $membershipTypeBAO = new CRM_Member_BAO_MembershipType(); $properties = array_keys($membershipTypeBAO->fields()); foreach ($properties as $name) { if (array_key_exists($name, $params)) { $membershipTypeBAO->{$name} = $params[$name]; } } if ($membershipTypeBAO->find()) { $membershipType = array(); while ($membershipTypeBAO->fetch()) { _crm_object_to_array(clone $membershipTypeBAO, $membershipType); $membershipTypes[$membershipTypeBAO->id] = $membershipType; } } else { return _crm_error('Exact match not found'); } return $membershipTypes; }
/** * 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; }