12 |
* var $idxformulaire; |
* var $idxformulaire; |
13 |
* - modification des données dans dossier trigger avant |
* - modification des données dans dossier trigger avant |
14 |
* [modify dossier data with trigger function] |
* [modify dossier data with trigger function] |
15 |
* - function moisdate : pour ajouter des mois a une date |
* - function mois_date : pour ajouter des mois a une date |
16 |
* [add months (delay) and calculation final date] |
* [add months (delay) and calculation final date] |
17 |
* - voir script_lang.js : bible ... |
* - voir script_lang.js : bible ... |
18 |
* |
* |
347 |
$form->setType('date_retour_controle_legalite','datedisabled'); |
$form->setType('date_retour_controle_legalite','datedisabled'); |
348 |
$form->setType('date_finalisation_courrier','datedisabled'); |
$form->setType('date_finalisation_courrier','datedisabled'); |
349 |
|
|
350 |
// l'administrateur peut modifier les champs de retour de date |
|
|
if ($this->f->user_is_admin == true) { |
|
|
$form->setType('date_retour_signature','date'); |
|
|
$form->setType('date_retour_rar','date'); |
|
|
$form->setType('date_retour_controle_legalite','date'); |
|
|
} |
|
351 |
|
|
352 |
if($maj==0){ // add |
if($maj==0){ // add |
353 |
$form->setType('instruction', 'hiddenstatic'); |
$form->setType('instruction', 'hidden'); |
354 |
|
$form->setType('lettretype', 'hidden'); |
355 |
$form->setType('evenement', 'select'); |
$form->setType('evenement', 'select'); |
356 |
$form->setType('date_evenement', 'date2'); |
$form->setType('date_evenement', 'date2'); |
357 |
}else{ // modify |
}else{ // modify |
361 |
$form->setType('date_evenement', 'date2'); |
$form->setType('date_evenement', 'date2'); |
362 |
// necessaire pour calcul de date en modification |
// necessaire pour calcul de date en modification |
363 |
//$form->setType('delai', 'hiddenstatic'); |
//$form->setType('delai', 'hiddenstatic'); |
364 |
|
// l'administrateur peut modifier les champs de retour de date |
365 |
|
if ($this->f->user_is_admin == true) { |
366 |
|
$form->setType('date_retour_signature','date'); |
367 |
|
$form->setType('date_retour_rar','date'); |
368 |
|
$form->setType('date_retour_controle_legalite','date'); |
369 |
|
} |
370 |
} |
} |
371 |
} elseif($maj==2){ |
} elseif($maj==2){ |
372 |
$form->setType('dossier', 'hidden'); |
$form->setType('dossier', 'hidden'); |
837 |
// Booléen retourné |
// Booléen retourné |
838 |
$res_bool = true; |
$res_bool = true; |
839 |
|
|
840 |
// Si le tableau n'est pas vide |
// S'il y a un comparateur |
841 |
if (count($tabRestriction) > 0) { |
if (in_array(">=", $tabRestriction) |
842 |
|
|| in_array("<=", $tabRestriction)) { |
843 |
|
|
844 |
// Boucle dans le tableau pour récupérer seulement les valeurs |
// Si le tableau n'est pas vide |
845 |
foreach ($tabRestriction as $key => $value) { |
if (count($tabRestriction) > 0) { |
846 |
|
|
847 |
// |
// Boucle dans le tableau pour récupérer seulement les valeurs |
848 |
if (!in_array($value, $operateurs)) { |
foreach ($tabRestriction as $key => $value) { |
849 |
if ($this->getRestrictionValue($value) != false) { |
|
850 |
$res[] = $this->getRestrictionValue($value); |
// |
851 |
} else { |
if (!in_array($value, $operateurs)) { |
852 |
return false; |
if ($this->getRestrictionValue($value) != false) { |
853 |
|
$res[] = $this->getRestrictionValue($value); |
854 |
|
} else { |
855 |
|
// Message d'erreur |
856 |
|
$error_message = sprintf(_("Le champ %s de l'instruction %s est vide"), "<span class='bold'>".$value."</span>", "<span class='bold'>".$this->valF["instruction"]."</span>"); |
857 |
|
$this->addToMessage($error_message); |
858 |
|
// Arrête le traitement |
859 |
|
return false; |
860 |
|
} |
861 |
} |
} |
862 |
} |
} |
|
} |
|
863 |
|
|
864 |
// Boucle dans le tableau |
// Boucle dans le tableau |
865 |
// commence à 1 car le 0 doit rester inchangé tout au long du |
// commence à 1 car le 0 doit rester inchangé tout au long du |
866 |
// traitement |
// traitement |
867 |
for ($i = 1; $i<count($tabRestriction); $i++) { |
for ($i = 1; $i<count($tabRestriction); $i++) { |
868 |
|
|
869 |
// Récupère le comparateur |
// Récupère le comparateur |
870 |
if ($tabRestriction[$i] === ">=" |
if ($tabRestriction[$i] === ">=" |
871 |
|| $tabRestriction[$i] === "<=") { |
|| $tabRestriction[$i] === "<=") { |
872 |
$comparateur = $tabRestriction[$i]; |
$comparateur = $tabRestriction[$i]; |
873 |
} |
} |
874 |
|
|
875 |
// Si l'opérateur qui suit est un "+" |
// Si l'opérateur qui suit est un "+" |
876 |
if ($tabRestriction[$i] === "+") { |
if ($tabRestriction[$i] === "+") { |
877 |
$dateDep = strtotime($res[$j]); |
$dateDep = $res[$j]; |
878 |
unset($res[$j]);$j++; |
unset($res[$j]);$j++; |
879 |
$duree = $res[$j]; |
$duree = $res[$j]; |
880 |
unset($res[$j]); |
unset($res[$j]); |
881 |
$res[$j] = date('Y-m-d', |
$res[$j] = $this->f->mois_date($dateDep, $duree, "+"); |
882 |
strtotime('+'.$duree.' month', $dateDep)); |
} |
883 |
} |
|
884 |
|
// Si l'opérateur qui suit est un "-" |
885 |
// Si l'opérateur qui suit est un "-" |
if ($tabRestriction[$i] === "-") { |
886 |
if ($tabRestriction[$i] === "-") { |
$dateDep = $res[$j]; |
887 |
$dateDep = strtotime($res[$j]); |
unset($res[$j]);$j++; |
888 |
unset($res[$j]);$j++; |
$duree = $res[$j]; |
889 |
$duree = $res[$j]; |
unset($res[$j]); |
890 |
unset($res[$j]); |
$res[$j] = $this->f->mois_date($dateDep, $duree, "-"); |
891 |
$res[$j] = date('Y-m-d', |
} |
|
strtotime('-'.$duree.' month', $dateDep)); |
|
892 |
} |
} |
893 |
|
|
894 |
} |
} |
|
|
|
|
} |
|
895 |
|
|
896 |
// Si les tableau des résultats n'est pas vide |
// Si les tableau des résultats n'est pas vide |
897 |
if (count($res) > 0) { |
if (count($res) > 0) { |
|
// |
|
|
$res_bool = false; |
|
|
// Effectue le test |
|
|
if ($comparateur === ">=") { |
|
898 |
// |
// |
899 |
if (strtotime($res[0]) >= strtotime($res[$j])) { |
$res_bool = false; |
900 |
$res_bool = true; |
// Effectue le test |
901 |
|
if ($comparateur === ">=") { |
902 |
|
// |
903 |
|
if (strtotime($res[0]) >= strtotime($res[$j])) { |
904 |
|
$res_bool = true; |
905 |
|
} |
906 |
} |
} |
907 |
} |
if ($comparateur === "<=") { |
|
if ($comparateur === "<=") { |
|
908 |
|
|
909 |
if (strtotime($res[0]) <= strtotime($res[$j])) { |
if (strtotime($res[0]) <= strtotime($res[$j])) { |
910 |
$res_bool = true; |
$res_bool = true; |
911 |
|
} |
912 |
} |
} |
913 |
} |
} |
914 |
|
// Sinon une erreur s'affiche |
915 |
|
} else { |
916 |
|
|
917 |
|
// Message d'erreur |
918 |
|
$error_message = _("La restriction est sans comparateur"); |
919 |
|
$this->addToMessage($error_message); |
920 |
|
// Arrête le traitement |
921 |
|
return false; |
922 |
} |
} |
923 |
|
|
924 |
return $res_bool; |
return $res_bool; |
950 |
// Retourne la valeur du champ |
// Retourne la valeur du champ |
951 |
return $return; |
return $return; |
952 |
} |
} |
953 |
|
|
954 |
function regle($regle){ |
/** |
955 |
|
* Calcul des règle d'action. |
956 |
|
* @param string $rule Règle d'action |
957 |
|
* @param string $rule_name Nom de la règle |
958 |
|
* @param string $type Type de la règle |
959 |
|
* |
960 |
|
* @return mixed Résultat de la règle |
961 |
|
*/ |
962 |
|
function regle($rule, $rule_name, $type = null) { |
963 |
|
|
964 |
// Supprime tous les espaces de la chaîne de caractère |
// Supprime tous les espaces de la chaîne de caractère |
965 |
$regle = str_replace(' ', '', $regle); |
$rule = str_replace(' ', '', $rule); |
966 |
// Coupe la chaîne au niveau des "+" |
// Coupe la chaîne au niveau de l'opérateur |
967 |
$temp = explode ("+",$regle); |
$operands = explode ("+", $rule); |
968 |
//echo '|'.$regle; |
// Nombre d'opérande |
969 |
// cas rejet |
$nb_operands = count($operands); |
970 |
if($regle=="null") // 1 dimension -> null |
|
971 |
|
// Règle à null |
972 |
|
if ($rule == "null") { |
973 |
return null; |
return null; |
|
if(sizeof($temp)==1) // 1 dimension |
|
|
if($temp[0]=="archive_date_depot") // initialisation avec le depot |
|
|
return $this->$regle; |
|
|
else // cas general |
|
|
return $this->valF[$regle]; |
|
|
if(sizeof($temp)==2){ // 2 dimensions |
|
|
if($temp[0]=="archive_date_depot") //initialisation avec le depot |
|
|
if(is_numeric($temp[1])) |
|
|
return $this->moisdate($this->$temp[0], $temp[1]); |
|
|
else |
|
|
return $this->moisdate($this->$temp[0], $this->valF[$temp[1]]); |
|
|
if($temp[0]=="archive_delai") // majoration de delai |
|
|
return $this->valF[$temp[0]]+$this->valF[$temp[1]]; |
|
|
// cas general 2 dimensions |
|
|
if(is_numeric($temp[1])) |
|
|
return $this->moisdate($this->valF[$temp[0]], $temp[1]); |
|
|
else |
|
|
return $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]); |
|
|
} |
|
|
if(sizeof($temp)==3){ // 3 dimensions |
|
|
// cas date de validite de sursis |
|
|
if(is_numeric($temp[1])) |
|
|
$temp1 = $this->moisdate($this->valF[$temp[0]], $temp[1]); |
|
|
else |
|
|
$temp1 = $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]); |
|
|
if(is_numeric($temp[2])) |
|
|
return $this->moisdate($temp1, $temp[2]); |
|
|
else |
|
|
return $this->moisdate($temp1, $this->valF[$temp[2]]); |
|
974 |
} |
} |
975 |
|
|
976 |
|
// Si c'est une règle spécifique |
977 |
|
if ($rule_name == "regle_autorite_competente" |
978 |
|
|| $rule_name == "regle_etat" |
979 |
|
|| $rule_name == "regle_accord_tacite" |
980 |
|
|| $rule_name == "regle_avis") { |
981 |
|
// |
982 |
|
return $this->valF[$rule]; |
983 |
|
} |
984 |
|
|
985 |
|
// Tableau des champs de type date |
986 |
|
$rule_type_date = array( |
987 |
|
"regle_date_limite", |
988 |
|
"regle_date_notification_delai", |
989 |
|
"regle_date_complet", |
990 |
|
"regle_date_validite", |
991 |
|
"regle_date_decision", |
992 |
|
"regle_date_chantier", |
993 |
|
"regle_date_achevement", |
994 |
|
"regle_date_conformite", |
995 |
|
"regle_date_rejet", |
996 |
|
"regle_date_dernier_depot", |
997 |
|
"regle_date_limite_incompletude", |
998 |
|
); |
999 |
|
// Tableau des champs de type numérique |
1000 |
|
$rule_type_numeric = array( |
1001 |
|
"regle_delai", |
1002 |
|
"regle_delai_incompletude", |
1003 |
|
); |
1004 |
|
|
1005 |
|
// Définit le type du champ |
1006 |
|
if (in_array($rule_name, $rule_type_date) == true) { |
1007 |
|
$type = "date"; |
1008 |
|
} |
1009 |
|
if (in_array($rule_name, $rule_type_numeric) == true) { |
1010 |
|
$type = "numeric"; |
1011 |
|
} |
1012 |
|
|
1013 |
|
// Initialisation des variables |
1014 |
|
$key_date = 0; |
1015 |
|
$total_numeric = 0; |
1016 |
|
|
1017 |
|
// Pour chaque opérande |
1018 |
|
foreach ($operands as $key => $operand) { |
1019 |
|
|
1020 |
|
// Si c'est une règle de type date |
1021 |
|
if ($type == 'date') { |
1022 |
|
// Vérifie si au moins une des opérandes est une date |
1023 |
|
if (!is_numeric($operand) |
1024 |
|
&& isset($this->valF[$operand]) |
1025 |
|
&& $this->f->check_date($this->valF[$operand]) == true) { |
1026 |
|
// Récupère la position de la date |
1027 |
|
$key_date = $key; |
1028 |
|
} |
1029 |
|
// Les autres opérandes doivent être que des numériques |
1030 |
|
if (is_numeric($operand) == true) { |
1031 |
|
// Ajoute l'opérande au total |
1032 |
|
$total_numeric += $operand; |
1033 |
|
} |
1034 |
|
if (!is_numeric($operand) |
1035 |
|
&& isset($this->valF[$operand]) |
1036 |
|
&& is_numeric($this->valF[$operand]) == true) { |
1037 |
|
// Ajoute l'opérande au total |
1038 |
|
$total_numeric += $this->valF[$operand]; |
1039 |
|
} |
1040 |
|
} |
1041 |
|
|
1042 |
|
// Si c'est une règle de type numérique |
1043 |
|
if ($type == 'numeric') { |
1044 |
|
// Les opérandes doivent être que des numériques |
1045 |
|
if (is_numeric($operand) == true) { |
1046 |
|
// Ajoute l'opérande au total |
1047 |
|
$total_numeric += $operand; |
1048 |
|
} |
1049 |
|
if (!is_numeric($operand) |
1050 |
|
&& isset($this->valF[$operand]) |
1051 |
|
&& is_numeric($this->valF[$operand]) == true) { |
1052 |
|
// Ajoute l'opérande au total |
1053 |
|
$total_numeric += $this->valF[$operand]; |
1054 |
|
} |
1055 |
|
} |
1056 |
|
} |
1057 |
|
|
1058 |
|
// Résultat pour une règle de type date |
1059 |
|
if ($type == 'date') { |
1060 |
|
// Retourne le calcul de la date |
1061 |
|
return $this->f->mois_date($this->valF[$operands[$key_date]], |
1062 |
|
$total_numeric, "+"); |
1063 |
|
} |
1064 |
|
|
1065 |
|
// Résultat pour une règle de type numérique |
1066 |
|
if ($type == 'numeric') { |
1067 |
|
// Retourne le calcul |
1068 |
|
return $total_numeric; |
1069 |
|
} |
1070 |
|
|
1071 |
} |
} |
|
|
|
|
|
|
1072 |
|
|
1073 |
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
1074 |
/** |
/** |
1121 |
|
|
1122 |
// pour chacune des regles, on applique la regle |
// pour chacune des regles, on applique la regle |
1123 |
if($row['regle_delai']!=''){ |
if($row['regle_delai']!=''){ |
1124 |
$valF['delai'] = $this->regle($row['regle_delai']); |
$valF['delai'] = $this->regle($row['regle_delai'], 'regle_delai'); |
1125 |
} |
} |
1126 |
if($row['regle_accord_tacite']!=''){ |
if($row['regle_accord_tacite']!=''){ |
1127 |
$valF['accord_tacite'] = $this->regle($row['regle_accord_tacite']); |
$valF['accord_tacite'] = $this->regle($row['regle_accord_tacite'], 'regle_accord_tacite'); |
1128 |
} |
} |
1129 |
if($row['regle_avis']!=''){ |
if($row['regle_avis']!=''){ |
1130 |
$valF['avis_decision'] = $this->regle($row['regle_avis']); |
$valF['avis_decision'] = $this->regle($row['regle_avis'], 'regle_avis'); |
1131 |
} |
} |
1132 |
if($row['regle_date_limite']!=''){ |
if($row['regle_date_limite']!=''){ |
1133 |
$valF['date_limite']= $this->regle($row['regle_date_limite']); |
$valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite'); |
1134 |
} |
} |
1135 |
if($row['regle_date_complet']!=''){ |
if($row['regle_date_complet']!=''){ |
1136 |
$valF['date_complet']= $this->regle($row['regle_date_complet']); |
$valF['date_complet']= $this->regle($row['regle_date_complet'], 'regle_date_complet'); |
1137 |
} |
} |
1138 |
if($row['regle_date_dernier_depot']!=''){ |
if($row['regle_date_dernier_depot']!=''){ |
1139 |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot']); |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot'], 'regle_date_dernier_depot'); |
1140 |
} |
} |
1141 |
if($row['regle_date_notification_delai']!=''){ |
if($row['regle_date_notification_delai']!=''){ |
1142 |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']); |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai'], 'regle_date_notification_delai'); |
1143 |
} |
} |
1144 |
if($row['regle_date_decision']!=''){ |
if($row['regle_date_decision']!=''){ |
1145 |
$valF['date_decision']= $this->regle($row['regle_date_decision']); |
$valF['date_decision']= $this->regle($row['regle_date_decision'], 'regle_date_decision'); |
1146 |
} |
} |
1147 |
if($row['regle_date_rejet']!=''){ |
if($row['regle_date_rejet']!=''){ |
1148 |
$valF['date_rejet']= $this->regle($row['regle_date_rejet']); |
$valF['date_rejet']= $this->regle($row['regle_date_rejet'], 'regle_date_rejet'); |
1149 |
} |
} |
1150 |
if($row['regle_date_validite']!=''){ |
if($row['regle_date_validite']!=''){ |
1151 |
$valF['date_validite']= $this->regle($row['regle_date_validite']); |
$valF['date_validite']= $this->regle($row['regle_date_validite'], 'regle_date_validite'); |
1152 |
} |
} |
1153 |
if($row['regle_date_chantier']!=''){ |
if($row['regle_date_chantier']!=''){ |
1154 |
$valF['date_chantier']= $this->regle($row['regle_date_chantier']); |
$valF['date_chantier']= $this->regle($row['regle_date_chantier'], 'regle_date_chantier'); |
1155 |
} |
} |
1156 |
if($row['regle_date_achevement']!=''){ |
if($row['regle_date_achevement']!=''){ |
1157 |
$valF['date_achevement']= $this->regle($row['regle_date_achevement']); |
$valF['date_achevement']= $this->regle($row['regle_date_achevement'], 'regle_date_achevement'); |
1158 |
} |
} |
1159 |
if($row['regle_date_conformite']!=''){ |
if($row['regle_date_conformite']!=''){ |
1160 |
$valF['date_conformite']= $this->regle($row['regle_date_conformite']); |
$valF['date_conformite']= $this->regle($row['regle_date_conformite'], 'regle_date_conformite'); |
1161 |
} |
} |
1162 |
if($row['regle_date_limite_incompletude']!=''){ |
if($row['regle_date_limite_incompletude']!=''){ |
1163 |
$valF['date_limite_incompletude']= $this->regle($row['regle_date_limite_incompletude']); |
$valF['date_limite_incompletude']= $this->regle($row['regle_date_limite_incompletude'], 'regle_date_limite_incompletude'); |
1164 |
} |
} |
1165 |
if($row['regle_delai_incompletude']!=''){ |
if($row['regle_delai_incompletude']!=''){ |
1166 |
$valF['delai_incompletude']= $this->regle($row['regle_delai_incompletude']); |
$valF['delai_incompletude']= $this->regle($row['regle_delai_incompletude'], 'regle_delai_incompletude'); |
1167 |
} |
} |
1168 |
if($row['regle_autorite_competente']!=''){ |
if($row['regle_autorite_competente']!=''){ |
1169 |
$valF['autorite_competente']= $this->regle($row['regle_autorite_competente']); |
$valF['autorite_competente']= $this->regle($row['regle_autorite_competente'], 'regle_autorite_competente'); |
1170 |
} |
} |
1171 |
if($row['regle_etat']!=''){ |
if($row['regle_etat']!=''){ |
1172 |
// Si on est dans le cas général ou qu'on est en incomplétude et |
// Si on est dans le cas général ou qu'on est en incomplétude et |
1173 |
// qu'on a un événement de type incomplétude alors : on stocke |
// qu'on a un événement de type incomplétude alors : on stocke |
1174 |
// l'état dans la variable courante |
// l'état dans la variable courante |
1175 |
if ($incompletude == FALSE OR $this->valEvenement['type'] == "incompletude") { |
if ($incompletude == FALSE OR $this->valEvenement['type'] == "incompletude") { |
1176 |
$valF['etat'] = $this->regle($row['regle_etat']); |
$valF['etat'] = $this->regle($row['regle_etat'], 'regle_etat'); |
1177 |
} else { |
} else { |
1178 |
$valF['etat_pendant_incompletude'] = $this->regle($row['regle_etat']); |
$valF['etat_pendant_incompletude'] = $this->regle($row['regle_etat'], 'regle_etat'); |
1179 |
} |
} |
1180 |
} |
} |
1181 |
if($this->valEvenement['evenement_suivant_tacite'] != '') { |
if($this->valEvenement['evenement_suivant_tacite'] != '') { |
1251 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1252 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1253 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
1254 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1255 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur.")); |
1256 |
|
$this->correct = false; |
1257 |
|
return false; |
1258 |
|
} |
1259 |
} |
} |
1260 |
|
|
1261 |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
1288 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){ |
1289 |
// application des regles sur le courrier + delai |
// application des regles sur le courrier + delai |
1290 |
if(preg_match("/date_evenement/",$row['regle_date_limite'])){ |
if(preg_match("/date_evenement/",$row['regle_date_limite'])){ |
1291 |
$valF['date_limite']= $this->regle($row['regle_date_limite']); |
$valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite'); |
1292 |
} |
} |
1293 |
if(preg_match("/date_evenement/",$row['regle_date_complet'])){ |
if(preg_match("/date_evenement/",$row['regle_date_complet'])){ |
1294 |
$valF['date_complet']= $this->regle($row['regle_date_complet']); |
$valF['date_complet']= $this->regle($row['regle_date_complet'], 'regle_date_complet'); |
1295 |
} |
} |
1296 |
if(preg_match("/date_evenement/",$row['regle_date_dernier_depot'])){ |
if(preg_match("/date_evenement/",$row['regle_date_dernier_depot'])){ |
1297 |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot']); |
$valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot'], 'regle_date_dernier_depot'); |
1298 |
} |
} |
1299 |
if(preg_match("/date_evenement/",$row['regle_date_notification_delai'])){ |
if(preg_match("/date_evenement/",$row['regle_date_notification_delai'])){ |
1300 |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']); |
$valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai'], 'regle_date_notification_delai'); |
1301 |
} |
} |
1302 |
if(preg_match("/date_evenement/",$row['regle_date_decision'])){ |
if(preg_match("/date_evenement/",$row['regle_date_decision'])){ |
1303 |
$valF['date_decision']= $this->regle($row['regle_date_decision']); |
$valF['date_decision']= $this->regle($row['regle_date_decision'], 'regle_date_decision'); |
1304 |
} |
} |
1305 |
if(preg_match("/date_evenement/",$row['regle_date_rejet'])){ |
if(preg_match("/date_evenement/",$row['regle_date_rejet'])){ |
1306 |
$valF['date_rejet']= $this->regle($row['regle_date_rejet']); |
$valF['date_rejet']= $this->regle($row['regle_date_rejet'], 'regle_date_rejet'); |
1307 |
} |
} |
1308 |
if(preg_match("/date_evenement/",$row['regle_date_validite'])){ |
if(preg_match("/date_evenement/",$row['regle_date_validite'])){ |
1309 |
$valF['date_validite']= $this->regle($row['regle_date_validite']); |
$valF['date_validite']= $this->regle($row['regle_date_validite'], 'regle_date_validite'); |
1310 |
} |
} |
1311 |
if(preg_match("/date_evenement/",$row['regle_date_chantier'])){ |
if(preg_match("/date_evenement/",$row['regle_date_chantier'])){ |
1312 |
$valF['date_chantier']= $this->regle($row['regle_date_chantier']); |
$valF['date_chantier']= $this->regle($row['regle_date_chantier'], 'regle_date_chantier'); |
1313 |
} |
} |
1314 |
if(preg_match("/date_evenement/",$row['regle_date_achevement'])){ |
if(preg_match("/date_evenement/",$row['regle_date_achevement'])){ |
1315 |
$valF['date_achevement']= $this->regle($row['regle_date_achevement']); |
$valF['date_achevement']= $this->regle($row['regle_date_achevement'], 'regle_date_achevement'); |
1316 |
} |
} |
1317 |
if(preg_match("/date_evenement/",$row['regle_date_conformite'])){ |
if(preg_match("/date_evenement/",$row['regle_date_conformite'])){ |
1318 |
$valF['date_conformite']= $this->regle($row['regle_date_conformite']); |
$valF['date_conformite']= $this->regle($row['regle_date_conformite'], 'regle_date_conformite'); |
1319 |
} |
} |
1320 |
} |
} |
1321 |
// Si des valeurs ont été calculées alors on met à jour l'enregistrement |
// Si des valeurs ont été calculées alors on met à jour l'enregistrement |
1353 |
$valNewInstr["evenement"] = $row['evenement_retour_signature']; |
$valNewInstr["evenement"] = $row['evenement_retour_signature']; |
1354 |
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
1355 |
$valNewInstr["dossier"] = $this->valF['dossier']; |
$valNewInstr["dossier"] = $this->valF['dossier']; |
1356 |
$valNewInstr["date_evenement"] = date("d/m/Y"); |
$valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1357 |
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
1358 |
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1359 |
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
1375 |
$valNewInstr["evenement"] = $row['evenement_retour_ar']; |
$valNewInstr["evenement"] = $row['evenement_retour_ar']; |
1376 |
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
1377 |
$valNewInstr["dossier"] = $this->valF['dossier']; |
$valNewInstr["dossier"] = $this->valF['dossier']; |
1378 |
$valNewInstr["date_evenement"] = date("d/m/Y"); |
$valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1379 |
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
1380 |
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1381 |
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
1452 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1453 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1454 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
1455 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1456 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur.")); |
1457 |
|
$this->correct = false; |
1458 |
|
return false; |
1459 |
|
} |
1460 |
} |
} |
1461 |
|
|
1462 |
function triggersupprimer($id,&$db,$val,$DEBUG) { |
function triggersupprimer($id,&$db,$val,$DEBUG) { |
1582 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1583 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1584 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG); |
1585 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1586 |
} |
$this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur.")); |
1587 |
|
$this->correct = false; |
1588 |
// ============================================= |
return false; |
1589 |
// calcul de date avec ajout de mois (delais) |
} |
|
// [add months (delay) and calculation final date] |
|
|
// LIMITE DE LA FONCTION si delai >24 MOIS |
|
|
// [limit : delay < 24 month] |
|
|
// ============================================= |
|
|
function moisdate($date,$delaimois) { |
|
|
$temp = explode("-" , $date); |
|
|
$jour = (int) $temp[2]; |
|
|
$mois = (int) $temp[1]; |
|
|
$annee = (int) $temp[0]; |
|
|
// calcul si delai superieur à 12 (limite 24) [delay > 24 month] |
|
|
if($delaimois>=12){ |
|
|
$delaimois=$delaimois-12; |
|
|
$annee=$annee+1; |
|
|
} |
|
|
if($delaimois>=12){ |
|
|
$delaimois=$delaimois-12; |
|
|
$annee=$annee+1; |
|
|
} |
|
|
// mois |
|
|
$mois=$mois+$delaimois; |
|
|
// calcul mois annee [calculation number of years if > 12 month] |
|
|
// nb de mois > à 12 |
|
|
if ($mois>12){ |
|
|
$mois=$mois-12; |
|
|
$annee=$annee+1; |
|
|
} |
|
|
// Calcul du nombre de jours dans le mois sélectionné [calculation number of days] |
|
|
switch($mois) { |
|
|
case "2": |
|
|
if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0) |
|
|
$jourmax = 29; |
|
|
else |
|
|
$jourmax = 28; |
|
|
break; |
|
|
case "4": |
|
|
case "6": |
|
|
case "9": |
|
|
case "11": |
|
|
$jourmax = 30; |
|
|
break; |
|
|
default: |
|
|
$jourmax = 31; |
|
|
} |
|
|
if ($jour > $jourmax) |
|
|
$jour = $jourmax; |
|
|
//$dateretour=$annee."-".$mois."-".$jour; |
|
|
return $annee."-".$mois."-".$jour ; |
|
1590 |
} |
} |
1591 |
|
|
1592 |
// Vérifie la restriction sur l'événement |
// Vérifie la restriction sur l'événement |
1779 |
} |
} |
1780 |
|
|
1781 |
//Mise à jour des données |
//Mise à jour des données |
1782 |
if ( $uid != '' || $uid == 'OP_FAILURE' ){ |
if ( $uid != '' && $uid != 'OP_FAILURE' ){ |
1783 |
// Logger |
// Logger |
1784 |
$this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE); |
$this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE); |
1785 |
// Recuperation de la valeur de la cle primaire de l'objet |
// Recuperation de la valeur de la cle primaire de l'objet |