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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2308 - (show annotations)
Tue Sep 17 16:06:04 2013 UTC (11 years, 4 months ago) by softime
File size: 4748 byte(s)
- Contrôle de saisie sur les champs règle du formulaire action
- ajout de test fonctionnel

1 <?php
2 /**
3 * Ce fichier contient la déclaration de la classe "action".
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 //
10 require_once "../gen/obj/action.class.php";
11
12 /**
13 *
14 *
15 */
16 class action extends action_gen {
17
18 function action($id, &$db, $debug) {
19 $this->constructeur($id, $db, $debug);
20 }
21
22 function verifier($val = array(), &$db, $DEBUG){
23 parent::verifier($val, $db, $DEBUG);
24
25 // Requête SQL pour récupérer les champs de la table action contenant
26 // "regle_"
27 $sql = "SELECT column_name
28 FROM information_schema.columns
29 WHERE table_schema = '".substr(DB_PREFIXE, 0, -1)."'
30 AND table_name = 'action'
31 AND column_name LIKE 'regle_%'
32 ORDER BY ordinal_position";
33 $this->addToLog("verifier() : db->query(\"".$sql."\")", VERBOSE_MODE);
34 $res = $db->query($sql);
35 $this->f->isDatabaseError($res);
36
37 $list_column = array();
38 // Tant qu'il y a un résultat
39 while ($row = &$res->fetchRow(DB_FETCHMODE_ASSOC)) {
40
41 // Le nom de la colonne est mise dans un tableau
42 $list_column[] = $row['column_name'];
43 }
44
45 $list_fields = array();
46 // Pour chaque colonne
47 foreach ($list_column as $value) {
48
49 // Vérifie que le champs existe dans le formulaire et qu'il n'est
50 // pas vide
51 if (isset($this->valF[$value])
52 && $this->valF[$value] != ''
53 && $this->valF[$value] != NULL) {
54 $list_fields[$value] = $this->valF[$value];
55 }
56 }
57
58 // Si le tableau contenant les champs à tester n'est pas vide
59 if (count($list_fields) > 0) {
60
61 //
62 foreach ($list_fields as $key => $value) {
63
64 // Liste des opérateurs possible
65 $operateurs = array(">=", "<=", "+", "-");
66
67 // Supprime tous les espaces de la chaîne de caractère
68 $value = str_replace(' ', '', $value);
69
70 // Met des espace avant et après les opérateurs puis transforme la
71 // chaine en un tableau
72 $tabValue = str_replace($operateurs, " ", $value);
73 // Tableau des champ
74 $tabValue = explode(" ", $tabValue);
75 // Supprime les numériques du tableau
76 foreach ($tabValue as $key_tab => $value) {
77 if (is_numeric($value)) {
78 unset($tabValue[$key_tab]);
79 }
80 }
81
82 // Vérifie les champs utilisés pour la restriction
83 $check_field_exist = $this->f->check_field_exist($tabValue,
84 'instruction');
85 if ($check_field_exist !== true) {
86
87 // Liste des champs en erreur
88 $string_error_fields = implode(", ", $check_field_exist);
89
90 // Message d'erreur
91 $error_message = _("Le champ %s n'est pas utilisable pour le champ %s");
92 // Si plusieurs champs sont en erreur
93 if (count($check_field_exist) > 1) {
94 $error_message = _("Les champs %s ne sont pas utilisable pour le champ %s");
95 }
96
97 // Affiche l'erreur
98 $this->correct=false;
99 $this->addToMessage(sprintf($error_message, $string_error_fields, _($key)));
100 }
101 }
102 }
103
104 }
105
106 /**
107 *
108 */
109 function formSpecificContent($maj) {
110 /**
111 * Affichage des champs qu'il est possible d'utiliser dans les règles
112 */
113 // Archives du dossier
114 echo "<h4>"._("Valeurs du dossier avant l'evenement")."</h4>";
115 echo "[archive_etat] [archive_delai] [archive_accord_tacite] [archive_avis]";
116 echo "<br/>";
117 echo "[archive_date_depot] [archive_date_dernier_depot] [archive_date_complet] [archive_date_rejet]
118 [archive_date_limite] [archive_date_notification_delai]
119 [archive_date_decision] [archive_date_validite]
120 [archive_date_achevement] [archive_date_conformite]
121 [archive_date_chantier]
122 [duree_validite]";
123 // Champs de l'événement
124 echo "<h4>"._("Parametres de l'evenement")."</h4>";
125 echo "[etat] [delai] [accord_tacite] [avis_decision] [delai_notification] [date_evenement]";
126 // Champs du type détaillé du dossier d'autorisation
127 echo "<h4>"._("Parametres du type detaille du dossier d'autorisation")."</h4>";
128 echo "[duree_validite_parametrage]";
129 }
130
131 }
132
133 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26