fix transition script
[platal.git] / include / exalead / exalead.smarty.inc.php
index 3aae2b3..bc76cc8 100644 (file)
@@ -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;
 }
 
@@ -230,7 +239,7 @@ function _little_nav_barre($params, &$smarty){
                $res .=" <td width=\"20%\" style=\"text-align: left;\">";
        if($exalead_data->start != 0){
                $num=$exalead_data->start-1;
-               $res .="<a href=\"?_C={$exalead_data->query->context}&_s=".$num."\">Précédent</a>";
+               $res .="<a href=\"?_C={$exalead_data->query->context}&_s=".$num."\">Précédent</a>";
        }
        $num=$exalead_data->start+1;
        $res .= "</td>";
@@ -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é';
+  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;
 }
 }
 
@@ -284,13 +299,13 @@ if ($title!='Inconnu'){
 function _display_2_columns($title, $reset, $excluded, $categorie){
   global $exa_max_length;
   if($excluded){
-    if($categorie) $title_link = 'Afficher de nouveau cette catégorie';
-    else $title_link = 'Afficher de nouveau ce mot-clé';
+    if($categorie) $title_link = 'Afficher de nouveau cette catégorie';
+    else $title_link = 'Afficher de nouveau ce mot-clé';
     $link = '[+]';
     $style = 'text-decoration: line-through;';
   } else{
-    if($categorie) $title_link = 'Voir les autres catégories';
-    else $title_link = 'Voir les autres mots-clés';
+    if($categorie) $title_link = 'Voir les autres catégories';
+    else $title_link = 'Voir les autres mots-clés';
     $link = '[-]';
     $style = 'text-decoration: none; font-weight: bold;';
   }
@@ -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.')');
+        $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;
+        $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;
     }