X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fsearch%2Fsearch.inc.php;h=d3edb4d4a47350fcdb42fe12920e2cc598f7a63a;hb=7727ffc74dd19bc3dd2d7b5c2b44e892c2e63f5d;hp=f0bf810c460a32263456ad51256bbc9ff2f45754;hpb=a6735b65f3b060a836b6fc56bbc823ce4017d100;p=platal.git diff --git a/modules/search/search.inc.php b/modules/search/search.inc.php index f0bf810..d3edb4d 100644 --- a/modules/search/search.inc.php +++ b/modules/search/search.inc.php @@ -46,7 +46,6 @@ function advancedSearchFromInput() $cityIdField = new RefSField('cityid',array('av.cityid'),'adresses','av',getadr_join('av')); $countryField = new RefSField('country',array('ap.country'),'adresses','ap',getadr_join('ap')); $regionField = new RefSField('region',array('ar.region'),'adresses','ar',getadr_join('ar')); - $mapField = new MapSField('mapid', array('gcim.map_id'), array('adresses','geoloc_city_in_maps'), array('am','gcim'), array(getadr_join('am'), 'am.cityid = gcim.city_id')); $entrepriseField = new RefSField('entreprise',array('ee.entreprise'),'entreprises','ee','u.user_id=ee.uid',false); $posteField = new RefSField('poste',array('ep.poste'),'entreprises','ep','u.user_id=ep.uid', false); @@ -69,125 +68,10 @@ function advancedSearchFromInput() $townField, $countryField, $regionField, $entrepriseField, $posteField, $secteurField, $cvField, $natField, $binetField, $groupexField, $sectionField, $schoolField, $diplomaField, - $freeField, $fonctionField, $cityIdField, $mapField); + $freeField, $fonctionField, $cityIdField); } // }}} -// {{{ class XOrgSearch - -class XOrgSearch extends XOrgPlugin -{ - // {{{ properties - - var $_get_vars = Array('offset', 'order', 'order_inv', 'rechercher'); - var $limit = 20; - var $order_defaut = 'promo'; - // type of orders : (field name, default ASC, text name, auth) - var $orders = array( - 'nom' =>array('nom,prenom', true, 'nom', AUTH_PUBLIC), - 'promo' =>array('promo,nom', false, 'promotion', AUTH_PUBLIC), - 'date_mod' =>array('u.date,nom', 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] = S::logged(); - } elseif ($o[3] == AUTH_PUBLIC) { - $this->orders[$key][3] = true; - } else { - $this->orders[$key][3] = S::identified(); - } - } - } - - // }}} - // {{{ function addOrder() - - function addOrder($name, $field, $inv_order, $text, $auth, $defaut=false) - { - // reverse the array, to get the defaut order first - if ($defaut) - $this->orders = array_reverse($this->orders); - $this->orders[$name] = array($field, $inv_order, $text, $auth); - if ($defaut) { - $this->orders = array_reverse($this->orders); - $this->order_defaut = $name; - } - } - - // }}} - // {{{ function show() - - function show() - { - $this->setAuth(); - global $page, $globals; - - $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]; - - if ($order_inv && $order) - $sql_order = str_replace(",", " DESC,", $order)." DESC"; - else $sql_order = $order; - - list($list, $total) = call_user_func($this->_callback, $offset, $this->limit, $sql_order); - - $page_max = intval(($total-1)/$this->limit); - if(!S::logged() && $page_max > $globals->search->public_max) - $page_max = $globals->search->public_max; - - $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+1); - $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: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>