private static function buildPaginator($page)
{
$_R = $_REQUEST;
$_S = $_SERVER;
$http = isset($_S['HTTPS']) && strcasecmp($_S['HTTPS'], 'off') ? 'https://' : 'http://';
$host = isset($_S['HTTP_X_FORWARDED_HOST']) ? $_S['HTTP_X_FORWARDED_HOST'] : isset($_S['HTTP_HOST']) ? $_S['HTTP_HOST'] : $_S['SERVER_NAME'];
$path = pathinfo($_S['SCRIPT_NAME']);
$path_parts = $path['dirname'] . '/' . (self::$friendly_url ? $path['filename'] : $path['basename']);
$request = isset($_R[self::$paginator]) ? array_slice($_R, 1) : $_R;
$paginator = stripslashes($http . $host . $path_parts);
if (self::$friendly_url) {
array_walk($request, create_function('&$v,$k', '$v="$k/$v";'));
$params = implode($request, '/');
$paginator .= '/' . self::$paginator . '/' . (int) $page . ($params ? '/' . $params : '');
} else {
$params = http_build_query($request);
$paginator .= '?' . self::$paginator . '=' . (int) $page . ($params ? '&' . $params : '');
}
return $paginator;
}