source: cpc/trunk/project/lib/model/doctrine/QuestionEcrite.class.php @ 1495

Last change on this file since 1495 was 1495, checked in by roux, 10 years ago

modif questions oubliée

File size: 2.9 KB
Line 
1<?php
2
3/**
4 * This class has been auto-generated by the Doctrine ORM Framework
5 */
6class QuestionEcrite extends BaseQuestionEcrite
7{
8
9  public function getLink() {
10    sfProjectConfiguration::getActive()->loadHelpers(array('Url'));
11    return url_for('@question_numero?numero='.$this->numero);
12  }
13  public function getPersonne() {
14    return $this->getParlementaire()->getNom();
15  }
16
17  public function __toString() {
18    $str = substr(strip_tags($this->question), 0, 250);
19    if (strlen($str) == 250) {
20      $str .= '...';
21    } else if (!$str) $str = "";
22    return $str;
23  }
24
25  public function getLastDate() {
26    if ($this->date_cloture)
27      return $this->date_cloture;
28    return $this->date;
29  }
30
31  public function getTitre() {
32    $titre = 'Question N° '.$this->numero.' du '.myTools::displayVeryShortDate($this->date).' ('.preg_replace('/\s*[\/\(].*$/', '', $this->ministere).')';
33    if ($this->date_cloture && !$this->reponse && date("Y-m-d") > $this->date_cloture) $titre .= ' (Retirée)';
34    else if (!$this->reponse) $titre .= ' (Sans réponse)';
35    else $titre .= ' (Réponse le '.myTools::displayVeryShortDate($this->date_cloture).')';
36    return $titre;
37  }
38
39  public function setAuteur($depute) {
40    $sexe = null;
41    if (preg_match('/^\s*(M+[\s\.ml]{1})[a-z]*\s*([dA-Z].*)\s*$/', $depute, $match)) {
42        $nom = $match[2];
43        if (preg_match('/M[ml]/', $match[1]))
44          $sexe = 'F';
45        else $sexe = 'H';
46    } else $nom = preg_replace("/^\s*(.*)\s*$/", "\\1", $depute);
47    $depute = Doctrine::getTable('Parlementaire')->findOneByNomSexeGroupeCirco($nom, $sexe);
48    if (!$depute) print "ERROR: Auteur introuvable in ".$this->source." : ".$nom." // ".$sexe."\n";
49    else {
50      $this->_set('Parlementaire', $depute);
51      $depute->free();
52    }
53  }
54  public function uniqueMinistere() 
55  {
56    $ministere = 'Ministère d';
57    if (preg_match('/(Affaires|Espace)(\s+[\wàéëêèïîôöûüÉ]+)/', $this->ministere, $match)) $ministre = $match[1].$match[2];
58    else {
59      $ministre = preg_replace('/^.*\/\s*([\wàéëêèïîôöûüÉ]+)$/', '\\1', $this->ministere);
60      $ministre = preg_replace('/^([\wàéëêèïîôöûüÉ]+)[,\s].*$/', '\\1', $ministre);
61    }
62    if (preg_match('/^(Affaires|Sports|Transports|Solidarités)/', $ministre)) $ministere .= 'es ';
63    else if (preg_match('/^[AEÉIOU]/', $ministre)) $ministere .= 'e l\'';
64    else if (preg_match('/^(Famille|Santé|Coopération|Culture|Défense|Justice|Consommation|Solidarité)/', $ministre)) $ministere .= 'e la ';
65    else $ministere .= 'u ';
66    if (preg_match('/^Premier/', $ministre)) $ministere = 'Premier Ministre';
67    else $ministere .= $ministre;
68    return $ministere;
69  }
70  public function firstTheme()
71  {
72    $theme = preg_replace('/^\s*([\w\-àéëêèïîôöûüÉ\s]+)*[,\/:].*$/', '\\1', $this->themes);
73    $theme = preg_replace('/^(.*)\s+$/', '\\1', $theme);
74    return $theme;
75  }
76}
Note: See TracBrowser for help on using the repository browser.