function handle_members_panel() { global $action, $page; wp_reset_vars(array('action', 'page')); require_once 'class.membersearch.php'; // bulk actions if (isset($_GET['doaction'])) { $action = $_GET['action']; } elseif (isset($_GET['doaction2'])) { $action = $_GET['action2']; } switch (addslashes($action)) { case 'addlevel': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; $this->handle_member_level_op('add', $member_id); return; } break; case 'movelevel': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; check_admin_referer('movelevel-member-' . $member_id); $this->handle_member_level_op('move', $member_id); return; } break; case 'droplevel': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; check_admin_referer('droplevel-member-' . $member_id); $this->handle_member_level_op('drop', $member_id); return; } break; case 'bulkaddlevel': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_level_op('add', $_GET['users']); return; } break; case 'bulkmovelevel': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_level_op('move', $_GET['users']); return; } break; case 'bulkdroplevel': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_level_op('drop', $_GET['users']); return; } break; case 'addsub': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; $this->handle_member_subscription_op('add', $member_id); return; } break; case 'movesub': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; check_admin_referer('movesub-member-' . $member_id); $this->handle_member_subscription_op('move', $member_id); return; } break; case 'dropsub': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; check_admin_referer('dropsub-member-' . $member_id); $this->handle_member_subscription_op('drop', $member_id); return; } break; case 'bulkaddsub': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_subscription_op('add', $_GET['users']); return; } break; case 'bulkmovesub': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_subscription_op('move', $_GET['users']); return; } break; case 'bulkdropsub': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_subscription_op('drop', $_GET['users']); return; } break; case 'bulkmovegateway': if (isset($_GET['users'])) { check_admin_referer('bulk-members'); $this->handle_member_gateway_op('move', $_GET['users']); return; } break; case 'movegateway': if (isset($_GET['member_id'])) { $member_id = (int) $_GET['member_id']; check_admin_referer('movegateway-member-' . $member_id); $this->handle_member_gateway_op('move', $member_id); return; } break; case 'edit': if (isset($_GET['level_id'])) { $level_id = (int) $_GET['level_id']; $this->handle_level_edit_form($level_id); return; // So we don't see the rest of this page } break; } $filter = array(); if (isset($_GET['s'])) { $s = stripslashes($_GET['s']); $filter['s'] = $s; } else { $s = ''; } $sub_id = null; $level_id = null; if (isset($_GET['doactionsub'])) { if (addslashes($_GET['sub_op']) != '') { $sub_id = addslashes($_GET['sub_op']); } } if (isset($_GET['doactionsub2'])) { if (addslashes($_GET['sub_op2']) != '') { $sub_id = addslashes($_GET['sub_op2']); } } if (isset($_GET['doactionlevel'])) { if (addslashes($_GET['level_op']) != '') { $level_id = addslashes($_GET['level_op']); } } if (isset($_GET['doactionlevel2'])) { if (addslashes($_GET['level_op2']) != '') { $level_id = addslashes($_GET['level_op2']); } } if (isset($_GET['doactionactive'])) { if (addslashes($_GET['active_op']) != '') { $active_op = addslashes($_GET['active_op']); } } if (isset($_GET['doactionactive2'])) { if (addslashes($_GET['active_op2']) != '') { $active_op = addslashes($_GET['active_op2']); } } $usersearch = isset($_GET['s']) ? $_GET['s'] : null; $userspage = isset($_GET['userspage']) ? $_GET['userspage'] : null; $role = null; if (empty($active_op)) { $active_op = ''; } // Query the users $wp_user_search = new M_Member_Search($usersearch, $userspage, $sub_id, $level_id, $active_op); $messages = array(); $messages[1] = __('Member added.', 'membership'); $messages[2] = __('Member deleted.', 'membership'); $messages[3] = __('Member updated.', 'membership'); $messages[4] = __('Member not added.', 'membership'); $messages[5] = __('Member not updated.', 'membership'); $messages[6] = __('Member not deleted.', 'membership'); $messages[7] = __('Member activation toggled.', 'membership'); $messages[8] = __('Member activation not toggled.', 'membership'); $messages[9] = __('Members updated.', 'membership'); ?> <div class='wrap nosubsub'> <div class="icon32" id="icon-users"><br></div> <h2><?php _e('Edit Members', 'membership'); ?> </h2> <?php if (isset($_GET['msg'])) { echo '<div id="message" class="updated fade"><p>' . $messages[(int) $_GET['msg']] . '</p></div>'; $_SERVER['REQUEST_URI'] = remove_query_arg(array('msg'), $_SERVER['REQUEST_URI']); } if ($this->show_user_help($page)) { ?> <div class='screenhelpheader'> <a href="admin.php?page=<?php echo $page; ?> &action=removeheader" class="welcome-panel-close"><?php _e('Dismiss', 'membership'); ?> </a> <?php ob_start(); include_once membership_dir('membershipincludes/help/header.members.php'); echo ob_get_clean(); ?> </div> <?php } ?> <form method="get" action="?page=<?php echo esc_attr($page); ?> " class="search-form"> <p class="search-box"> <input type='hidden' name='page' value='<?php echo esc_attr($page); ?> ' /> <label for="membership-search-input" class="screen-reader-text"><?php _e('Search Members', 'membership'); ?> :</label> <input type="text" value="<?php echo esc_attr($s); ?> " name="s" id="membership-search-input"> <input type="submit" class="button" value="<?php _e('Search Members', 'membership'); ?> "> </p> </form> <br class='clear' /> <form method="get" action="?page=<?php echo esc_attr($page); ?> " id="members-filter"> <input type='hidden' name='page' value='<?php echo esc_attr($page); ?> ' /> <div class="tablenav"> <?php if ($wp_user_search->results_are_paged()) { ?> <div class="tablenav-pages"><?php $wp_user_search->page_links(); ?> </div> <?php } ?> <div class="alignleft actions"> <select name="action"> <option selected="selected" value=""><?php _e('Bulk Actions', 'membership'); ?> </option> <option value="toggle"><?php _e('Toggle activation', 'membership'); ?> </option> <optgroup label="<?php _e('Subscriptions', 'membership'); ?> "> <option value="bulkaddsub"><?php _e('Add subscription', 'membership'); ?> </option> <option value="bulkmovesub"><?php _e('Move subscription', 'membership'); ?> </option> <option value="bulkdropsub"><?php _e('Drop subscription', 'membership'); ?> </option> </optgroup> <optgroup label="<?php _e('Levels', 'membership'); ?> "> <option value="bulkaddlevel"><?php _e('Add level', 'membership'); ?> </option> <option value="bulkmovelevel"><?php _e('Move level', 'membership'); ?> </option> <option value="bulkdroplevel"><?php _e('Drop level', 'membership'); ?> </option> </optgroup> <optgroup label="<?php _e('Gateways', 'membership'); ?> "> <option value="bulkmovegateway"><?php _e('Move gateway', 'membership'); ?> </option> </optgroup> </select> <input type="submit" class="button-secondary action" id="doaction" name="doaction" value="<?php _e('Apply', 'membership'); ?> " /> <select name="sub_op" style='float:none;'> <option value=""><?php _e('Filter by subscription', 'membership'); ?> </option> <?php $subs = $this->get_subscriptions(); if ($subs) { foreach ($subs as $key => $sub) { ?> <option value="<?php echo $sub->id; ?> " <?php if (isset($_GET['sub_op']) && $_GET['sub_op'] == $sub->id) { echo 'selected="selected"'; } ?> ><?php echo esc_html($sub->sub_name); ?> </option> <?php } } ?> </select> <input type="submit" class="button-secondary action" id="doactionsub" name="doactionsub" value="<?php _e('Filter', 'membership'); ?> "> <select name="level_op" style='float:none;'> <option value=""><?php _e('Filter by level', 'membership'); ?> </option> <?php $levels = $this->get_membership_levels(); if ($levels) { foreach ($levels as $key => $level) { ?> <option value="<?php echo $level->id; ?> " <?php if (isset($_GET['level_op']) && $_GET['level_op'] == $level->id) { echo 'selected="selected"'; } ?> ><?php echo esc_html($level->level_title); ?> </option> <?php } } ?> </select> <input type="submit" class="button-secondary action" id="doactionlevel" name="doactionlevel" value="<?php _e('Filter', 'membership'); ?> "> <select name="active_op" style='float:none;'> <option value=""><?php _e('Filter by status', 'membership'); ?> </option> <option value="yes" <?php if (isset($_GET['active_op']) && $_GET['active_op'] == 'yes') { echo 'selected="selected"'; } ?> ><?php _e('Active', 'membership'); ?> </option> <option value="no" <?php if (isset($_GET['active_op']) && $_GET['active_op'] == 'no') { echo 'selected="selected"'; } ?> ><?php _e('Inactive', 'membership'); ?> </option> </select> <input type="submit" class="button-secondary action" id="doactionactive" name="doactionactive" value="<?php _e('Filter', 'membership'); ?> "> </div> <div class="alignright actions"> <!-- <input type="button" class="button-secondary addnewlevelbutton" value="<?php _e('Add New', 'membership'); ?> " name="addnewlevel"> --> </div> <br class="clear"> </div> <?php if (is_wp_error($wp_user_search->search_errors)) { ?> <div class="error"> <ul> <?php foreach ($wp_user_search->search_errors->get_error_messages() as $message) { echo "<li>{$message}</li>"; } ?> </ul> </div> <?php } ?> <?php if ($wp_user_search->is_search()) { ?> <p><a href="?page=<?php echo $page; ?> "><?php _e('← Back to All Users', 'membership'); ?> </a></p> <?php } ?> <div class="clear"></div> <?php wp_nonce_field('bulk-members'); $columns = array("username" => __('Username', 'membership'), "name" => __('Name', 'membership'), "email" => __('E-mail', 'membership'), "active" => __('Active', 'membership'), "sub" => __('Subscription', 'membership'), "level" => __('Membership Level', 'membership'), "expires" => __('Level Expires', 'membership'), "gateway" => __('Gateway', 'membership')); $columns = apply_filters('members_columns', $columns); //$levels = $this->get_membership_levels($filter); ?> <table cellspacing="0" class="widefat fixed"> <thead> <tr> <th style="" class="manage-column column-cb check-column" id="cb" scope="col"><input type="checkbox"></th> <?php foreach ($columns as $key => $col) { ?> <th style="" class="manage-column column-<?php echo $key; ?> " id="<?php echo $key; ?> " scope="col"><?php echo $col; ?> </th> <?php } ?> </tr> </thead> <tfoot> <tr> <th style="" class="manage-column column-cb check-column" scope="col"><input type="checkbox"></th> <?php reset($columns); foreach ($columns as $key => $col) { ?> <th style="" class="manage-column column-<?php echo $key; ?> " id="<?php echo $key; ?> " scope="col"><?php echo $col; ?> </th> <?php } ?> </tr> </tfoot> <tbody> <?php $style = ''; foreach ($wp_user_search->get_results() as $userid) { $user_object = new M_Membership($userid); $roles = $user_object->roles; $role = array_shift($roles); $style = ' class="alternate"' == $style ? '' : ' class="alternate"'; ?> <tr id='user-<?php echo $user_object->ID; ?> ' <?php echo $style; ?> > <th scope='row' class='check-column'> <input type='checkbox' name='users[]' id='user_<?php echo $user_object->ID; ?> ' class='$role' value='<?php echo $user_object->ID; ?> ' /> </th> <td <?php echo $style; ?> > <strong><a href='<?php echo admin_url('user-edit.php?user_id=' . $user_object->ID); ?> ' title='User ID: <?php echo $user_object->ID; ?> '><?php echo $user_object->user_login; ?> </a></strong> <?php $actions = array(); //$actions['id'] = "<strong>" . __('ID : ', 'membership') . $user_object->ID . "</strong>"; $actions['edit'] = "<span class='edit'><a href='" . admin_url('user-edit.php?user_id=' . $user_object->ID) . "'>" . __('Edit', 'membership') . "</a></span>"; if ($user_object->active_member()) { $actions['activate'] = "<span class='edit deactivate'><a href='" . wp_nonce_url("?page=" . $page . "&action=toggle&member_id=" . $user_object->ID . "", 'toggle-member_' . $user_object->ID) . "'>" . __('Deactivate', 'membership') . "</a></span>"; } else { $actions['activate'] = "<span class='edit activate'><a href='" . wp_nonce_url("?page=" . $page . "&action=toggle&member_id=" . $user_object->ID . "", 'toggle-member_' . $user_object->ID) . "'>" . __('Activate', 'membership') . "</a></span>"; } //$actions['history'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page. "&action=history&member_id=" . $user_object->ID . "", 'history-member_' . $user_object->ID) . "'>" . __('History', 'membership') . "</a></span>"; ?> <div class="row-actions"><?php echo implode(" | ", $actions); ?> </div> </td> <td <?php echo $style; ?> ><?php echo $user_object->first_name . " " . $user_object->last_name; ?> </td> <td <?php echo $style; ?> ><a href='mailto:<?php echo $user_object->user_email; ?> ' title='<?php echo sprintf(__('e-mail: %s', 'membership'), $user_object->user_email); ?> '><?php echo $user_object->user_email; ?> </a></td> <td <?php echo $style; ?> > <?php if ($user_object->active_member()) { echo "<span class='membershipactivestatus'>" . __('Active', 'membership') . "</span>"; } else { echo "<span class='membershipinactivestatus'>" . __('Inactive', 'membership') . "</span>"; } ?> </td> <td <?php echo $style; ?> > <?php $subs = $user_object->get_subscription_ids(); if (!empty($subs)) { $rows = array(); foreach ((array) $subs as $key) { $sub = new M_Subscription($key); if (!empty($sub)) { $rows[] = $sub->sub_name(); } } echo implode(", ", $rows); } $actions = array(); if (!$user_object->has_cap('membershipadmin')) { $actions['add'] = "<span class='edit'><a href='?page={$page}&action=addsub&member_id={$user_object->ID}'>" . __('Add', 'membership') . "</a></span>"; } if (!empty($subs)) { if (count($subs) == 1) { $actions['move'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page . "&action=movesub&member_id=" . $user_object->ID . "&fromsub=" . $subs[0], 'movesub-member-' . $user_object->ID) . "'>" . __('Move', 'membership') . "</a></span>"; $actions['drop'] = "<span class='edit delete'><a href='" . wp_nonce_url("?page=" . $page . "&action=dropsub&member_id=" . $user_object->ID . "&fromsub=" . $subs[0], 'dropsub-member-' . $user_object->ID) . "'>" . __('Drop', 'membership') . "</a></span>"; } else { $actions['move'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page . "&action=movesub&member_id=" . $user_object->ID . "", 'movesub-member-' . $user_object->ID) . "'>" . __('Move', 'membership') . "</a></span>"; $actions['drop'] = "<span class='edit delete'><a href='" . wp_nonce_url("?page=" . $page . "&action=dropsub&member_id=" . $user_object->ID . "", 'dropsub-member-' . $user_object->ID) . "'>" . __('Drop', 'membership') . "</a></span>"; } } ?> <div class="row-actions"><?php echo implode(" | ", $actions); ?> </div> </td> <td <?php echo $style; ?> > <?php $levels = $user_object->get_level_ids(); if (!empty($levels)) { $rows = array(); foreach ((array) $levels as $key => $value) { $level = new M_Level($value->level_id); if (!empty($level)) { if ((int) $value->sub_id != 0) { $rows[] = "<strong>" . $level->level_title() . "</strong>"; } else { $rows[] = $level->level_title(); } } } echo implode(", ", $rows); } $actions = array(); if (!$user_object->has_cap('membershipadmin')) { $actions['add'] = "<span class='edit'><a href='?page={$page}&action=addlevel&member_id={$user_object->ID}'>" . __('Add', 'membership') . "</a></span>"; } if (!empty($levels)) { if (count($levels) == 1) { $actions['move'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page . "&action=movelevel&member_id=" . $user_object->ID . "&fromlevel=" . $levels[0]->level_id, 'movelevel-member-' . $user_object->ID) . "'>" . __('Move', 'membership') . "</a></span>"; $actions['drop'] = "<span class='edit delete'><a href='" . wp_nonce_url("?page=" . $page . "&action=droplevel&member_id=" . $user_object->ID . "&fromlevel=" . $levels[0]->level_id, 'droplevel-member-' . $user_object->ID) . "'>" . __('Drop', 'membership') . "</a></span>"; } else { $actions['move'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page . "&action=movelevel&member_id=" . $user_object->ID . "", 'movelevel-member-' . $user_object->ID) . "'>" . __('Move', 'membership') . "</a></span>"; $actions['drop'] = "<span class='edit delete'><a href='" . wp_nonce_url("?page=" . $page . "&action=droplevel&member_id=" . $user_object->ID . "", 'droplevel-member-' . $user_object->ID) . "'>" . __('Drop', 'membership') . "</a></span>"; } } ?> <div class="row-actions"><?php echo implode(" | ", $actions); ?> </div> </td> <td <?php echo $style; ?> > <?php $subs = $user_object->get_relationships(); if ($subs) { $exps = array(); foreach ($subs as $sub) { $exps[] = date("Y-m-d H:i", mysql2date("U", $sub->expirydate)); } echo implode(", ", $exps); } ?> </td> <td <?php echo $style; ?> > <?php $subs = $user_object->get_relationships(); //print_r($subs); if ($subs) { $gates = array(); foreach ($subs as $sub) { $gates[] = $sub->usinggateway; } echo implode(", ", $gates); if ($user_object->has_cap('membershipadmin')) { $actions = array(); } else { $actions = array(); if (count($gates) == 1) { $actions['move'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page . "&action=movegateway&member_id=" . $user_object->ID . "&fromgateway=" . $gates[0], 'movegateway-member-' . $user_object->ID) . "'>" . __('Move', 'membership') . "</a></span>"; } else { $actions['move'] = "<span class='edit'><a href='" . wp_nonce_url("?page=" . $page . "&action=movegateway&member_id=" . $user_object->ID . "", 'movegateway-member-' . $user_object->ID) . "'>" . __('Move', 'membership') . "</a></span>"; } } ?> <div class="row-actions"><?php echo implode(" | ", $actions); ?> </div> <?php } ?> </td> </tr> <?php } ?> </tbody> </table> <div class="tablenav"> <div class="alignleft actions"> <select name="action2"> <option selected="selected" value=""><?php _e('Bulk Actions', 'membership'); ?> </option> <option value="toggle"><?php _e('Toggle activation', 'membership'); ?> </option> <optgroup label="<?php _e('Subscriptions', 'membership'); ?> "> <option value="bulkaddsub"><?php _e('Add subscription', 'membership'); ?> </option> <option value="bulkmovesub"><?php _e('Move subscription', 'membership'); ?> </option> <option value="bulkdropsub"><?php _e('Drop subscription', 'membership'); ?> </option> </optgroup> <optgroup label="<?php _e('Levels', 'membership'); ?> "> <option value="bulkaddlevel"><?php _e('Add level', 'membership'); ?> </option> <option value="bulkmovelevel"><?php _e('Move level', 'membership'); ?> </option> <option value="bulkdroplevel"><?php _e('Drop level', 'membership'); ?> </option> </optgroup> <optgroup label="<?php _e('Gateways', 'membership'); ?> "> <option value="bulkmovegateway"><?php _e('Move gateway', 'membership'); ?> </option> </optgroup> </select> <input type="submit" class="button-secondary action" id="doaction2" name="doaction2" value="Apply"> <select name="sub_op2"> <option value=""><?php _e('Filter by subscription', 'membership'); ?> </option> <?php $subs = $this->get_subscriptions(); if ($subs) { foreach ($subs as $key => $sub) { ?> <option value="<?php echo $sub->id; ?> " <?php if (isset($_GET['sub_op2']) && $_GET['sub_op2'] == $sub->id) { echo 'selected="selected"'; } ?> ><?php echo esc_html($sub->sub_name); ?> </option> <?php } } ?> </select> <input type="submit" class="button-secondary action" id="doactionsub2" name="doactionsub2" value="<?php _e('Filter', 'membership'); ?> "> <select name="level_op2"> <option value=""><?php _e('Filter by level', 'membership'); ?> </option> <?php $levels = $this->get_membership_levels(); if ($levels) { foreach ($levels as $key => $level) { ?> <option value="<?php echo $level->id; ?> " <?php if (isset($_GET['level_op2']) && $_GET['level_op2'] == $level->id) { echo 'selected="selected"'; } ?> ><?php echo esc_html($level->level_title); ?> </option> <?php } } ?> </select> <input type="submit" class="button-secondary action" id="doactionlevel2" name="doactionlevel2" value="<?php _e('Filter', 'membership'); ?> "> <select name="active_op2"> <option value=""><?php _e('Filter by status', 'membership'); ?> </option> <option value="yes" <?php if (isset($_GET['active_op2']) && $_GET['active_op2'] == 'yes') { echo 'selected="selected"'; } ?> ><?php _e('Active', 'membership'); ?> </option> <option value="no" <?php if (isset($_GET['active_op2']) && $_GET['active_op2'] == 'no') { echo 'selected="selected"'; } ?> ><?php _e('Inactive', 'membership'); ?> </option> </select> <input type="submit" class="button-secondary action" id="doactionactive2" name="doactionactive2" value="<?php _e('Filter', 'membership'); ?> "> </div> <div class="alignright actions"> </div> <br class="clear"> </div> </form> </div> <!-- wrap --> <?php }
function send_ping($sub_id = false, $level_id = false, $user_id = false) { $this->ping = $this->get_ping(); if (!class_exists('nxt_Http')) { include_once ABSPATH . nxtINC . '/class-http.php'; } $pingdata = $this->pingconstants; if (empty($user_id)) { $user = nxt_get_current_user(); $member = new M_Membership($user->ID); } else { $member = new M_Membership($user_id); } foreach ($pingdata as $key => $value) { switch ($key) { case '%blogname%': $pingdata[$key] = get_option('blogname'); break; case '%blogurl%': $pingdata[$key] = get_option('home'); break; case '%username%': $pingdata[$key] = $member->user_login; break; case '%usernicename%': $pingdata[$key] = $member->user_nicename; break; case '%networkname%': $pingdata[$key] = get_site_option('site_name'); break; case '%networkurl%': $pingdata[$key] = get_site_option('siteurl'); break; case '%subscriptionname%': if (!$sub_id) { $ids = $member->get_subscription_ids(); if (!empty($ids)) { $sub_id = $ids[0]; } } if (!empty($sub_id)) { $sub =& new M_Subscription($sub_id); $pingdata[$key] = $sub->sub_name(); } else { $pingdata[$key] = ''; } break; case '%levelname%': if (!$level_id) { $ids = $member->get_level_ids(); if (!empty($ids)) { $levels = $ids[0]; } } if (!empty($levels->level_id)) { $level =& new M_Level($levels->level_id); $pingdata[$key] = $level->level_title(); } else { $pingdata[$key] = ''; } break; case '%timestamp%': $pingdata[$key] = time(); break; default: $pingdata[$key] = apply_filter('membership_pingfield_' . $key, ''); break; } } $url = $this->ping->pingurl; // Globally replace the values in the ping and then make it into an array to send $pingmessage = str_replace(array_keys($pingdata), array_values($pingdata), $this->ping->pinginfo); $pingmessage = array_map('trim', explode("\n", $pingmessage)); // make the ping message into a sendable bit of text $pingtosend = array(); foreach ($pingmessage as $key => $value) { $temp = explode("=", $value); $pingtosend[$temp[0]] = $temp[1]; } // Send the request if (class_exists('nxt_Http')) { $request = new nxt_Http(); switch ($this->ping->pingtype) { case 'GET': $url = untrailingslashit($url) . "?"; foreach ($pingtosend as $key => $val) { if (substr($url, -1) != '?') { $url .= "&"; } $url .= $key . "=" . urlencode($val); } $result = $request->request($url, array('method' => 'GET', 'body' => '')); break; case 'POST': $result = $request->request($url, array('method' => 'POST', 'body' => $pingtosend)); break; } /* 'headers': an array of response headers, such as "x-powered-by" => "PHP/5.2.1" 'body': the response string sent by the server, as you would see it with you web browser 'response': an array of HTTP response codes. Typically, you'll want to have array('code'=>200, 'message'=>'OK') 'cookies': an array of cookie information */ $this->add_history($pingtosend, $result); } }
function memeber_event_price_for_user($price, $event_id, $user_id) { $mi_price = get_post_meta($event_id, 'eab_events_mi_price', true); if (empty($mi_price)) { // Event price // Check if the user is free to enter $meta = get_post_meta($event_id, 'eab_events_mi', true); if (empty($meta['level'])) { return $price; } global $current_user; $member = new M_Membership($user_id); $levels = $member->get_level_ids(); if (is_array($levels) and is_array($meta["level"])) { foreach ($levels as $level) { if (in_array($level->level_id, $meta["level"])) { return 0; } // Free for this level } } return $price; // Not free for this guy } global $current_user; $member = new M_Membership($user_id); $levels = $member->get_level_ids(); $new_price = false; foreach ($levels as $level) { if (isset($mi_price[$level->level_id])) { $new_price = $mi_price[$level->level_id]; } } return $new_price ? $new_price : $price; }
/** * Finds if user is Membership member with sufficient level * @return bool */ function is_member() { if ($this->membership_active && isset($this->options["members"])) { global $current_user; $meta = maybe_unserialize($this->options["members"]); $member = new M_Membership($current_user->ID); if (is_array($meta) && $current_user->ID > 0 && $member->has_levels()) { // Load the levels for this member $levels = $member->get_level_ids(); if (is_array($levels) && is_array($meta["level"])) { foreach ($levels as $level) { if (in_array($level->level_id, $meta["level"])) { return true; } // Yes, user has sufficent level } } } } return false; }
function send_message($user_id, $sub_id = false, $level_id = false) { $this->comm = $this->get_communication(); $M_options = get_option('membership_options'); $commdata = apply_filters('membership_comm_constants_list', $this->commconstants); $member = new M_Membership($user_id); foreach ($commdata as $key => $value) { switch ($key) { case '%blogname%': $commdata[$key] = get_option('blogname'); break; case '%blogurl%': $commdata[$key] = get_option('home'); break; case '%username%': $commdata[$key] = $member->user_login; break; case '%usernicename%': $commdata[$key] = $member->user_nicename; break; case '%networkname%': $commdata[$key] = get_site_option('site_name'); break; case '%networkurl%': $commdata[$key] = get_site_option('siteurl'); break; case '%subscriptionname%': if (!$sub_id) { $ids = $member->get_subscription_ids(); if (!empty($ids)) { $sub_id = $ids[0]; } } if (!empty($sub_id)) { $sub =& new M_Subscription($sub_id); $commdata[$key] = $sub->sub_name(); } else { $commdata[$key] = ''; } break; case '%levelname%': if (!$level_id) { $ids = $member->get_level_ids(); if (!empty($ids)) { $level_id = $ids[0]->level_id; } } if (!empty($level_id)) { $level =& new M_Level($level_id); $commdata[$key] = $level->level_title(); } else { $commdata[$key] = ''; } break; case '%accounturl%': $commdata[$key] = M_get_account_permalink(); break; default: $commdata[$key] = apply_filters('membership_commfield_' . $key, '', $user_id); break; } } // Globally replace the values in the ping and then make it into an array to send $commmessage = str_replace(array_keys($commdata), array_values($commdata), stripslashes($this->comm->message)); if (!empty($member->user_email)) { $res = @wp_mail($member->user_email, stripslashes($this->comm->subject), stripslashes($commmessage)); } }