/** 
  * get subscription packages	
  *
  * @param int optional subscription id
  * @return subscription packages 
  * @verb GET
  * @action list 	
  * @url <site>/mgmapi/subscription_packages.<format>
  * @url <site>/mgmapi/subscription_packages/:id.<format>
  * @since 1.0
  */
 public function members_get($id = NULL)
 {
     global $wpdb;
     // init
     $subscription_packages = array();
     $total_rows = 0;
     $status = 'success';
     // loop
     if ($packs = mgm_get_all_subscription_package()) {
         // loop
         foreach ($packs as $pack) {
             // id flter
             if ($id) {
                 if ($id != $pack['id']) {
                     continue;
                 }
             }
             // membership type
             $membership_type = $pack['membership_type'];
             // description
             $description = mgm_stripslashes_deep($pack['description']);
             $members = mgm_get_members_with('membership_type', $pack['membership_type'], array('pack_id' => $pack['id']), 'count');
             // set
             $subscription_packages[] = array('id' => $pack['id'], 'membership_type' => $membership_type, 'description' => $description, 'members' => $members);
         }
         // total
         $total_rows = count($subscription_packages);
     }
     // base
     $data = array('total_rows' => $total_rows);
     // data
     if ((int) $id > 0) {
         // message
         $message = sprintf(__('Get members of subscription package by id#%d response', 'mgm'), $id);
         // data
         if ($total_rows > 0) {
             $data = $data + array('subscription_packages' => array_shift($subscription_packages));
         }
     } else {
         // message
         $message = sprintf(__('Get members of subscription packages response - %d subscription package(s) found', 'mgm'), $total_rows);
         // data
         if ($total_rows > 0) {
             $data = $data + array('subscription_packages' => $subscription_packages);
         }
     }
     // response
     $response = array('status' => 'success', 'message' => $message, 'data' => $data);
     // return
     return array($response, 200);
 }
/**
 * Magic Members get subscription package
 *
 * @package MagicMembers
 * @since 2.6.0
 * @param none
 * @return array subscription package
 */
function mgm_get_default_subscription_package()
{
    // init
    $_pack = array();
    // get all packs
    $packs = mgm_get_all_subscription_package();
    // check
    if ($packs) {
        // loop
        foreach ($packs as $pack) {
            // match
            if (isset($pack['default_assign']) && (bool) $pack['default_assign'] == true) {
                $_pack = $pack;
                break;
            }
        }
    }
    // return
    return $_pack;
}