/** * get posts accessible to member by user id * * @param int user id * @return posts * @verb GET * @action all * @url <site>/mgmapi/members/posts.<format> */ public function posts($id) { global $wpdb; // int $id = (int) $id; // posts $posts = array(); $total_rows = 0; // get member if ($member = mgm_get_member($id)) { // get all subscribed membership types $membership_types = mgm_get_subscribed_membershiptypes($id, $member); // accessible posts $accessible = mgm_get_membership_contents($membership_types, 'accessible', $id); // purchased posts $purchased = mgm_get_purchased_posts($id); // purchasable posts $purchasable = mgm_get_membership_contents($membership_types, 'purchasable', $id); // total rows $total_rows = $accessible['total_posts'] + $purchased['total_posts'] + $purchasable['total_posts']; // posts $posts = array('accessible' => array('contents' => $this->_clean_content($accessible['posts'])), 'purchased' => array('contents' => $this->_clean_content($purchased['posts'])), 'purchasable' => array('contents' => $this->_clean_content($purchasable['posts']))); } // response $response = array('status' => 'success', 'message' => sprintf(__('Get posts accessible to member by member id#%d response', 'mgm'), $id), 'data' => array('total_rows' => $total_rows, 'posts' => $posts)); // return return array($response, 200); }
/** * get accessible posts by membership type and post type * * @param none * @return posts * @verb GET * @action list * @url <site>/mgmapi/membership_types/:membership_type/posts/:post_type.<format> * @since 1.0 */ public function posts_get($membership_type, $post_type) { // status $status = 'success'; $data = array('membership_type' => $membership_type, 'post_type' => $post_type); // message $message = __('Get posts by membership type response', 'mgm'); // get $membership_contents = mgm_get_membership_contents($membership_type, 'accessible', NULL, $post_type); // set data $data = array_merge($data, array_slice($membership_contents, 0, 2)); // response $response = array('status' => $status, 'message' => $message, 'data' => $data); // return return array($response, 200); }
/** * membership accessible/purchasable posts * * @since 2.0 * @deprecated 2.6.0 * @deprecated Use mgm_get_membership_contents() * @see mgm_get_membership_contents() * * @param array|string $membership_types * @param string $type ( accessible|purchasable) * @param int $user_id * @return array */ function mgm_get_membership_posts($membership_types, $type = 'accessible', $user_id = NULL) { // deprecated _deprecated_function(__FUNCTION__, '2.6.0', 'mgm_get_membership_contents()'); // return return mgm_get_membership_contents($membership_types, $type, $user_id); }