function sp_MemberListPageLinks($args = '', $label = '', $toolTip = '') { if (!sp_get_auth('view_members_list')) { return; } global $spMembersList; $defs = array('tagId' => 'spMemberPageLinks', 'tagClass' => 'spPageLinks', 'prevIcon' => 'sp_ArrowLeft.png', 'nextIcon' => 'sp_ArrowRight.png', 'iconClass' => 'spIcon', 'pageLinkClass' => 'spPageLinks', 'curPageClass' => 'spCurrent', 'showLinks' => 4, 'echo' => 1); $a = wp_parse_args($args, $defs); $a = apply_filters('sph_MemberListPageLinks_args', $a); extract($a, EXTR_SKIP); # sanitize before use $tagId = esc_attr($tagId); $tagClass = esc_attr($tagClass); if (!empty($prevIcon)) { $prevIcon = sp_find_icon(SPTHEMEICONSURL, sanitize_file_name($prevIcon)); } if (!empty($nextIcon)) { $nextIcon = sp_find_icon(SPTHEMEICONSURL, sanitize_file_name($nextIcon)); } $iconClass = esc_attr($iconClass); $pageLinkClass = esc_attr($pageLinkClass); $curPageClass = esc_attr($curPageClass); $showLinks = (int) $showLinks; $label = sp_filter_title_display($label); $toolTip = esc_attr($toolTip); $echo = (int) $echo; global $spVars; $curToolTip = str_ireplace('%PAGE%', $spVars['page'], $toolTip); if (isset($_POST['allmembers'])) { $search = ''; $ug = ''; } else { if (isset($_GET['page'])) { $spVars['page'] = sp_esc_int($_GET['page']); } $search = !empty($_POST['msearch']) ? sp_esc_str($_POST['msearch']) : ''; $search = !empty($_GET['msearch']) ? sp_esc_str($_GET['msearch']) : $search; $ug = !empty($_POST['ug']) ? sp_esc_int($_POST['ug']) : ''; $ug = !empty($_GET['ug']) ? sp_esc_int($_GET['ug']) : $ug; } $out = "<div id='{$tagId}' class='{$tagClass}'>"; $totalPages = $spMembersList->totalMemberCount / $spMembersList->membersNumber; if (!is_int($totalPages)) { $totalPages = intval($totalPages) + 1; } $out .= "<span class='{$pageLinkClass}'>{$label}</span>"; $out .= sp_page_prev($spVars['page'], $showLinks, SPMEMBERLIST, $pageLinkClass, $iconClass, $prevIcon, $nextIcon, $toolTip, $search, $ug); $url = SPMEMBERLIST; if ($spVars['page'] > 1) { $url = user_trailingslashit(trailingslashit($url) . 'page-' . $spVars['page']); } if (!empty($search)) { $param['msearch'] = $search; $url = add_query_arg($param, $url); $url = sp_filter_wp_ampersand($url); } if (!empty($ug)) { $param['ug'] = $ug; $url = add_query_arg($param, $url); $url = sp_filter_wp_ampersand($url); } $out .= "<a href='{$url}' class='{$pageLinkClass} {$curPageClass} vtip' title='{$curToolTip}'>" . $spVars['page'] . '</a>'; $out .= sp_page_next($spVars['page'], $totalPages, $showLinks, SPMEMBERLIST, $pageLinkClass, $iconClass, $prevIcon, $nextIcon, $toolTip, $search, $ug); $out .= "</div>\n"; $out = apply_filters('sph_MemberListPageLinks', $out, $a); if ($echo) { echo $out; } else { return $out; } }
function sp_page_url($thisPage, $baseUrl, $iconType, $linkClass, $iconClass, $prevIcon, $nextIcon, $toolTip, $search, $ug) { $toolTip = str_ireplace('%PAGE%', $thisPage, $toolTip); $out = "<a href='"; if (is_int($search)) { # normal forum search puts page number in search query arg $out .= user_trailingslashit($baseUrl . '&search=' . $thisPage); } else { $url = $thisPage > 1 ? trailingslashit($baseUrl) . 'page-' . $thisPage : $baseUrl; $url = user_trailingslashit($url); if (!empty($search)) { # members list search $param['msearch'] = $search; $url = add_query_arg($param, $url); $url = sp_filter_wp_ampersand($url); } if (!empty($ug)) { # members list usergroup $param['ug'] = $ug; $url = add_query_arg($param, $url); $url = sp_filter_wp_ampersand($url); } $out .= $url; } switch ($iconType) { case 'none': $out .= "' class='{$linkClass} vtip' title='{$toolTip}'>{$thisPage}</a>"; break; case 'prev': if (!empty($prevIcon)) { $out .= "' class='{$linkClass} {$iconClass}'><img class='{$iconClass} vtip' src='{$prevIcon}' title='{$toolTip}' alt='' /></a>"; } else { $out = " ... "; } break; case 'next': if (!empty($nextIcon)) { $out .= "' class='{$linkClass} {$iconClass}'><img class='{$iconClass} vtip' src='{$nextIcon}' title='{$toolTip}' alt='' /></a>"; } else { $out = "<span class='spHSpacer'>…</span>"; } break; } return $out; }