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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2308 - (hide 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 fraynaud 3 <?php
2 fmichon 1546 /**
3     * Ce fichier contient la déclaration de la classe "action".
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8 fraynaud 3
9 fmichon 1549 //
10 fmichon 1546 require_once "../gen/obj/action.class.php";
11    
12     /**
13     *
14     *
15     */
16 fraynaud 3 class action extends action_gen {
17    
18 fmichon 1546 function action($id, &$db, $debug) {
19     $this->constructeur($id, $db, $debug);
20     }
21 fraynaud 3
22 softime 2308 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 fmichon 1546 /**
107     *
108     */
109 fmichon 1541 function formSpecificContent($maj) {
110 fmichon 1546 /**
111     * Affichage des champs qu'il est possible d'utiliser dans les règles
112     */
113     // Archives du dossier
114 fmichon 1541 echo "<h4>"._("Valeurs du dossier avant l'evenement")."</h4>";
115     echo "[archive_etat] [archive_delai] [archive_accord_tacite] [archive_avis]";
116     echo "<br/>";
117 nhaye 1571 echo "[archive_date_depot] [archive_date_dernier_depot] [archive_date_complet] [archive_date_rejet]
118 fmichon 1541 [archive_date_limite] [archive_date_notification_delai]
119     [archive_date_decision] [archive_date_validite]
120     [archive_date_achevement] [archive_date_conformite]
121 softime 2142 [archive_date_chantier]
122     [duree_validite]";
123 fmichon 1546 // Champs de l'événement
124 fmichon 1541 echo "<h4>"._("Parametres de l'evenement")."</h4>";
125     echo "[etat] [delai] [accord_tacite] [avis_decision] [delai_notification] [date_evenement]";
126 softime 2142 // 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 fmichon 1541 }
130    
131 fmichon 1546 }
132    
133     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26