fix transition script
[platal.git] / include / exalead / exalead.smarty.inc.php
index 951c540..bc76cc8 100644 (file)
@@ -20,7 +20,7 @@ function display_group(&$group, &$exalead_data, $keywords=false,$class = 'exa_gr
                $res+="<li class=\"exa_categorie\" id=\"exa_group_".$gid."_".$compteur.";\">";
                if($categorie->is_normal()){
                        $res+="<a style=\"text-decoration: none;\"
-                               href=\"?_C=".$exalead_data->query->context."/".$categorie->refine_href.";?>&amp;_f=xml2\"
+                               href=\"?_C=".$exalead_data->query->context."&".$categorie->refine_href.";?>&amp;_f=xml2\"
                                title=\"Afficher seulement ces résultats\">
                                <img style=\"vertical-align: text-bottom;\" src=\"images/select.png\" alt=\"[+]\" />";
                        if (empty($categorie->display)){
@@ -33,20 +33,20 @@ function display_group(&$group, &$exalead_data, $keywords=false,$class = 'exa_gr
                                $res+=$categorie->count;
                        }
                        $res+="</a>
-                               <a href=\"?_C=".$exalead_data->query->context."/".$categorie->exclude_href.";&amp;_f=xml2\"
+                               <a href=\"?_C=".$exalead_data->query->context."&".$categorie->exclude_href.";&amp;_f=xml2\"
                                title=\"Ne pas afficher ces résultats\">
                                <img style=\"vertical-align: text-bottom;\"  src=\"images/moins.png\" alt=\"[-]\"/></a>";
                }
                elseif($categorie->is_excluded()){
                        $res+="<span style=\"text-decoration: line-through;\">
-                               <a href=\"?_C=".$exalead_data->query->context."/".$categorie->reset_href.";&amp;_f=xml2\">
+                               <a href=\"?_C=".$exalead_data->query->context."&".$categorie->reset_href.";&amp;_f=xml2\">
                                <img style=\"vertical-align: text-bottom;\" src=\"images/select.png\" alt=\"[+]\" /> 
                                ".$categorie->display.";</a>
                                </span>";
                }
                else{
                        $res+="<strong>".$categorie->display.";</strong>
-                               <a href=\"?_C=".$exalead_data->query->context."/".$categorie->reset_href.";&amp;_f=xml2\">
+                               <a href=\"?_C=".$exalead_data->query->context."&".$categorie->reset_href.";&amp;_f=xml2\">
                                <img style=\"vertical-align: text-bottom;\"  src=\"images/moins.png\" alt=\"[-]\"/></a>";
                }
                $res+="</li>";          
@@ -154,6 +154,15 @@ function _exa_navigation_barre($params, &$smarty){
   else{
     $nb_hits = (int) $exalead_data->nhits;
   }
+  $date=false;
+  foreach($exalead_data->query->query_parameters as $parameter){
+       if($parameter->name=="_sf"){
+               if($parameter->value=="-date")
+                       $date=true;
+       }
+  }
+
   $res = '';
   $nb_numero = 5;//We want 5 links
   $current_page = (empty($_GET['_s'])?1:1+(int) ($_GET['_s'] / $nb_res_per_page));
@@ -169,32 +178,32 @@ function _exa_navigation_barre($params, &$smarty){
     }
   }
   
-  if ($current_page*$nb_res_per_page >$nb_res_per_page)
-       $res.="<a href=\"?_C={$exalead_data->query->context}&_s=".(($current_page-2)*$nb_res_per_page)."\">Precedent</a>  ";
-  for($i = $first_number; $i <= $nb_numero + $first_number-1; $i++){
-    $k=$nb_res_per_page*($i-1)+1;
-    $j=$nb_res_per_page*$i;
-    if($i == $current_page){
-       $res .= "<strong>$k-$j</strong> ";
-    }
-    else{
-       $res .= "<a href=\"?_C={$exalead_data->query->context}&_s=".(($i-1)*$nb_res_per_page)."\">$k-$j</a> ";
-   }
+  if ($current_page*$nb_res_per_page >$nb_res_per_page){
+      $res.="<a href=\"?_C={$exalead_data->query->context}&_s=".(($current_page-2)*$nb_res_per_page);
+      if($date) $res.="&amp;_sf=-date"; 
+      $res.="\">Précédent</a>  ";
   }
-  if ($current_page*10<$nb_hits)
-       $res.="<a  href=\"?_C={$exalead_data->query->context}&_s=".(($current_page)*$nb_res_per_page)."\">Suivant</a>";
-  $date=false;
-  foreach($exalead_data->query->query_parameters as $parameter){
-       if($parameter->name=="_sf"){
-               if($parameter->value=="-date")
-                       $date=true;
-       }
+  for($i = $first_number; $i <= $nb_numero + $first_number; $i++){
+      $k=$nb_res_per_page*($i-1)+1;
+      $j=$nb_res_per_page*$i;
+      if($i == $current_page){
+          $res .= "<strong>$k-$j</strong> ";
+      }
+      elseif($k<=$nb_hits){
+          $res .= "<a href=\"?_C={$exalead_data->query->context}&_s=".(($i-1)*$nb_res_per_page);
+          if($date) $res.="&amp;_sf=-date";
+          $res.="\">$k-$j</a> ";
+      }
+  }
+  if ($current_page*10<$nb_hits){
+      $res.="<a  href=\"?_C={$exalead_data->query->context}&_s=".(($current_page)*$nb_res_per_page);
+      if($date) $res.="&amp;_sf=-date";
+      $res.="\">Suivant</a>";
   }
-  
   if($date)
-       $res.=" - <a href=\"?_C={$exalead_data->query->context}/_sf=relevance&amp;_f=xml2\">[Classer par pertinence]</a>";
+      $res.=" - <a href=\"?_C={$exalead_data->query->context}&amp;_f=xml2\">[Classer par pertinence]</a>";
   else
-       $res.=" - <a href=\"?_C={$exalead_data->query->context}/_sf=-date&amp;_f=xml2\">[Classer par date]</a>"; 
+      $res.=" - <a href=\"?_C={$exalead_data->query->context}&amp;_sf=-date&amp;_f=xml2\">[Classer par date]</a>"; 
   return $res;
 }
 
@@ -243,9 +252,9 @@ function _little_nav_barre($params, &$smarty){
                        CV : ".$num." / {$exalead_data->nhits} -";
        }
        if($date)       
-               $res.="<a href=\"ec_cherche_cv.php?_C={$exalead_data->query->context}/_sf=-date&amp;_f=xml2&amp;_s=".$dizaine."\">Retour à la recherche</a>";
+               $res.="<a href=\"ec_cherche_cv.php?_C={$exalead_data->query->context}&amp;_sf=-date&amp;_f=xml2&amp;_s=".$dizaine."\">Retour à la recherche</a>";
        else
-               $res.="<a href=\"ec_cherche_cv.php?_C={$exalead_data->query->context}/_sf=-relevance&amp;_f=xml2&amp;_s=".$dizaine."\">Retour à la recherche</a>";
+               $res.="<a href=\"ec_cherche_cv.php?_C={$exalead_data->query->context}&amp;_f=xml2&amp;_s=".$dizaine."\">Retour à la recherche</a>";
        $res .="</td>";
        if($box)
                $res.="<td class=\"droite\">";
@@ -261,21 +270,27 @@ function _little_nav_barre($params, &$smarty){
 }
 
 //categorie = true if this line is for a category, false if this is for a keyword
-function _display_3_columns($title, $count, $refine, $exclude, $categorie){
+function _display_3_columns($title, $count, $refine, $exclude, $categorie,$hide=-1){
 if ($title!='Inconnu'){
   global $exa_max_length;
   if($categorie) $title_exclude = 'Ne pas afficher cette catégorie';
   else $title_exclude = 'Ne pas afficher ce mot-clé';
   $extract = ((strlen($title) > $exa_max_length + 3)?substr($title,0,$exa_max_length).'...':$title);
-  return "<tr class=\"categ\">
-                         <td>
-                           <a style=\"text-decoration: none;\"
-                              href=\"?_C=".$refine."&amp;_f=xml2\"
-                              title=\"$title\"
-                           >$extract</a></td><td width=\"10%\">$count</td><td width=\"10%\">
-                           <a href=\"?_C=".$exclude."&amp;_f=xml2\"
-                               title=\"$title_exclude\">[-]</a></td>
-                       </tr>";
+  $result="<tr class=\"categ\"";
+  if ($hide>0) {
+    $result .= " id=\"cache_$hide\" onclick=\"cacheId('cache_$hide')\"";//Pour pouvoir cacher des catégories 
+  }
+  $result.=">
+      <td>
+      <a style=\"text-decoration: none;\"
+      href=\"?_C=".$refine."&amp;_f=xml2\"
+      title=\"$title\"
+      >$extract</a></td><td width=\"10%\">$count</td><td width=\"10%\">
+      <a href=\"?_C=".$exclude."&amp;_f=xml2\"
+      title=\"$title_exclude\">[-]</a></td>
+      </tr>";
+
+  return $result;
 }
 }
 
@@ -308,28 +323,32 @@ function _display_2_columns($title, $reset, $excluded, $categorie){
             </tr>";
 }
 
-function _display_resume_groupe_category(&$group, $context, $padding = ''){
-     $result = '';
-      foreach($group->categories as $categorie){
+function _display_resume_groupe_category(&$group, $context, $padding = '',$limit=100){
+    $result = '';
+    $cnt=0;
+    foreach($group->categories as $categorie){
+        $cnt ++;
+        if($cnt==$limit) break;
         $title = (empty($categorie->display)?$categorie->name:$categorie->display);
         $count = (empty($categorie->count)?'':' ('.$categorie->count.')');
-        $refine = $context.'/'.$categorie->refine_href;
-       $exclude = $context.'/'.$categorie->exclude_href;
-       $reset = $context.'/'.$categorie->reset_href;
+        $categorie->refine_href=str_replace('/_c=', '/&_c=', $categorie->refine_href);//correction d'un bug
+        $refine = $context.'&'.$categorie->refine_href;
+        $exclude = $context.'&'.$categorie->exclude_href;
+        $reset = $context.'&'.$categorie->reset_href;
        
-        if($categorie->display != ''){
-         if($categorie->is_normal()){
-            $result .= _display_3_columns($padding.$title, $count, $refine, $exclude, true);
-         }
-         else{
-            $result .= _display_2_columns($padding.$title, $reset, $categorie->is_excluded(), true);
-         }
-       }
-       if(count($categorie->categories) > 0){
-          $result .= _display_resume_groupe_category($categorie, $context, $padding.'-');
-       }
-      }
-      return $result;
+        if ($categorie->display != '') {
+            if($categorie->is_normal()){
+                $result .= _display_3_columns($padding.$title, $count, $refine, $exclude, '',$cnt-$limit);
+               }
+               else{
+                $result .= _display_2_columns($padding.$title, $reset, $categorie->is_excluded(),'', $cnt-$limit);
+               }
+           }
+           if(count($categorie->categories) > 0 && ($_SESSION['show_all']||$title=="france"||!$categorie->is_normal()) ){
+            $result .= _display_resume_groupe_category($categorie, $context, $pagging.'-',$limit-$cnt);
+           }
+    }
+    return $result;
 }
 
 /**
@@ -350,8 +369,28 @@ function _display_resume_groupe($params, &$smarty){
   $name = $params['display'];
   foreach($exalead_data->groups as $group){
     if($group->title == $groupe){
-      $result = "<table class=\"exa_resume\"><th colspan=\"3\" class=\"titre\">".gettext($name)."</th>";
-      $result .= _display_resume_groupe_category($group, $exalead_data->query->context);
+      if($groupe=="Zone"){
+          if($_SESSION["show_all"]) {
+              $result = "<table class=\"exa_resume\"><th colspan=\"2\" class=\"titre\">".gettext($name)."</th>
+              <th><a href=\"anciens_cherche_offres_exa.php?hide=1&".$params['url']."\"><img src='images/icons/fww.gif'/></a></th>";
+              
+          }
+          else{
+              $result = "<table class=\"exa_resume\"><th colspan=\"2\" class=\"titre\">".gettext($name)."</th><th><a href=\"anciens_cherche_offres_exa.php?show_all=1&".$params['url']."\"><img src='images/icons/rww.gif'/></a></th>"; 
+          }
+          $result .= _display_resume_groupe_category($group, $exalead_data->query->context,'',$params['limit']);
+      }
+      else{
+          $result = "<table class=\"exa_resume\"><th colspan=\"3\" class=\"titre\">".gettext($name)."</th>";
+          if (isset($params['limit']) && $params['limit']>0)
+          {
+            $result .= _display_resume_groupe_category($group, $exalead_data->query->context,'',$params['limit']);
+          
+          }else
+          {
+            $result .= _display_resume_groupe_category($group, $exalead_data->query->context);
+          }
+      }
       $result .= "</table>";
       return $result;
     }