1 |
<?php |
2 |
/** |
3 |
* Ce script permet de gérer le registre de l'affichage réglementaire : |
4 |
* - interface pour déclencher le traitement : lien vers une fonction javascript |
5 |
* qui permet l'appel en ajax du traitement et l'appel à l'édition, |
6 |
* - appel en ajax : traitement mise à jour de tous les dossiers en cours pour |
7 |
* ajouter une étape d'instruction qui correspond à l'événement attestation |
8 |
* d'affichage si l'élément n'en possède pas déjà un. |
9 |
* |
10 |
* @package openfoncier |
11 |
* @version SVN : $Id$ |
12 |
*/ |
13 |
|
14 |
// |
15 |
require_once "../obj/utils.class.php"; |
16 |
$f = new utils("nohtml", "affichage_reglementaire_registre", |
17 |
_("guichet unique")." -> "._("affichage reglementaire")." -> "._("registre")); |
18 |
|
19 |
/** |
20 |
* Gestion des erreurs : vérification du paramétrage |
21 |
*/ |
22 |
$erreur = false; |
23 |
// Récupération de l'événement correspondant à l'instruction à insérer pour chaque dossier du registre |
24 |
$aff_obli = $f->getParameter('id_affichage_obligatoire'); |
25 |
// Si le paramétrage est vide ou pas numérique |
26 |
if ($aff_obli == "" or !is_numeric($aff_obli)) { |
27 |
$erreur = true; |
28 |
} else { |
29 |
// Vérification de l'existance de l'événement |
30 |
$sql_verif = "SELECT count(*) FROM ".DB_PREFIXE."evenement WHERE evenement = ".$aff_obli; |
31 |
$res_verif = $f->db->getOne($sql_verif); |
32 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->getOne(\"".$sql_verif."\");", VERBOSE_MODE); |
33 |
$f->isDatabaseError($res_verif); |
34 |
// Si pas de correspondance d'événement dans la base |
35 |
if ($res_verif === '0') { |
36 |
$erreur = true; |
37 |
} |
38 |
} |
39 |
// Affichage d'un message si en erreur |
40 |
if ($erreur == true) { |
41 |
// Affichage de la structure de la page |
42 |
$f->setFlag(NULL); |
43 |
$f->display(); |
44 |
// Affichage de l'erreur et arrêt du script |
45 |
$f->displayMessage("error", _("Erreur de parametrage. Contactez votre administrateur.")); |
46 |
die(); |
47 |
} |
48 |
|
49 |
// Si un affichage réglementaire des dossiers est demandé (appel en ajax) |
50 |
if (isset($_GET['update'])) { |
51 |
// Désactivation des logs car appel en ajax |
52 |
$f->disableLog(); |
53 |
// Récupération de la liste des dossiers d'instruction dont l'état est |
54 |
// "encours". Une jointure avec la table instruction permet de savoir si le |
55 |
// dossier a déjà été affiché ou non en récupérant l'id de l'événement qui |
56 |
// représente l'attestion de l'affichage réglementaire dans le paramétrage. |
57 |
$sql = "SELECT dossier.dossier, instruction.instruction |
58 |
FROM |
59 |
".DB_PREFIXE."dossier |
60 |
LEFT JOIN ".DB_PREFIXE."instruction |
61 |
ON dossier.dossier=instruction.dossier |
62 |
AND instruction.evenement=".$aff_obli." |
63 |
WHERE |
64 |
(select |
65 |
e.statut |
66 |
from |
67 |
".DB_PREFIXE."etat e |
68 |
where |
69 |
e.etat = dossier.etat |
70 |
) = 'encours'"; |
71 |
$res = $f->db->query($sql); |
72 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
73 |
$f->isDatabaseError($res); |
74 |
// Boucle sur les dossiers |
75 |
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
76 |
// Si aucune instruction n'a d'événement de type "affichage_obligatoire" |
77 |
// on créé une nouvelle instruction avec cet événement. |
78 |
if ($row["instruction"] == "") { |
79 |
// Instanciation d'instruction pour ajout |
80 |
require_once '../obj/instruction.class.php'; |
81 |
$instr = new instruction(']', $f->db, DEBUG); |
82 |
// Création d'un tableau avec la liste des champs de l'instruction |
83 |
foreach($instr->champs as $champ) { |
84 |
$valF[$champ] = ""; |
85 |
} |
86 |
$valF["destinataire"] = $row['dossier']; |
87 |
$valF["date_evenement"] = date("d/m/Y"); |
88 |
$valF["evenement"] = $aff_obli; |
89 |
$valF["dossier"] = $row['dossier']; |
90 |
|
91 |
// Définition des valeurs de la nouvelle instruction |
92 |
$instr->valF = array(); |
93 |
// Insertion dans la base |
94 |
$res_ajout = $instr->ajouter($valF, $f->db, DEBUG); |
95 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->autoexecute(\"".DB_PREFIXE."instruction\", ".print_r($valF, true).", DB_AUTOQUERY_INSERT);", VERBOSE_MODE); |
96 |
$f->isDatabaseError($res_ajout); |
97 |
|
98 |
//Finalisation du document |
99 |
$_GET['obj']='instruction'; |
100 |
$_GET['idx']=$instr->valF[$instr->clePrimaire]; |
101 |
$instr = new instruction($_GET['idx'],$f->db,DEBUG); |
102 |
$instr->finaliser('', 1, '', ''); |
103 |
} |
104 |
} |
105 |
} else { // Sinon affichage standard |
106 |
// Affichage de la structure de la page |
107 |
$f->setFlag(NULL); |
108 |
$f->display(); |
109 |
// Ouverture de la balise - Conteneur d'onglets |
110 |
echo "<div id=\"formulaire\">\n\n"; |
111 |
// Affichage de la liste des onglets |
112 |
$f->layout->display_tab_lien_onglet_un(_("imprimer le registre d'affichage reglementaire")); |
113 |
// Ouverture de la balise - Onglet 1 |
114 |
echo "\t<div id=\"tabs-1\">\n\n"; |
115 |
// Affichage de la description de l'écran |
116 |
$f->displayDescription(_("Cet ecran permet d'imprimer le registre d'affichage ". |
117 |
"reglementaire des dossiers d'instruction en cours. ". |
118 |
"La validation de ce traitement ajoute sur chacun des ". |
119 |
"dossiers d'instruction concernes la possibilite ". |
120 |
"d'imprimer une attestation d'affichage.")); |
121 |
// Ouverture du formulaire |
122 |
echo "\t<form"; |
123 |
echo " method=\"post\""; |
124 |
echo " id=\"affichage_reglementaire_registre_form\""; |
125 |
echo " action=\"#\""; |
126 |
echo ">\n"; |
127 |
// |
128 |
echo "<div id=\"msg\"></div>"; |
129 |
// Affichage du bouton |
130 |
echo "\t<div class=\"formControls\">\n"; |
131 |
$f->layout->display_form_button(array("value" => _("Valider"), "onclick" => "affichage_reglementaire_registre(this); return false;", )); |
132 |
echo "\t</div>\n"; |
133 |
// Fermeture du fomulaire |
134 |
echo "\t</form>\n"; |
135 |
// Fermeture de la balise - Onglet 1 |
136 |
echo "\n\t</div>\n"; |
137 |
// Fermeture de la balise - Conteneur d'onglets |
138 |
echo "</div>\n"; |
139 |
} |
140 |
|
141 |
?> |