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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1546 by fmichon, Thu Mar 21 12:49:59 2013 UTC revision 2326 by vpihour, Fri Sep 20 09:47:38 2013 UTC
# Line 6  Line 6 
6   * @version SVN : $Id$   * @version SVN : $Id$
7   */   */
8    
9    //
10  require_once "../gen/obj/action.class.php";  require_once "../gen/obj/action.class.php";
11    
12  /**  /**
# Line 18  class action extends action_gen { Line 19  class action extends action_gen {
19          $this->constructeur($id, $db, $debug);          $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 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       */       */
# Line 29  class action extends action_gen { Line 114  class action extends action_gen {
114          echo "<h4>"._("Valeurs du dossier avant l'evenement")."</h4>";          echo "<h4>"._("Valeurs du dossier avant l'evenement")."</h4>";
115          echo "[archive_etat] [archive_delai] [archive_accord_tacite] [archive_avis]";          echo "[archive_etat] [archive_delai] [archive_accord_tacite] [archive_avis]";
116          echo "<br/>";          echo "<br/>";
117          echo "[archive_date_depot] [archive_date_complet] [archive_date_rejet]          echo "[archive_date_depot] [archive_date_dernier_depot] [archive_date_complet] [archive_date_rejet]
118          [archive_date_limite] [archive_date_notification_delai]          [archive_date_limite] [archive_date_notification_delai]
119          [archive_date_decision] [archive_date_validite]          [archive_date_decision] [archive_date_validite]
120          [archive_date_achevement] [archive_date_conformite]          [archive_date_achevement] [archive_date_conformite]
121          [archive_date_chantier]";          [archive_date_chantier]
122            [duree_validite]";
123          // Champs de l'événement          // Champs de l'événement
124          echo "<h4>"._("Parametres de l'evenement")."</h4>";          echo "<h4>"._("Parametres de l'evenement")."</h4>";
125          echo "[etat] [delai] [accord_tacite] [avis_decision] [delai_notification] [date_evenement]";          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  }  }

Legend:
Removed from v.1546  
changed lines
  Added in v.2326

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26