/[openfoncier]/trunk/obj/consultation.class.php
ViewVC logotype

Contents of /trunk/obj/consultation.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (show annotations)
Tue Oct 23 10:43:49 2012 UTC (12 years, 3 months ago) by nhaye
File size: 6898 byte(s)
Modification de la méthode d'envoi de mail.
Agrandissement du champ valeur de la table om_parametre + régénération
Envoi de notification lors de l'ajout de consultation

1 <?php
2 //$Id$
3 //gen openMairie le 10/02/2011 20:32
4 require_once ("../gen/obj/consultation.class.php");
5
6 class consultation extends consultation_gen {
7 var $maj;
8 function consultation($id,&$db,$debug) {
9 $this->constructeur($id,$db,$debug);
10 }// fin constructeur
11
12 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
13 if ($validation==0) {
14 if ($maj == 0){
15 $form->setVal("dossier", $idxformulaire);
16 $form->setVal("date_envoi",date('d/m/Y'));
17 }
18 else
19 if ( $maj == 1 )
20 $form->setVal("date_retour",date('d/m/Y'));
21 }
22 }
23
24 function setType(&$form,$maj) {
25 parent::setType($form,$maj);
26 if ($maj < 2) { //ajouter et modifier [add and modify]
27 if($maj==0){ // add
28 $form->setType('date_envoi', 'date2');
29 $form->setType('service', 'select');
30 $form->setType('date_limite', 'hidden');
31 $form->setType('date_retour', 'hidden');
32 $form->setType('avis_consultation', 'hidden');
33 $form->setType('motivation', 'hidden');
34 $form->setType('fichier', 'hidden');
35 $form->setType('lu', 'hidden');
36 $form->setType('date_reception', 'hidden');
37 }else{ // modify
38 $form->setType('date_envoi', 'hiddenstaticdate');
39 $form->setType('date_limite', 'hiddenstaticdate');
40 $form->setType('service', 'selecthiddenstatic');
41 $form->setType('date_retour', 'date2');
42 $form->setType('avis_consultation', 'select');
43 $form->setType('motivation', 'textarea');
44 $form->setType('fichier', 'upload');
45 }
46 $form->setType('dossier', 'hiddenstatic');
47 }
48 $form->setType('consultation', 'hidden');
49
50 $form->setType('consultation', 'hidden');
51 }
52
53 // TRIGGER AVANT MODIFICATION DE DONNEES
54 // trigger before modification data
55 function triggerajouter($id,&$db,$val,$DEBUG) {
56 // mise a jour instruction avec evenement [return delay]
57 if ($this->valF['date_envoi']!=""){
58 $sql= "select delai from ".DB_PREFIXE."service where service ='".$this->valF['service']."'";
59 $delai = $db->getOne($sql);
60 $this->valF['date_limite'] = $this->moisdate($this->valF['date_envoi'],$delai);
61 $this->addToMessage(_("delai")." ".
62 _("retour")." ".$delai." "._("mois")." -> ".
63 _("retour")." ".$this->valF['date_limite']."<br>");
64 $this->valF['lu'] = true;
65 }
66
67 }
68
69 function triggerajouterapres($id,&$db,$val,$DEBUG) {
70
71 // Verification de la demande de notif par mail
72 $sql= "SELECT abrege, notification_email, email FROM ".DB_PREFIXE.
73 "service WHERE service ='".$this->valF['service']."'";
74 $res=$db->query($sql);
75 $notif = $res->fetchrow(DB_FETCHMODE_ASSOC);
76 if (database :: isError($sql))die($res->getMessage()."erreur ".$sql);
77 if ($notif['notification_email']=='t') {
78
79 // Recuperation des infos du dossier
80 $sql= "SELECT dossier, terrain_adresse, terrain_adresse_complement, terrain_cp, terrain_ville
81 FROM ".DB_PREFIXE."dossier WHERE dossier ='".$this->valF['dossier']."'";
82 $res=$db->query($sql);
83 $dossier = $res->fetchrow(DB_FETCHMODE_ASSOC);
84
85 // Definition des parametres d'envoi du mail
86 $title=_("Consultation de services : dossier no")." ".$dossier['dossier'];
87 $corps=_("Votre service est consulte concernant le dossier no")." ".$dossier['dossier']."<br/>".
88 _("Il concerne le terrain situe a l'adresse :")." ".utf8_decode($dossier['terrain_adresse']).
89 " ".utf8_decode($dossier['terrain_adresse_complement'])." ".utf8_decode($dossier['terrain_cp'])." ".$dossier['terrain_ville']."<br/>".
90 _("Vous pouvez y acceder et rendre votre avis à l'adresse")." <a href='".$this->f->getParameter('lien_interne_vdm').
91 "scr/form.php?obj=consultation&action=3&idx=".$this->valF['consultation']."' >".
92 _("Lien interne (services VDM)")."</a> "._("ou")." <a href='".$this->f->getParameter('lien_externe').
93 "scr/form.php?obj=consultation&action=3&idx=".$this->valF['consultation']."' >".
94 _("Lien externe (hors VDM)")."</a>";
95 // Envoi du mail avec message de retour
96 if($this->f->sendMail($title, $corps, $notif['email'])) {
97 $this->addToMessage(_("Envoi d'un mail de notification au service")." ".$notif['abrege']);
98 } else {
99 $this->addToMessage(_("L'envoi du mail de notification a echoue"));
100 }
101 }
102
103 }
104
105 // =============================================
106 // calcul de date avec ajout de mois (delais)
107 // [add months (delay) and calculation final date]
108 // limite ? => voir fonction instruction
109 // =============================================
110 function moisdate($date,$delaimois) {
111 // rajout de mois à une date (moins de 12)
112 $temp = explode("-" , $date);
113 $jour = (int) $temp[2];
114 $mois = (int) $temp[1];
115 $annee = (int) $temp[0];
116 $mois=$mois+$delaimois;
117 // calcul mois annee
118 if($mois>12){
119 $mois=$mois-12;
120 $annee=$annee+1;
121 }
122 // Calcul du nombre de jours dans le mois sélectionné
123 switch($mois) {
124 case "2":
125 if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0)
126 $jourmax = 29;
127 else
128 $jourmax = 28;
129 break;
130 case "4":
131 case "6":
132 case "9":
133 case "11":
134 $jourmax = 30;
135 break;
136 default:
137 $jourmax = 31;
138 }
139 if ($jour > $jourmax)
140 $jour = $jourmax;
141 return $annee."-".$mois."-".$jour ;
142 }
143
144 // =============================================
145 // Ajout du fielset
146 // Add fieldset
147 // =============================================
148 function setLayout(&$form, $maj){
149 if ( $maj < 2 OR $maj == 3 ) {
150 //Champs sur lequel s'ouvre le fieldset
151 $form->setBloc('dossier','D',"");
152 $form->setFieldset('dossier','D',_('Consultation'));
153
154 //Champs sur lequel se ferme le fieldset
155 $form->setFieldset('date_envoi','F','');
156 $form->setBloc('date_envoi','F');
157 if ( $maj == 1 OR $maj == 3 ){
158 //Champs sur lequel s'ouvre le fieldset
159 $form->setBloc('date_reception','D',"");
160 $form->setFieldset('date_reception','D',_('Retour d\'avis'));
161
162 //Champs sur lequel se ferme le fieldset
163 $form->setFieldset('lu','F','');
164 $form->setBloc('lu','F');
165 }
166 }
167
168 }
169
170 }// fin classe
171 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26