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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3 by fraynaud, Thu Feb 10 20:46:18 2011 UTC revision 123 by fraynaud, Sun Sep 11 20:24:32 2011 UTC
# Line 1  Line 1 
1  <?php  <?php
2  //$Id$  //$Id$
3  //gen openMairie le 10/02/2011 20:34  //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");  require_once ("../gen/obj/instruction.class.php");
21    
22  class instruction extends instruction_gen {  class instruction extends instruction_gen {
23    
24  function instruction($id,&$db,$debug) {      var $archive_date_depot; // specific
25          $this->constructeur($id,$db,$debug);      var $retourformulaire;   // specific
26  }// fin constructeur      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        function regle($regle){
342            $temp = explode ("+",$regle);
343            echo '/'.$regle.sizeof($temp);
344            if(sizeof($temp)==1)
345                if($temp[0]=="archive_date_depot")
346                    return $this->$regle;
347                else
348                    return $this->valF[$regle];
349            else{
350                if($temp[0]=="archive_date_depot")
351                    if(is_numeric($temp[1]))
352                        return  $this->moisdate($this->$temp[0], $temp[1]);  
353                    else
354                        return  $this->moisdate($this->$temp[0], $this->valF[$temp[1]]);
355                if(is_numeric($temp[1]))
356                    return $this->moisdate($this->valF[$temp[0]], $temp[1]);
357                else              
358                   return  $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]);
359            }
360        }
361        
362        
363        
364        // ==================================================================
365        // valeur dossier  apres modification   [values dossier after action]
366        // ==================================================================
367        function triggerajouterapres($id,&$db,$val,$DEBUG) {
368            // mise a null au lieu de "" / voir compatibilite mysql
369            // voir parametrage CU en dur
370            // voir parametrage des actions en dur
371            $param=1;
372            
373            if($param==1){
374            $sql="select * from action where action = '".$this->valF['action']."'";
375            $res = $db->query($sql);
376            if (database::isError($res))
377                die($res->getMessage());
378            while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
379                if($row['regle_etat']!=''){
380                    $valF['etat']= $this->regle($row['regle_etat']);
381                }
382                if($row['regle_delai']!=''){
383                    $valF['delai']= $this->regle($row['regle_delai']);
384                }
385                if($row['regle_accord_tacite']!=''){
386                    $valF['accord_tacite']= $this->regle($row['regle_accord_tacite']);
387                }
388                if($row['regle_date_limite']!=''){
389                    $valF['date_limite']= $this->regle($row['regle_date_limite']);
390                }
391                if($row['regle_date_complet']!=''){
392                    $valF['date_complet']= $this->regle($row['regle_date_complet']);
393                }
394                if($row['regle_date_notification_delai']!=''){
395                    $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']);
396                }
397            }
398            }else{
399            
400            switch ($this->valF['action']) {
401            case "initialisation" :
402                $valF['delai']= $this->valF['delai'];
403                $valF['etat']= $this->valF['etat'];
404                $valF['accord_tacite']= $this->valF['accord_tacite'];
405                // la date_complet est la date de depot
406                $valF['date_complet']= $this->archive_date_depot; // ****
407                $valF['date_limite'] =  $this->moisdate($valF['date_complet'],$valF['delai']);
408                $valF['date_notification_delai'] =  $this->moisdate($valF['date_complet'],1);
409                break;
410            case "notification" :
411                $valF['delai']= $this->valF['delai'];
412                $valF['etat']= $this->valF['etat'];
413                $valF['accord_tacite']= $this->valF['accord_tacite'];
414                // la date_complet est celle precedemment saisie
415                $valF['date_complet']=$this->valF['archive_date_complet'];
416                $valF['date_limite'] =  $this->moisdate($valF['date_complet'],$valF['delai']);
417                $valF['date_notification_delai'] =  $this->moisdate($valF['date_complet'],1);
418                // la date du courrier ne doit pas etre depasse par rapport au delai de
419                // notification    [verify notification date]
420                if($this->valF['archive_date_notification_delai']<$this->valF['datecourrier'])
421                    $this->msg=$this->msg."<br><img src='../img/erreur.gif'> "._("date_notification_delai")." ".
422                    $this->valF['archive_date_notification_delai']." < "._('datecourrier');
423                //
424                break;
425            case "retour" :
426                $valF['delai']= $this->valF['delai'];
427                $valF['etat']= $this->valF['etat'];
428                $valF['accord_tacite']= $this->valF['accord_tacite'];
429                // la date_complet est celle de l evenement
430                $valF['date_complet']= $this->valF['datecourrier'];
431                $valF['date_limite'] =  $this->moisdate($valF['date_complet'],$valF['delai']);
432                $valF['date_notification_delai'] =  $this->moisdate($valF['date_complet'],1);
433                break;
434            case "rejet" :
435                //$valF['delai']=0;   // *** delai a garder pour etat dpc
436                $valF['etat']= $this->valF['etat'];
437                $valF['accord_tacite']= $this->valF['accord_tacite'];
438                // la date rejet est initialisee
439                $valF['date_rejet']= $this->valF['datecourrier'];
440                // les dates de depart et fin d instruction sont annulées
441                $valF['date_limite'] =null;
442                $valF['date_notification_delai'] =null;
443                $valF['date_complet']=null;
444                break;
445            case "majoration" :
446                $valF['delai']= $this->valF['archive_delai']+$this->valF['delai'];
447                $valF['etat']= $this->valF['etat'];
448                $valF['accord_tacite']= $this->valF['accord_tacite'];
449                $valF['date_complet']=$this->valF['archive_date_complet'];
450                // majoration de la date limite
451                $valF['date_limite'] =  $this->moisdate($valF['date_complet'],$valF['delai']);
452                $valF['date_notification_delai'] =  $this->moisdate($valF['date_complet'],1);
453                // la date du courrier ne doit pas etre depasse par rapport au delai de
454                // notification
455                if($this->valF['archive_date_notification_delai']<$this->valF['datecourrier'])
456                    $this->msg=$this->msg."<br><img src='../img/erreur.gif'>"._("date_notification_delai").
457                $this->valF['archive_date_notification_delai']." < "._('datecourrier');
458                break;
459            case "acceptation" :
460                $valF['etat']= $this->valF['etat'];
461                $valF['date_decision']= $this->valF['datecourrier'];
462                $valF['avis']= $this->valF['avis'];
463                // date de validite = date de l evenement + delai
464                $valF['date_validite'] =  $this->moisdate($this->valF['datecourrier'],$this->valF['delai']);
465                   break;
466            case "refus" :
467                $valF['etat']= $this->valF['etat'];
468                $valF['date_decision']= $this->valF['datecourrier'];
469                $valF['avis']= $this->valF['avis'];
470                break;
471            case "prolongation" :
472                $valF['date_validite'] =  $this->moisdate($this->valF['archive_date_validite'],$this->valF['delai']);
473                break;
474            case "sursis" :
475                $valF['date_limite'] =  $this->moisdate($this->valF['datecourrier'],$this->valF['delai']);
476                $valF['etat']= $this->valF['etat'];
477                $valF['accord_tacite']= $this->valF['accord_tacite'];
478                $valF['avis']= $this->valF['avis'];
479                $valF['date_decision']= $this->valF['datecourrier'];
480                $temp = $valF['date_limite'];
481                $valF['date_validite']= $this->moisdate($temp,2);
482                break;
483            case "execution" :
484                $valF['etat']= $this->valF['etat'];
485                $valF['date_chantier'] =  $this->valF['datecourrier'];
486                //echo $this->msg=$this->msg.$valF['date_chantier']."";
487                break;
488            case "achevement" :
489                $valF['etat']= $this->valF['etat'];
490                $valF['date_achevement'] = $this->valF['datecourrier'];
491                break;
492            case "archivage" :
493                $valF['etat']= $this->valF['etat'];
494                $valF['date_conformite'] = $this->valF['datecourrier'];
495                break;
496    
497            default:
498            if ($this->valF['etat']!="")
499               $valF['etat']= $this->valF['etat'];
500            }// end switch
501            } // end param
502            // mise à jour dossier [modify dossier]
503            print_r($valF);
504            if($valF!=""){
505                $cle= " dossier = '".$this->valF['dossier']."'";
506                $res1= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
507                if (database::isError($res1))
508                    die($res->getMessage());
509                if ($DEBUG == 1)
510                  echo "La requête de mise à jour est effectuée.<br>";
511                $this->msg=$this->msg."<br>"._('enregistrement')." ".
512                $this->valF['dossier']." "._('table')." dossier [".
513                $db->affectedRows()." "._('enregistrement').
514                " "._('mis_a_jour')."]" ;
515            }
516        }
517        
518        // trigger before delete
519        function triggersupprimer($id,&$db,$val,$DEBUG) {
520            // archive en instruction (si suppression) [archive if delete instruction]
521            $valF['delai']=$val['archive_delai'];
522            $valF['accord_tacite']=$val['archive_accord_tacite'];
523            $valF['etat']=$val['archive_etat'];
524            if($val['archive_avis']=='')
525                $valF['avis']= null;
526            else
527                $valF['avis']=$val['archive_avis'];
528            // if= compatibilite pgsql
529            if($val['archive_date_complet']!='')
530                $valF['date_complet']=$val['archive_date_complet'];
531            if($val['archive_date_rejet']!='')
532                $valF['date_rejet']= $val['archive_date_rejet'];
533            if($val['archive_date_limite']!='')
534                $valF['date_limite']= $val['archive_date_limite'];
535            if($val['archive_date_notification_delai']!='')
536                $valF['date_notification_delai']= $val['archive_date_notification_delai'];
537            if($val['archive_date_decision']!='')
538                $valF['date_decision']= $val['archive_date_decision'];
539            if($val['archive_date_validite']!='')
540                $valF['date_validite']= $val['archive_date_validite'];
541            if($val['archive_date_achevement']!='')
542                $valF['date_achevement']= $val['archive_date_achevement'];
543            if($val['archive_date_chantier']!='')
544                $valF['date_chantier']= $val['archive_date_chantier'];
545            if($val['archive_date_conformite']!='')
546                $valF['date_conformite']= $val['archive_date_conformite'];
547            
548            $cle= " dossier = '".$val['dossier']."'";
549            $res= $db->autoExecute('dossier',$valF,DB_AUTOQUERY_UPDATE,$cle);
550            if (database::isError($res))
551                die($res->getMessage());
552            else{
553                if ($DEBUG == 1)
554                    echo "La requête de mise à jour est effectuée.<br>";
555            }
556        }
557        // =============================================
558        // calcul de date avec ajout de mois (delais)
559        // [add months (delay) and calculation final date]
560        // LIMITE DE LA FONCTION si delai >24 MOIS
561        // [limit : delay < 24 month]
562        // =============================================
563        function moisdate($date,$delaimois) {
564           $temp = explode("-" , $date);
565           $jour = (int) $temp[2];
566           $mois = (int) $temp[1];
567           $annee = (int) $temp[0];
568           // calcul si delai superieur à 12 (limite 24) [delay > 24 month]
569           if($delaimois>=12){
570               $delaimois=$delaimois-12;
571               $annee=$annee+1;
572           }
573           if($delaimois>=12){
574               $delaimois=$delaimois-12;
575               $annee=$annee+1;
576           }
577           // mois
578           $mois=$mois+$delaimois;
579           // calcul mois annee  [calculation number of years if > 12 month]
580           // nb de mois > à 12
581           if ($mois>12){
582               $mois=$mois-12;
583               $annee=$annee+1;
584           }
585           // Calcul du nombre de jours dans le mois sélectionné [calculation number of days]
586            switch($mois) {
587                case "2":
588                  if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0)
589                      $jourmax = 29;
590                  else
591                      $jourmax = 28;
592                break;
593                case "4":
594                case "6":
595                case "9":
596                case "11":
597                 $jourmax = 30;
598                 break;
599                default:
600                 $jourmax = 31;
601            }
602            if ($jour > $jourmax)
603               $jour = $jourmax;
604        //$dateretour=$annee."-".$mois."-".$jour;
605        return $annee."-".$mois."-".$jour ;
606        }
607    
608  }// fin classe  }// fin classe
609  ?>  ?>

Legend:
Removed from v.3  
changed lines
  Added in v.123

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26