Changeset 2396


Ignore:
Timestamp:
Oct 17, 2011, 5:22:02 PM (9 years ago)
Author:
teymour
Message:

Meilleure gestion du repérage des parlementaires en cas de juste nom de famille

Location:
cpc/branches/senat/project/lib
Files:
2 edited

Legend:

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

    r2200 r2396  
    77  protected $changed = 0;
    88  protected $all = null;
    9   public function similarTo($str, $sexe = null, $return_array = 0)
     9  public function similarTo($str, $sexe = null, $return_array = 0, $year = 0)
    1010  {
    1111    if (preg_match('/^\s*$/', $str))
     
    1919        return array($res[0]);
    2020      return $res[0];
     21    }else{
     22      $similar = array();
     23      foreach ($res as $r) {
     24        if (preg_match('/ '.$str.'$/', $r->nom) && (!$r->fin_mandat || !$year || preg_replace('/-.*/', '', $r->fin_mandat) >= $year))
     25          $similar[] = $r;
     26      }
     27      if (count($similar) == 1 && (!$sexe || $similar[0]->sexe == $sexe) )
     28        if ($return_array)
     29          return $similar;
     30        else
     31          return $similar[0];
     32
     33      if  (count($similar) > 1 && !$sexe)
     34        if ($return_array)
     35          return array();
     36        else
     37          return null;
    2138    }
    2239
     
    7188      return $this->find($closest['id']);
    7289
    73 
    7490    return null;
    7591  }
  • cpc/branches/senat/project/lib/task/loadJOTask.class.php

    r2394 r2396  
    5050            $senateur = Doctrine::getTable('Parlementaire')->findOneByNom($jo->senateur);
    5151            if ($jo->senateur && !$senateur) {
    52               $senateur = Doctrine::getTable('Parlementaire')->similarTo($jo->senateur);
     52              $senateur = Doctrine::getTable('Parlementaire')->similarTo($jo->senateur, null, 0, preg_replace('/-.*/', '', $jo->date));
    5353            }
    5454            if (!$senateur) {
    55               echo "ERROR senateur : ";
     55              echo "ERROR senateur (Not recognized) : ";
    5656              echo $line;
    5757              echo "\n";
Note: See TracChangeset for help on using the changeset viewer.