Changeset 1535


Ignore:
Timestamp:
Oct 2, 2010, 10:37:10 PM (10 years ago)
Author:
popeye
Message:

Mieux comme ca

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/apps/frontend/modules/solr/actions/actions.class.php

    r1530 r1535  
    1313
    1414  private function getPhoto($obj) {
    15     sfProjectConfiguration::getActive()->loadHelpers(array('Url'));
     15    sfProjectConfiguration::getActive()->loadHelpers(array('Url')); 
    1616    switch(get_class($obj)) {
    1717    case 'Intervention':
    1818      if ($obj->getParlementaire()->__toString()) {
    19         return $this->getPartial('parlementaire/photoParlementaire', array('parlementaire'=>$obj->getParlementaire(), 'height'=>70));
     19        return $this->getPartial('parlementaire/photoParlementaire', array('parlementaire'=>$obj->getParlementaire(), 'height'=>70));
    2020      }
    2121    case 'QuestionEcrite':
     
    6161    if ($tags = $request->getParameter('tag')) {
    6262      foreach(explode(',', $tags) as $tag) {
    63               $this->selected['tag'][$tag] = 1;
    64               $fq .= ' tag:"'.$tag.'"';
     63        $this->selected['tag'][$tag] = 1;
     64        $fq .= ' tag:"'.$tag.'"';
    6565      }
    6666    }
     
    105105
    106106    if ($format == 'csv') {
    107       //      $this->getResponse()->setContentType('application/csv; charset=utf-8');
     107      // $this->getResponse()->setContentType('application/csv; charset=utf-8');
    108108      $this->getResponse()->setContentType('text/plain; charset=utf-8');
    109109      $this->setTemplate('csv');
     
    125125     
    126126      $nbjours = round((strtotime($to) - strtotime($from))/(60*60*24)-1);
     127      $jours_max = 90; // Seuil en nb de jours qui détermine l'affichage par jour ou par mois
    127128     
    128129      $comp_date_from = explode("T", $from);
    129130      $comp_date_from = explode("-", $comp_date_from[0]);
    130131      $comp_date_from = mktime(0, 0, 0, $comp_date_from[1] + 1, $comp_date_from[2], $comp_date_from[0]);
    131       $comp_date_from = date("Y-m-d", $comp_date_from);
    132      
    133       $period = 'DAY';
    134       $this->vue = 'par jour';
    135       $this->limit = $to;
    136      
    137       // Affichage d'un mois
    138       if($comp_date_from.'T00:00:00Z' == $to) {
    139         $period = 'DAY';
    140         $this->vue = 'le mois de';
    141       }
    142       // Affichage d'une période
    143       else if(($nbjours > 90) and ($from != $to)) {
    144         $period = 'MONTH';
    145         $this->vue = 'par mois';
    146       }
     132      $comp_date_from = date("Y-m-d", $comp_date_from).'T00:00:00Z';
     133     
    147134      // Affichage d'un jour
    148135      if($from == $to) {
     
    150137        $this->vue = 'ce jour';
    151138      }
     139      // Affichage d'un mois
     140      if($comp_date_from == $to) {
     141        $period = 'DAY';
     142        $this->vue = 'le mois de';
     143      }
     144      // Affichage d'une période
     145      if(($nbjours < $jours_max) and ($from != $to) and ($comp_date_from != $to)) {
     146        $period = 'DAY';
     147        $to = $to.'+1DAY';
     148        $this->vue = 'par jour';
     149      }
     150      if($nbjours > $jours_max) {
     151        $period = 'MONTH';
     152        $to = $to.'+1MONTH';
     153        $this->vue = 'par mois';
     154      }
    152155     
    153156      $query .= ' date:['.$from.' TO '.$to.']';
    154157      $params['facet.date.start'] = $from;
    155             $params['facet.date.end'] = $to;
     158      $params['facet.date.end'] = $to;
    156159      $params['facet.date.gap'] = '+1'.$period;
    157160    }
     
    179182      $this->results['docs'][$i]['personne'] = $obj->getPersonne();
    180183      if (isset($results['highlighting'][$res['id']]['text'])) {
    181               $high_res = array();
    182               foreach($results['highlighting'][$res['id']]['text'] as $h) {
    183                 $h = preg_replace('/.*=/', '', $h);
    184                 array_push($high_res, $h);
    185               }
    186               $this->results['docs'][$i]['highlighting'] = preg_replace('/^'."$this->results['docs'][$i]['personne']".'/', '', implode('...', $high_res));
     184        $high_res = array();
     185        foreach($results['highlighting'][$res['id']]['text'] as $h) {
     186          $h = preg_replace('/.*=/', '', $h);
     187          array_push($high_res, $h);
     188        }
     189        $this->results['docs'][$i]['highlighting'] = preg_replace('/^'."$this->results['docs'][$i]['personne']".'/', '', implode('...', $high_res));
    187190      }
    188191      else $this->results['docs'][$i]['highlighting'] = '';
     
    211214      $this->facet['tag']['name'] = 'Tags';
    212215      foreach($tags as $tag => $nb ) {
    213               if (!$nb)
    214               continue;
    215               if (!preg_match('/=/', $tag))
    216                 $this->facet['tag']['values'][$tag] = $nb;
    217               if (preg_match('/^parlementaire=(.*)/', $tag, $matches)) {
    218                 $this->facet['parlementaire']['values'][$matches[1]] = $nb;
    219               }
     216        if (!$nb)
     217        continue;
     218        if (!preg_match('/=/', $tag))
     219          $this->facet['tag']['values'][$tag] = $nb;
     220        if (preg_match('/^parlementaire=(.*)/', $tag, $matches)) {
     221          $this->facet['parlementaire']['values'][$matches[1]] = $nb;
     222        }
    220223      }
    221224    }
     
    223226    if (!$results['response']['numFound']) {
    224227      if ($format)
    225             return ;
     228      return ;
    226229      return $this->setTemplate('noresults');
    227230    }
     
    230233    foreach($results['facet_counts']['facet_dates']['date'] as $date => $nb) {
    231234      if (preg_match('/^20/', $date)) {
    232               $pc = $nb/$results['response']['numFound'];
    233               $this->fdates['values'][$date] = array('nb' => $nb, 'pc' => $pc);
    234               if ($this->fdates['max'] < $pc) {
    235                 $this->fdates['max'] = $pc;
    236               }
     235        $pc = $nb/$results['response']['numFound'];
     236        $this->fdates['values'][$date] = array('nb' => $nb, 'pc' => $pc);
     237        if ($this->fdates['max'] < $pc) {
     238          $this->fdates['max'] = $pc;
     239        }
    237240      }
    238241    }
Note: See TracChangeset for help on using the changeset viewer.