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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2376 - (show annotations)
Mon Oct 7 17:11:43 2013 UTC (11 years, 4 months ago) by softime
File size: 5137 byte(s)
Mise à jour de l'aide à la saisie

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 // Remplace les opérateurs par un espace puis transforme la
71 // chaine en un tableau
72 $tabValue = str_replace($operateurs, " ", $value);
73 // Tableau des champs
74 $tabValue = explode(" ", $tabValue);
75 // Supprime les numériques et null du tableau
76 foreach ($tabValue as $key_tab => $value) {
77 if (is_numeric($value)) {
78 unset($tabValue[$key_tab]);
79 } elseif ($value == "NULL" || $value == "null") {
80 unset($tabValue[$key_tab]);
81 }
82 }
83
84 // Vérifie les champs utilisés pour la restriction
85 $check_field_exist = $this->f->check_field_exist($tabValue,
86 'instruction');
87 if ($check_field_exist !== true) {
88
89 // Liste des champs en erreur
90 $string_error_fields = implode(", ", $check_field_exist);
91
92 // Message d'erreur
93 $error_message = _("Le champ %s n'est pas utilisable pour le champ %s");
94 // Si plusieurs champs sont en erreur
95 if (count($check_field_exist) > 1) {
96 $error_message = _("Les champs %s ne sont pas utilisable pour le champ %s");
97 }
98
99 // Affiche l'erreur
100 $this->correct=false;
101 $this->addToMessage(sprintf($error_message, $string_error_fields, _($key)));
102 }
103 }
104 }
105
106 }
107
108 /**
109 *
110 */
111 function formSpecificContent($maj) {
112 /**
113 * Affichage des champs qu'il est possible d'utiliser dans les règles
114 */
115 // Archives du dossier
116 echo "<h4>"._("Valeurs du dossier avant l'evenement")."</h4>";
117 echo "[archive_etat] [archive_delai] [archive_accord_tacite]
118 [archive_avis]";
119 echo "<br/>";
120 echo "[archive_date_dernier_depot] [archive_date_complet]
121 [archive_date_rejet] [archive_date_limite]
122 [archive_date_notification_delai] [archive_date_decision]
123 [archive_date_validite] [archive_date_achevement]
124 [archive_date_conformite] [archive_date_chantier]
125 [archive_etat_pendant_incompletude] [archive_date_limite_incompletude]
126 [archive_delai_incompletude] [archive_autorite_competente]
127 [duree_validite]";
128 // Champs de l'événement
129 echo "<h4>"._("Parametres de l'evenement")."</h4>";
130 echo "[etat] [delai] [accord_tacite] [avis_decision]
131 [delai_notification] [date_evenement] [autorite_competente]";
132 // Champs du type détaillé du dossier d'autorisation
133 echo "<h4>"._("Parametres du type detaille du dossier d'autorisation")
134 ."</h4>";
135 echo "[duree_validite_parametrage]";
136 echo "<h4>"._("Suppression de la valeur")."</h4>";
137 echo "[null]";
138 }
139
140 }
141
142 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26