3 class mw_helper_out extends mw_helper{
5 function pagination_menu($current, $total, $max, $base_url, $start_param, $legende = null){
7 if($max && $total > $max){
10 $legende." ".($current + 1)." à "
11 .(($current + $max) > $total ? $total : $current + $max)
12 ." sur ".$total." - aller à la ";
14 $get_params = array();
15 if(($q = strpos($base_url, "?")) !== false){
16 $v_query = explode("&", substr($base_url, $q + 1));
17 $base_url = substr($base_url, 0, $q);
18 foreach($v_query as $query){
20 $v = explode("=", $query);
21 $get_params[$v[0]] = $v[1];
25 if(isset($get_params[$start_param])) unset($get_params[$start_param]);
27 foreach($get_params as $key => $value) $base_url .= $key."=".$value."&";
28 $nb_pages = ceil($total / $max);
31 ."<select onchange=\"document.location=this.options[this.selectedIndex].value;\">\n";
36 " <option value=\"".$base_url.$start_param."=".$ni."\"".($current >= $ni && $current <= $ni ? " SELECTED" : "").">"
46 "<a href=\"".$base_url.$start_param."=".($current - $max)."\">«</a>\n";
48 if($current < $total - $max){
50 "<a href=\"".$base_url.$start_param."=".($current + $max)."\">»</a>\n";
56 function esc_attr($content){
57 return htmlspecialchars($content, ENT_COMPAT, "UTF-8");
60 function get_menu_ul($menu, $indent = ""){
63 $html .= $indent."<div class=\"menu\"><ul>\n";
64 foreach($menu["subs"] as $sub){
65 $html .= $indent." <li>\n";
66 $html .= $indent." <a href=\"".$sub["url"]."\">".$sub["intitule"]."</a>\n";
67 $html .= $this->get_menu_ul($sub, $indent." ");
68 $html .= $indent." </li>\n";
70 $html .= $indent."</ul></div>\n";