Changeset 2430


Ignore:
Timestamp:
Oct 31, 2011, 1:48:47 AM (9 years ago)
Author:
komodo
Message:

fix load hemi + display amdmts/lois

Location:
cpc/branches/senat/project/lib/model/doctrine
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cpc/branches/senat/project/lib/model/doctrine/Intervention.class.php

    r2421 r2430  
    100100    if (!preg_match('/ministre|secr[^t]+taire [^t]+tat|commissaire|garde des sceaux/i', $fonction)) {
    101101      $personne = Doctrine::getTable('Parlementaire')->findOneByNom($nom);
    102       if (!$personne && ($this->type != "commission" || $fonction == null || preg_match('/(rapporteur|présidente?$|présidente? de la commission)/i', $fonction))) {
     102      if (!$personne && ($this->type != "commission" || $fonction == null || preg_match('/(sénateur|sénatrice|rapporteur|présidente?$|présidente? de la commission)/i', $fonction))) {
    103103        $personne = Doctrine::getTable('Parlementaire')->similarTo($nom);
    104104      }
     
    275275 
    276276  public function setIntervention($s) {
     277    $s = str_replace(html_entity_decode(' ', ENT_COMPAT, "UTF-8"), ' ', $s);
    277278    $this->_set('nb_mots', str_word_count($s));
    278279    return $this->_set('intervention', $s);
     
    285286      $interres = '';
    286287      foreach (explode('</p>', $intertot) as $inter) {
    287 
    288288       //Repère les amendements (pour les linkifier)
    289289       if (preg_match_all('/(amendements?[,\s]+(identiques?)?[,\s]*)((n[°os\s]*|\d+\s*|,\s*|à\s*|et\s*|rectifié\s*)+)/', $inter, $match)) {
     
    303303              $link = str_replace('LLL', urlencode($lois), $linko);
    304304              $link = str_replace('AAA', urlencode($am), $link);
    305               $replace = preg_replace('/%'.$amend.'%/', '<a name="amend_'.$am.'" href="'.$link.'">'.$amend.'</a> ', $replace);
     305              $replace = preg_replace('/%'.$amend.'%/', '<a name="amend_'.$am.'" href="'.$link.'">'.$amend.'</a>', $replace);
    306306            }
    307307            $inter = preg_replace('/'.$match[1][$i].$match[3][$i].'/', $match[1][$i].$replace, $inter);
     
    311311
    312312      //Repère les documents parlementaires (pour les linkifier)
    313       if (preg_match_all('/(projet|proposition)[^<]+[<i>]*(nos?\s|n<sup>[os\&nbp\;]+[^>]*>|n°)(\W[^<\)]*\d[^<\)]*)/', $inter, $matches)) {
     313      if (preg_match_all('/(projet|proposition|annexe|rapport|avis)[^<x]+[<i>]*(nos?\s|n<sup>[os\&nbp\;]+[^>]*>|n°s?)(\W*[^<x\)]*\d[^<x\)\w]*)/i', $inter, $matches)) {
    314314        $match = $matches[3];
    315315        sfProjectConfiguration::getActive()->loadHelpers(array('Url'));
    316316        for($i = 0 ; $i < count($match) ; $i++) {
    317                 $matche = explode(',', $match[$i]);
     317                $match[$i] = preg_replace('/[, ]+et[, ]+/', ', ', $match[$i]);
     318                $matche = explode(';', $match[$i]);
     319                if (count($matche) == 1 && (strlen($match[$i]) > 16 || strlen($match[$i]) < 14))
     320                        $matche = explode(',', $matche[0]);
    318321                $loie = $matche;
    319                 for ($y = 0 ; $y < count($matche) ; $y++) {
    320                         $loie[$y] = preg_replace('/(\d+)\D+(\d+)\-(\d+)\D*/', '\\2\\3-\\1', $matche[$y]);
     322                for ($y = 0 ; $y < count($matche) ; $y++) if (preg_match('/\d/', $matche[$y])) {
     323                        if (preg_match('/annexe/', $matches[1][$i]) && $i)
     324                             $loie[$y] = $oldloi."-".preg_replace('/^\D*(\d+)\D*$/', '\\1', $matche[$y]);
     325                        else $loie[$y] = preg_replace('/\s*(\d+)\D+(\d+)\-(\d+)\D*/', '\\2\\3-\\1', $matche[$y]);
    321326                        if (!preg_match('/\-/', $loie[$y])) {
    322327                                $loie[$y] = $this->getSeance()->getSession().'-'.preg_replace('/\D/', '', $loie[$y]);
    323328                        }
    324                         $matche[$y] = preg_replace('/\D/', '.', $matche[$y]);
    325                         $inter = preg_replace('/('.$matche[$y].')/', '<a href="'.url_for('@document?id='.$loie[$y]).'">\\1</a>', $inter);
     329                        $loie[$y] = trim($loie[$y]);
     330                        if (strlen($loie[$y]) < 10) continue;
     331                        $matche[$y] = preg_replace('/\D/', '.', trim($matche[$y]));
     332                        $inter = preg_replace('/(n[os\s<up>°]*)?('.$matche[$y].')/', '<a href="'.url_for('@document?id='.$loie[$y]).'">\\1\\2</a>', $inter);
     333                        $oldloi = $loie[$y];
    326334                }
    327335         }
  • cpc/branches/senat/project/lib/model/doctrine/PersonnaliteTable.class.php

    r2397 r2430  
    1212      return null;
    1313    $str = preg_replace('/\(.*\)/', '', $str);
     14    $str = preg_replace('/[\(\)]/', '', $str);
    1415    $word = preg_replace('/^.*\s(\S+)\s*$/i', '\\1', $str);
    1516    $q = $this->createQuery('p')->where('nom LIKE ?', '% '.$word.'%');
  • cpc/branches/senat/project/lib/model/doctrine/Section.class.php

    r2413 r2430  
    9090
    9191  public function getTitre() {
    92     return myTools::betterUCFirst(preg_replace('/\s*\?$/', '', $this->_get('titre')));
     92    $titre = myTools::betterUCFirst(preg_replace('/\s*\?$/', '', $this->_get('titre')));
     93    if (preg_match('/audition/i', $titre)) {
     94      $titre = preg_replace('audition', 'Audition', $titre);
     95      $titre = preg_replace('([, ])m([mle\.]+) (.)(\S+) (.)(\S+)', '\\1M\\2 \U\\3\\4 \U\\5\\6', $titre);
     96    }
     97    return $titre;
    9398  }
    9499
  • cpc/branches/senat/project/lib/model/doctrine/SectionTable.class.php

    r2237 r2430  
    3030 
    3131  private static function cleanContexte($contexte) {
    32     $contexte = strtolower($contexte);
     32    $contexte = str_replace(array("’", "&#8217;"), "'", $contexte);
    3333    $contexte = preg_replace('/[\/\|\)\(]+/', '', $contexte);
    34     $contexte = preg_replace('/\&\#8217\;/', '\'', $contexte);
     34    $contexte = strtolower(htmlentities(html_entity_decode($contexte, ENT_COMPAT, 'UTF-8'), ENT_COMPAT, 'UTF-8'));
     35    $contexte = preg_replace('/\&\#\d+\;/', '', $contexte);
    3536    $contexte = html_entity_decode($contexte, ENT_COMPAT, 'UTF-8');
    36     $contexte = strtolower(htmlentities($contexte, ENT_COMPAT, 'UTF-8'));
    37     $contexte = preg_replace('/\&\#\d+\;/', '', $contexte);
    38     $contexte = strtolower(html_entity_decode($contexte, ENT_COMPAT, 'UTF-8'));
     37    $contexte = str_replace(html_entity_decode('&nbsp;', ENT_COMPAT, "UTF-8"), ' ', $contexte);
    3938    $contexte = preg_replace('/\,/', ' ', $contexte);
    4039    $contexte = preg_replace('/\s+/', ' ', $contexte);
Note: See TracChangeset for help on using the changeset viewer.