From fa14674e933da1b8d3c74403a875ce9851990759 Mon Sep 17 00:00:00 2001 From: Pascal Corpet Date: Tue, 8 Feb 2005 00:05:15 +0000 Subject: [PATCH] oups forgot the main file git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-456 --- include/xorg.search.inc.php | 120 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 include/xorg.search.inc.php diff --git a/include/xorg.search.inc.php b/include/xorg.search.inc.php new file mode 100644 index 0000000..963f714 --- /dev/null +++ b/include/xorg.search.inc.php @@ -0,0 +1,120 @@ +array('promo', false, 'promotion', AUTH_PUBLIC), + 'nom' =>array('nom', true, 'nom', AUTH_PUBLIC), + 'date_mod' =>array('u.date', false, 'dernière modification', AUTH_COOKIE)); + + // }}} + // {{{ function setNbLines() + + function setNbLines($lines) + { $this->limit = $lines; } + + // }}} + // {{{ function setAuth() + + function setAuth() { + foreach ($this->orders as $key=>$o) + if ($o[3] == AUTH_COOKIE) + $this->orders[$key][3] = logged(); + elseif ($o[3] == AUTH_PUBLIC) + $this->orders[$key][3] = true; + else + $this->orders[$key][3] = identified(); + } + + // }}} + // {{{ function addOrder() + + function addOrder($name, $field, $inv_order, $text, $auth, $defaut=false) { + $this->orders[$name] = array($field, $inv_order, $text, $auth); + if ($defaut) $this->order_defaut = $name; + } + + // }}} + // {{{ function show() + + function show() + { + $this->setAuth(); + global $page; + + $offset = intval($this->get_value('offset')); + $tab = $this->orders[$this->get_value('order')]; + if (!$tab || !$tab[3]) $tab = $this->orders[$this->order_defaut]; + $order = $tab[0]; + $order_inv = ($this->get_value('order_inv') != '') == $tab[1]; + + list($list, $total) = call_user_func($this->_callback, $offset, $this->limit, $order, $order_inv); + + $page_max = intval(($total-1)/$this->limit); + + $links = Array(); + if ($offset) { + $links[] = Array('u'=> $this->make_url(Array('offset'=>$offset-1)), 'i' => $offset-1, 'text' => 'précédent'); + } + for ($i = 0; $i <= $page_max ; $i++) { + $links[] = Array('u'=>$this->make_url(Array('offset'=>$i)), 'i' => $i, 'text' => $i+1); + } + if ($offset < $page_max) { + $links[] = Array ('u' => $this->make_url(Array('offset'=>$offset+1)), 'i' => $offset+1, 'text' => 'suivant'); + } + + $page->assign('search_results', $list); + $page->assign('search_results_nb', $total); + $page->assign('search_page', $offset); + $page->assign('search_pages_nb', $page_max); + $page->assign('search_pages_link', $links); + + $order_links = Array(); + foreach ($this->orders as $key=>$o) if ($o[3]) { + $order_links[] = Array( + "text"=>$o[2], + "url" =>$this->make_url(Array('order' =>$key,'order_inv'=>($o[0] == $order) && ($order_inv != $o[1]))), + "asc" =>($o[0] == $order) && $order_inv, + "desc"=>($o[0] == $order) && !$order_inv); + } + $page->assign('search_order_link', $order_links); + + return $total; + } + + // }}} +} + +// }}} + +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker: +?> -- 2.1.4