function membership_types_list()
 {
     // data
     $data = array();
     // get obj
     // $data['mgm_membership_types'] = mgm_get_class('membership_types');
     // set
     $data['membership_types'] = mgm_get_all_membership_type();
     // init
     $data['membership_types_combo'] = array();
     // types
     foreach ($data['membership_types'] as $membership_type) {
         $data['membership_types_combo'][$membership_type['code']] = mgm_stripslashes_deep($membership_type['name']);
     }
     // load template view
     $this->load->template('members/membership/types_list', array('data' => $data));
 }
 /** 
  * get members by membership type
  *
  * @param none
  * @return members
  * @verb GET
  * @action list 	
  * @url <site>/mgmapi/membership_types/:membership_type/members.<format>
  * @since 1.0
  */
 public function members_get($code = NULL)
 {
     // init
     $status = 'success';
     $total_rows = 0;
     $membership_types = array();
     // loop
     if ($types = mgm_get_all_membership_type()) {
         // loop
         foreach ($types as $type) {
             // code check
             if ($code) {
                 if ($code != $type['code']) {
                     continue;
                 }
             }
             // name
             $name = mgm_stripslashes_deep($type['name']);
             $members = mgm_get_members_with('membership_type', $type['code'], NULL, 'count');
             // set
             $membership_types[] = array('code' => $type['code'], 'name' => $name, 'members' => $members);
         }
         // total
         $total_rows = count($membership_types);
     }
     // base
     $data = array('total_rows' => $total_rows);
     // data
     if (!empty($code)) {
         // message
         $message = sprintf(__('Get members by membership type - %s response', 'mgm'), $code, count($membership_types));
         // data
         if ($total_rows > 0) {
             $data = $data + array('membership_type' => array_shift($membership_types));
         }
     } else {
         // message
         $message = sprintf(__('Get members by membership types response - %d membership type(s) found', 'mgm'), $total_rows);
         // data
         if ($total_rows > 0) {
             $data = $data + array('membership_types' => $membership_types);
         }
     }
     // response
     $response = array('status' => $status, 'message' => $message, 'data' => $data);
     // return
     return array($response, 200);
 }
/**
 * Magic Members get all membership type for combo
 *
 * @package MagicMembers
 * @since 2.6.0
 * @param string none
 * @return array subscription packages
 */
function mgm_get_all_membership_type_combo($skip = array())
{
    // object
    $membership_types = mgm_get_all_membership_type();
    // combo
    $combo = array();
    // loop
    if ($membership_types) {
        // loop
        foreach ($membership_types as $membership_type) {
            // skip
            if (in_array($membership_type['code'], $skip)) {
                continue;
            }
            // set
            $combo[$membership_type['code']] = $membership_type['name'];
        }
    }
    // return
    return $combo;
}