Esempio n. 1
0
/**
 *  Get page URL
 *  	@param $urlencode
 */
function get_page_url($urlencode = true)
{
    $protocol = 'http://';
    $port = '';
    $http_host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
    if (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off' || strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, 5)) == 'https') {
        $protocol = 'https://';
    }
    if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] != '80') {
        if (!strpos($http_host, ':')) {
            $port = ':' . $_SERVER['SERVER_PORT'];
        }
    }
    // fixed for work with both Apache and IIS
    if (!isset($_SERVER['REQUEST_URI'])) {
        $uri = substr(prepare_input($_SERVER['PHP_SELF'], false, 'extra'), 0);
        if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != '') {
            $uri .= '?' . prepare_input($_SERVER['QUERY_STRING'], false, 'extra');
        }
    } else {
        $uri = prepare_input($_SERVER['REQUEST_URI'], false, 'extra');
        if (preg_match("/:|;|'|\\(|\\)/", $uri)) {
            $uri = '';
        }
    }
    if (isset($_GET['p'])) {
        $uri = remove_url_param($uri, 'p');
    }
    if ($urlencode) {
        $uri = str_replace('&', '&', $uri);
    }
    return $protocol . $http_host . $port . $uri;
}
Esempio n. 2
0
function lien_pagination()
{
    if (!isset($GLOBALS['param_pagination']) or isset($_GET['d']) or isset($_GET['liste']) or isset($_GET['id'])) {
        return '';
    } else {
        $nb = $GLOBALS['param_pagination']['nb'];
        $nb_par_page = $GLOBALS['param_pagination']['nb_par_page'];
    }
    $page_courante = (isset($_GET['p']) and is_numeric($_GET['p'])) ? $_GET['p'] : 0;
    $qstring = remove_url_param('p');
    if ($page_courante <= 0) {
        $lien_precede = '';
        $lien_suivant = '<a href="' . htmlspecialchars(basename($_SERVER['PHP_SELF'])) . '?' . $qstring . '&amp;p=1" rel="next">' . $GLOBALS['lang']['label_suivant'] . ' &#187;</a>';
        if ($nb < $nb_par_page) {
            // évite de pouvoir aller dans la passé s’il y a moins de 10 posts
            $lien_suivant = '';
        }
    } elseif ($nb < $nb_par_page) {
        // évite de pouvoir aller dans l’infini en arrière dans les pages, nottament pour les robots.
        $lien_precede = '<a href="' . htmlspecialchars(basename($_SERVER['PHP_SELF'])) . '?' . $qstring . '&amp;p=' . ($page_courante - 1) . '" rel="prev">&#171; ' . $GLOBALS['lang']['label_precedent'] . '</a>';
        $lien_suivant = '';
    } else {
        $lien_precede = '<a href="' . htmlspecialchars(basename($_SERVER['PHP_SELF'])) . '?' . $qstring . '&amp;p=' . ($page_courante - 1) . '" rel="prev">&#171; ' . $GLOBALS['lang']['label_precedent'] . '</a>';
        $lien_suivant = '<a href="' . htmlspecialchars(basename($_SERVER['PHP_SELF'])) . '?' . $qstring . '&amp;p=' . ($page_courante + 1) . '" rel="next">' . $GLOBALS['lang']['label_suivant'] . ' &#187;</a>';
    }
    $glue = ' – ';
    if (empty($lien_precede) or empty($lien_suivant)) {
        $glue = ' ';
    }
    return '<p class="pagination">' . $lien_precede . $glue . $lien_suivant . '</p>';
}