/** * Move Members To New Level. * * Can only "move" a member if they have only one level assigned, * because we otherwise don't know which to remove. * * @param int or array $ids ID or array of IDs. * @param string $lev SKU or Name of Level to change Member to. * @return int Count of IDs successfully changed. */ function MoveLevel($ids, $lev = '') { global $WishListMemberInstance; $ids = (array) $ids; //$lev = (array)$lev; $lev = WLMAPI::GetLevelArray($lev, 'skus'); $count = 0; foreach ($ids as $id) { $currlevels = WLMAPI::GetUserLevels($id, 'all', 'skus'); $newlevels = array_unique(array_merge($currlevels, $lev)); if (count($currlevels) == 1 && count($newlevels) == 2) { $WishListMemberInstance->SetMembershipLevels($id, $lev, FALSE); $count++; } } return $count; }
/** * WishList Member stuff */ function check_user_access($userid, $postid) { // get user_levels $user_levels = WLMAPI::GetUserLevels($userid); // get the post levels $post_levels = WLMAPI::GetPostLevels($postid); if (array_key_exists('Protection', $post_levels)) { // Compare user_levels with post_level $result = ''; if (is_array($user_levels)) { foreach ($user_levels as $user_level) { $result .= array_search($user_level, $post_levels); } } if ($result) { return true; } return false; } return true; }