/** * 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; }
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 . '&p=1" rel="next">' . $GLOBALS['lang']['label_suivant'] . ' »</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 . '&p=' . ($page_courante - 1) . '" rel="prev">« ' . $GLOBALS['lang']['label_precedent'] . '</a>'; $lien_suivant = ''; } else { $lien_precede = '<a href="' . htmlspecialchars(basename($_SERVER['PHP_SELF'])) . '?' . $qstring . '&p=' . ($page_courante - 1) . '" rel="prev">« ' . $GLOBALS['lang']['label_precedent'] . '</a>'; $lien_suivant = '<a href="' . htmlspecialchars(basename($_SERVER['PHP_SELF'])) . '?' . $qstring . '&p=' . ($page_courante + 1) . '" rel="next">' . $GLOBALS['lang']['label_suivant'] . ' »</a>'; } $glue = ' – '; if (empty($lien_precede) or empty($lien_suivant)) { $glue = ' '; } return '<p class="pagination">' . $lien_precede . $glue . $lien_suivant . '</p>'; }