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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 121 - (show annotations)
Thu Sep 8 10:31:23 2011 UTC (13 years, 5 months ago) by fraynaud
File size: 25943 byte(s)
correction bug recherche entre 2 dates
parametrage action
modification instruction.class ajouterapres



1 <?php
2 //$Id$
3 //gen openMairie le 10/02/2011 20:34
4 /*
5 $Id: instruction.class.php,v 1.29 2010-10-27 10:52:20 fraynaud Exp $
6 specific :
7 - cle secondaire
8 destruction autorisée que pour le dernier evenement
9 [delete the last event ]
10 - variable globale [global variables]
11 var $archive_date_depot;
12 var $retourformulaire;
13 var $idxformulaire;
14 - modification des données dans dossier trigger avant
15 [modify dossier data with trigger function]
16 - function moisdate : pour ajouter des mois a une date
17 [add months (delay) and calculation final date]
18 - voir script_lang.js : bible ...
19 */
20 require_once ("../gen/obj/instruction.class.php");
21
22 class instruction extends instruction_gen {
23
24 var $archive_date_depot; // specific
25 var $retourformulaire; // specific
26 var $idxformulaire; // specific
27
28 function instruction($id,&$db,$debug) {
29 $this->constructeur($id,$db,$debug);
30 }// fin constructeur
31
32 function setvalF($val){
33 $this->valF['instruction'] = $val['instruction'];
34 $this->valF['destinataire'] = $val['destinataire'];
35 $this->valF['lettretype'] = $val['lettretype'];
36 $this->valF['dossier'] = $val['dossier'];
37 if($val['datecourrier']!="")
38 $this->valF['datecourrier'] = $this->dateDB($val['datecourrier']);
39 $this->valF['complement'] = $val['complement'];
40 $this->valF['complement2'] = $val['complement2'];
41 $this->valF['evenement'] = $val['evenement'];
42 }
43
44
45 function cleSecondaire($id,&$db,$val,$DEBUG) {
46 // controle suppression cle secondaire [secondary key delete control]
47 // ------------------------------------------------------------------------------------
48 // specifique detruire que le dernier [specific instruction : delete the last event ]
49 // ------------------------------------------------------------------------------------
50 $dernierevenement='';
51 $sql="select max(instruction) from instruction where dossier ='".
52 $this->idxformulaire."'";
53 $dernierevenement = $db->getOne($sql);
54 if($dernierevenement==$id){
55 $this->correct=true;
56 $this->msg="<br>"._('destruction_chronologique')." ok <br>";
57 }else{
58 $this->msg="<br>"._('destruction_evenement')." : ".$dernierevenement.
59 "<br>"._('destruction_chronologique');
60 $this->correct=false;
61 }
62 }
63
64 function verifier($val,&$db,$DEBUG){
65 $this->correct=True;
66 $imgv="";
67 $f="&nbsp!&nbsp;&nbsp;&nbsp;&nbsp;";
68 $imgv="<img src='../app/img/punaise.png' style='vertical-align:middle' hspace='2' border='0'>";
69 // obligatoire
70 if ($this->valF['destinataire']==""){
71 $this->correct=false;
72 $this->msg= $this->msg.$imgv." "._('instruction')." ".
73 _('obligatoire').$f;
74 }
75 if ($val['datecourrier']==""){
76 $this->correct=false;
77 $this->msg= $this->msg.$imgv." "._('datecourrier')." ".
78 _('obligatoire').$f;
79 }
80 if ($val['evenement']==""){
81 $this->correct=false;
82 $this->msg= $this->msg.$imgv." "._('evenement')." ".
83 _('obligatoire').$f;
84 }
85 }//verifier
86
87 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
88 if ($validation==0) {
89 if ($maj == 0){
90 $form->setVal("destinataire", $idxformulaire);
91 $form->setVal("dossier", $idxformulaire);
92 $form->setVal("datecourrier", date('Y-m-d'));
93 }
94 $form->setVal("bible_auto","bible_auto()");
95 $form->setVal("bible","bible()");
96 $form->setVal("bible2","bible2()");
97 }
98 $this->retourformulaire=$retourformulaire;
99 $this->idxformulaire=$idxformulaire;
100 }
101
102 function setType(&$form,$maj) {
103 if ($maj < 2) { //ajouter et modifier
104 $form->setType('destinataire', 'hidden');
105 $form->setType('lettretype', 'hiddenstatic');
106 $form->setType('complement', 'textarea');
107 $form->setType('complement2', 'textarea');
108 $form->setType('complement3', 'hidden');
109 $form->setType('bible3', 'hidden');
110 $form->setType('complement4', 'hidden');
111 $form->setType('bible4', 'hidden');
112 $form->setType('complement5', 'hidden');
113 $form->setType('bible5', 'hidden');
114 $form->setType('complement6', 'hidden');
115 $form->setType('bible6', 'hidden');
116 $form->setType('complement7', 'hidden');
117 $form->setType('bible7', 'hidden');
118 $form->setType('complement8', 'hidden');
119 $form->setType('bible8', 'hidden');
120 $form->setType('complement9', 'hidden');
121 $form->setType('bible9', 'hidden');
122 $form->setType('complement10', 'hidden');
123 $form->setType('bible10', 'hidden');
124 $form->setType('complement11', 'hidden');
125 $form->setType('bible11', 'hidden');
126 $form->setType('complement12', 'hidden');
127 $form->setType('bible12', 'hidden');
128 $form->setType('complement13', 'hidden');
129 $form->setType('bible13', 'hidden');
130 $form->setType('complement14', 'hidden');
131 $form->setType('bible14', 'hidden');
132 $form->setType('complement15', 'hidden');
133 $form->setType('bible15', 'hidden');
134 $form->setType('bible_auto', 'httpclick');
135 $form->setType('bible', 'httpclick');
136 $form->setType('bible2', 'httpclick');
137 $form->setType('dossier', 'hiddenstatic');
138 $form->setType('delai', 'hidden');
139 $form->setType('etat', 'hidden');
140 $form->setType('accord_tacite', 'hidden');
141 $form->setType('action', 'hidden');
142 $form->setType('delai_notification', 'hidden');
143 $form->setType('avis', 'hidden');
144 $form->setType('archive_delai', 'hidden');
145 $form->setType('archive_etat', 'hidden');
146 $form->setType('archive_accord_tacite', 'hidden');
147 $form->setType('archive_avis', 'hidden');
148 $form->setType('archive_date_complet', 'hidden');
149 $form->setType('archive_date_rejet', 'hidden');
150 $form->setType('archive_date_limite', 'hidden');
151 $form->setType('archive_date_notification_delai', 'hidden');
152 $form->setType('archive_date_decision', 'hidden');
153 $form->setType('archive_date_validite', 'hidden');
154 $form->setType('archive_date_achevement', 'hidden');
155 $form->setType('archive_date_conformite', 'hidden');
156 $form->setType('archive_date_chantier', 'hidden');
157 $form->setType('libelle', 'hiddenstatic');
158 if($maj==0){ // add
159 $form->setType('instruction', 'hiddenstatic');
160 $form->setType('evenement', 'select');
161 $form->setType('datecourrier', 'date2');
162 }else{ // modify
163 $form->setType('instruction', 'hiddenstatic');
164 $form->setType('evenement', 'hiddenstatic');
165 //$form->setType('datecourrier', 'hiddenstaticdate');
166 $form->setType('datecourrier', 'date2');
167 }
168 }else{ // supprimer [delete]
169 $form->setType('instruction', 'hiddenstatic');
170 $form->setType('dossier', 'hiddenstatic');
171 $form->setType('archive_delai', 'hiddenstatic');
172 $form->setType('archive_etat', 'hiddenstatic');
173 $form->setType('archive_accord_tacite', 'hiddenstatic');
174 $form->setType('archive_avis', 'hiddenstatic');
175 $form->setType('archive_date_complet', 'hiddenstatic');
176 $form->setType('archive_date_rejet', 'hiddenstatic');
177 $form->setType('archive_date_limite', 'hiddenstatic');
178 $form->setType('archive_date_notification_delai', 'hiddenstatic');
179 $form->setType('archive_date_decision', 'hiddenstatic');
180 $form->setType('archive_date_validite', 'hiddenstatic');
181 $form->setType('archive_date_achevement', 'hiddenstatic');
182 }
183 }
184
185 function setTaille(&$form,$maj){
186 $form->setTaille('complement', 120);
187 $form->setTaille('complement2', 120);
188 $form->setTaille('datecourrier', 12);
189 }
190
191 function setMax(&$form,$maj){
192 $form->setMax('complement',12 );
193 $form->setMax('complement2',12 );
194 }
195
196 //function setSelect(&$form, $maj,&$db,$DEBUG,$idxformulaire) {
197 function setSelect(&$form, $maj,&$db,$DEBUG) {
198 if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc"))
199 include ("../sql/".$db->phptype."/".$this->table.".form.inc");
200 if($maj<2){
201 // *** evenement ***
202 $contenu=array();
203 // etat du dossier
204 $sql="select etat from dossier where dossier ='".
205 $this->idxformulaire."'";
206 $etat_dossier = $db->getOne($sql);
207 $nature_dossier= substr($this->idxformulaire,0,2);
208 // recherche des evenement de transition
209 $sql= $sql_transition." where transition.etat ='".$etat_dossier."' and (evenement.nature ='".
210 $nature_dossier."' or (nature ='T' and nature !='CU')) order by evenement.action";
211 // *** attention en dur le CU
212
213
214 $res = $db->query($sql);
215 if (database::isError($res))
216 die($res->getMessage());
217 $contenu[0][0]="";
218 $contenu[1][0]=_('choisir')." "._('evenement');
219 $k=1;
220 while ($row=& $res->fetchRow()){
221 if($maj==0){ // ajouter
222 $contenu[0][$k]=$row[0];
223 $contenu[1][$k]=$row[1];
224 $k++;
225 }else{
226 // select hiddenstatic
227 $contenu[0][$k]=$row[0];
228 $contenu[1][$k]=$row[1];
229 $k++;
230 }
231 }
232 $form->setSelect("evenement",$contenu);
233 // lien bible_auto [link]
234 $contenu=array();
235 $contenu[0]=" automatique ";
236 $form->setSelect("bible_auto",$contenu);
237 // lien bible1
238 $contenu=array();
239 $contenu[0]=" Bible ";
240 $form->setSelect("bible",$contenu);
241 // lien bible2
242 $contenu=array();
243 $contenu[0]=" Bible ";
244 $form->setSelect("bible2",$contenu);
245 }
246 } // function select
247
248 function setGroupe(&$form,$maj){
249 $form->setGroupe('evenement','D');
250 $form->setGroupe('libelle','G');
251 $form->setGroupe('datecourrier','G');
252 $form->setGroupe('lettretype','F');
253 }
254
255 function setRegroupe(&$form,$maj){
256 $form->setRegroupe('evenement','D',_('evenement'), "collapsible");
257 $form->setRegroupe('libelle','G','');
258 $form->setRegroupe('datecourrier','G','');
259 $form->setRegroupe('lettretype','F','');
260 $form->setRegroupe('complement','D',_('complement'), "startClosed");
261 $form->setRegroupe('bible_auto','G','');
262 $form->setRegroupe('bible','F','');
263 $form->setRegroupe('complement2','D',_('complement2'), "startClosed");
264 $form->setRegroupe('bible2','F','');
265 }
266
267 function setLib(&$form,$maj) {
268 parent :: setLib($form,$maj);
269 $form->setLib('libelle',' ');
270 $form->setLib('bible_auto',"");
271 $form->setLib('bible',"");
272 $form->setLib('bible2',"");
273 $form->setLib('lettretype',"->"._(" courrier "));
274 $form->setLib('datecourrier',_(" du "));
275 }
276
277 function setOnchange(&$form,$maj){
278 $form->setOnchange("datecourrier","fdate(this)");
279 }
280
281 // ==================================================================
282 // trigger avant modification données [trigger before modify data]
283 // ==================================================================
284 function triggerajouter($id,&$db,$val,$DEBUG) {
285 // mise a jour instruction avec evenement
286 // [modify instruction with evenement]
287 $sql= "select * from evenement where evenement =".$this->valF['evenement'];
288 $res = $db->query($sql);
289 if (database::isError($res))
290 die($res->getMessage());
291 if ($DEBUG == 1)
292 echo " la requete ".$sql." est exécutée<br>";
293 while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
294 $this->valF['action']=$row['action'];
295 $this->valF['delai']=$row['delai'];
296 $this->valF['etat']=$row['etat'];
297 $this->valF['accord_tacite']=$row['accord_tacite'];
298 $this->valF['delai_notification']=$row['delai_notification'];
299 $this->valF['avis']=$row['avis'];
300 if($row['lettretype']!="")
301 $this->valF['lettretype']=$row['lettretype'];
302 else
303 $this->valF['lettretype']="standard";
304 }
305 $sql= "select * from dossier where dossier = '".$this->valF['dossier']."'";
306 $res = $db->query($sql);
307 if (database::isError($res))
308 die($res->getMessage());
309 if ($DEBUG == 1)
310 echo " la requete ".$sql." est exécutée<br>";
311 while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
312 //
313 $this->archive_date_depot = $row['date_depot'];
314 // archive en instruction (si suppression)
315 $this->valF['archive_delai']=$row['delai'];
316 $this->valF['archive_accord_tacite']=$row['accord_tacite'];
317 $this->valF['archive_etat']=$row['etat'];
318 $this->valF['archive_avis']=$row['avis'];
319 // compatibilite pgsql
320 if($row['date_complet']!='')
321 $this->valF['archive_date_complet']=$row['date_complet'];
322 if($row['date_rejet']!='')
323 $this->valF['archive_date_rejet']= $row['date_rejet'];
324 if($row['date_limite']!='')
325 $this->valF['archive_date_limite']= $row['date_limite'];
326 if($row['date_notification_delai']!='')
327 $this->valF['archive_date_notification_delai']= $row['date_notification_delai'];
328 if($row['date_decision']!='')
329 $this->valF['archive_date_decision']= $row['date_decision'];
330 if($row['date_validite']!='')
331 $this->valF['archive_date_validite']= $row['date_validite'];
332 if($row['date_achevement']!='')
333 $this->valF['archive_date_achevement']= $row['date_achevement'];
334 if($row['date_chantier']!='')
335 $this->valF['archive_date_chantier']= $row['date_chantier'];
336 if($row['date_conformite']!='')
337 $this->valF['archive_date_conformite']= $row['date_conformite'];
338 }
339 }
340
341 // ==================================================================
342 // valeur dossier apres modification [values dossier after action]
343 // ==================================================================
344 function triggerajouterapres($id,&$db,$val,$DEBUG) {
345 // mise a null au lieu de "" / voir compatibilite mysql
346 // voir parametrage CU en dur
347 // voir parametrage des actions en dur
348 $param=0;
349
350 if($param==1){
351 $sql="select * from action where action = '".$this->valF['action']."'";
352 $res = $db->query($sql);
353 if (database::isError($res))
354 die($res->getMessage());
355 while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
356 if($row['regle_etat']!=''){
357 $valF['etat']= $this->valF[$row['regle_etat']];
358 }
359 if($row['regle_delai']!=''){
360 $valF['delai']= $this->valF[$row['regle_delai']];
361 }
362 if($row['regle_accord_tacite']!=''){
363 $valF['accord_tacite']= $this->valF[$row['regle_accord_tacite']];
364 }
365 if($row['regle_date_limite']!=''){
366 $temp = explode ("+",$row['regle_date_limite']);
367 //if(substr($row['temp'],0,7)=='archive')
368 if(isnumeric($temp[1]))
369 $valF['date_limite']= $this->moisdate($this->valF[$temp[0]],
370 $temp[1]);
371 else
372 $valF['date_limite']= $this->moisdate($this->valF[$temp[0]],
373 $this->valF[$temp[1]]);
374 }
375 }
376 }else{
377
378 switch ($this->valF['action']) {
379 case "initialisation" :
380 $valF['delai']= $this->valF['delai'];
381 $valF['etat']= $this->valF['etat'];
382 $valF['accord_tacite']= $this->valF['accord_tacite'];
383 // la date_complet est la date de depot
384 $valF['date_complet']= $this->archive_date_depot; // ****
385 $valF['date_limite'] = $this->moisdate($valF['date_complet'],$valF['delai']);
386 $valF['date_notification_delai'] = $this->moisdate($valF['date_complet'],1);
387 break;
388 case "notification" :
389 $valF['delai']= $this->valF['delai'];
390 $valF['etat']= $this->valF['etat'];
391 $valF['accord_tacite']= $this->valF['accord_tacite'];
392 // la date_complet est celle precedemment saisie
393 $valF['date_complet']=$this->valF['archive_date_complet'];
394 $valF['date_limite'] = $this->moisdate($valF['date_complet'],$valF['delai']);
395 $valF['date_notification_delai'] = $this->moisdate($valF['date_complet'],1);
396 // la date du courrier ne doit pas etre depasse par rapport au delai de
397 // notification [verify notification date]
398 if($this->valF['archive_date_notification_delai']<$this->valF['datecourrier'])
399 $this->msg=$this->msg."<br><img src='../img/erreur.gif'> "._("date_notification_delai")." ".
400 $this->valF['archive_date_notification_delai']." < "._('datecourrier');
401 //
402 break;
403 case "retour" :
404 $valF['delai']= $this->valF['delai'];
405 $valF['etat']= $this->valF['etat'];
406 $valF['accord_tacite']= $this->valF['accord_tacite'];
407 // la date_complet est celle de l evenement
408 $valF['date_complet']= $this->valF['datecourrier'];
409 $valF['date_limite'] = $this->moisdate($valF['date_complet'],$valF['delai']);
410 $valF['date_notification_delai'] = $this->moisdate($valF['date_complet'],1);
411 break;
412 case "rejet" :
413 //$valF['delai']=0; // *** delai a garder pour etat dpc
414 $valF['etat']= $this->valF['etat'];
415 $valF['accord_tacite']= $this->valF['accord_tacite'];
416 // la date rejet est initialisee
417 $valF['date_rejet']= $this->valF['datecourrier'];
418 // les dates de depart et fin d instruction sont annulées
419 $valF['date_limite'] =null;
420 $valF['date_notification_delai'] =null;
421 $valF['date_complet']=null;
422 break;
423 case "majoration" :
424 $valF['delai']= $this->valF['archive_delai']+$this->valF['delai'];
425 $valF['etat']= $this->valF['etat'];
426 $valF['accord_tacite']= $this->valF['accord_tacite'];
427 $valF['date_complet']=$this->valF['archive_date_complet'];
428 // majoration de la date limite
429 $valF['date_limite'] = $this->moisdate($valF['date_complet'],$valF['delai']);
430 $valF['date_notification_delai'] = $this->moisdate($valF['date_complet'],1);
431 // la date du courrier ne doit pas etre depasse par rapport au delai de
432 // notification
433 if($this->valF['archive_date_notification_delai']<$this->valF['datecourrier'])
434 $this->msg=$this->msg."<br><img src='../img/erreur.gif'>"._("date_notification_delai").
435 $this->valF['archive_date_notification_delai']." < "._('datecourrier');
436 break;
437 case "acceptation" :
438 $valF['etat']= $this->valF['etat'];
439 $valF['date_decision']= $this->valF['datecourrier'];
440 $valF['avis']= $this->valF['avis'];
441 // date de validite = date de l evenement + delai
442 $valF['date_validite'] = $this->moisdate($this->valF['datecourrier'],$this->valF['delai']);
443 break;
444 case "refus" :
445 $valF['etat']= $this->valF['etat'];
446 $valF['date_decision']= $this->valF['datecourrier'];
447 $valF['avis']= $this->valF['avis'];
448 break;
449 case "prolongation" :
450 $valF['date_validite'] = $this->moisdate($this->valF['archive_date_validite'],$this->valF['delai']);
451 break;
452 case "sursis" :
453 $valF['date_limite'] = $this->moisdate($this->valF['datecourrier'],$this->valF['delai']);
454 $valF['etat']= $this->valF['etat'];
455 $valF['accord_tacite']= $this->valF['accord_tacite'];
456 $valF['avis']= $this->valF['avis'];
457 $valF['date_decision']= $this->valF['datecourrier'];
458 $temp = $valF['date_limite'];
459 $valF['date_validite']= $this->moisdate($temp,2);
460 break;
461 case "execution" :
462 $valF['etat']= $this->valF['etat'];
463 $valF['date_chantier'] = $this->valF['datecourrier'];
464 //echo $this->msg=$this->msg.$valF['date_chantier']."";
465 break;
466 case "achevement" :
467 $valF['etat']= $this->valF['etat'];
468 $valF['date_achevement'] = $this->valF['datecourrier'];
469 break;
470 case "archivage" :
471 $valF['etat']= $this->valF['etat'];
472 $valF['date_conformite'] = $this->valF['datecourrier'];
473 break;
474
475 default:
476 if ($this->valF['etat']!="")
477 $valF['etat']= $this->valF['etat'];
478 }// end switch
479 } // end param
480 // mise à jour dossier [modify dossier]
481 if($valF!=""){
482 $cle= " dossier = '".$this->valF['dossier']."'";
483 $res1= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
484 if (database::isError($res1))
485 die($res->getMessage());
486 if ($DEBUG == 1)
487 echo "La requête de mise à jour est effectuée.<br>";
488 $this->msg=$this->msg."<br>"._('enregistrement')." ".
489 $this->valF['dossier']." "._('table')." dossier [".
490 $db->affectedRows()." "._('enregistrement').
491 " "._('mis_a_jour')."]" ;
492 }
493 }
494
495 // trigger before delete
496 function triggersupprimer($id,&$db,$val,$DEBUG) {
497 // archive en instruction (si suppression) [archive if delete instruction]
498 $valF['delai']=$val['archive_delai'];
499 $valF['accord_tacite']=$val['archive_accord_tacite'];
500 $valF['etat']=$val['archive_etat'];
501 if($val['archive_avis']=='')
502 $valF['avis']= null;
503 else
504 $valF['avis']=$val['archive_avis'];
505 // if= compatibilite pgsql
506 if($val['archive_date_complet']!='')
507 $valF['date_complet']=$val['archive_date_complet'];
508 if($val['archive_date_rejet']!='')
509 $valF['date_rejet']= $val['archive_date_rejet'];
510 if($val['archive_date_limite']!='')
511 $valF['date_limite']= $val['archive_date_limite'];
512 if($val['archive_date_notification_delai']!='')
513 $valF['date_notification_delai']= $val['archive_date_notification_delai'];
514 if($val['archive_date_decision']!='')
515 $valF['date_decision']= $val['archive_date_decision'];
516 if($val['archive_date_validite']!='')
517 $valF['date_validite']= $val['archive_date_validite'];
518 if($val['archive_date_achevement']!='')
519 $valF['date_achevement']= $val['archive_date_achevement'];
520 if($val['archive_date_chantier']!='')
521 $valF['date_chantier']= $val['archive_date_chantier'];
522 if($val['archive_date_conformite']!='')
523 $valF['date_conformite']= $val['archive_date_conformite'];
524
525 $cle= " dossier = '".$val['dossier']."'";
526 $res= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
527 if (database::isError($res))
528 die($res->getMessage());
529 else{
530 if ($DEBUG == 1)
531 echo "La requête de mise à jour est effectuée.<br>";
532 }
533 }
534 // =============================================
535 // calcul de date avec ajout de mois (delais)
536 // [add months (delay) and calculation final date]
537 // LIMITE DE LA FONCTION si delai >24 MOIS
538 // [limit : delay < 24 month]
539 // =============================================
540 function moisdate($date,$delaimois) {
541 $temp = explode("-" , $date);
542 $jour = (int) $temp[2];
543 $mois = (int) $temp[1];
544 $annee = (int) $temp[0];
545 // calcul si delai superieur à 12 (limite 24) [delay > 24 month]
546 if($delaimois>=12){
547 $delaimois=$delaimois-12;
548 $annee=$annee+1;
549 }
550 if($delaimois>=12){
551 $delaimois=$delaimois-12;
552 $annee=$annee+1;
553 }
554 // mois
555 $mois=$mois+$delaimois;
556 // calcul mois annee [calculation number of years if > 12 month]
557 // nb de mois > à 12
558 if ($mois>12){
559 $mois=$mois-12;
560 $annee=$annee+1;
561 }
562 // Calcul du nombre de jours dans le mois sélectionné [calculation number of days]
563 switch($mois) {
564 case "2":
565 if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0)
566 $jourmax = 29;
567 else
568 $jourmax = 28;
569 break;
570 case "4":
571 case "6":
572 case "9":
573 case "11":
574 $jourmax = 30;
575 break;
576 default:
577 $jourmax = 31;
578 }
579 if ($jour > $jourmax)
580 $jour = $jourmax;
581 //$dateretour=$annee."-".$mois."-".$jour;
582 return $annee."-".$mois."-".$jour ;
583 }
584
585 }// fin classe
586 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26