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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 544 - (hide annotations)
Mon Oct 29 16:25:36 2012 UTC (12 years, 3 months ago) by nhaye
File size: 4764 byte(s)
Création d'une classe "abstraite" virtual_dbform.class.php
création de la classe demande_encours (accessible aux services),
création de la classe consultation_retour_service (permettant un retour d'avis des services),
ajout d'une méthode d'affichage de dialog box (jquery-ui dialog), fonctionne de la même façon que ajaxIt,
correction des entrées de menu,
ajout des droits necessaires.


1 nhaye 544 <?php
2     /**
3     * Ce fichier est destine a permettre la surcharge de certaines methodes de
4     * la classe om_dbform pour des besoins specifiques de l'application,
5     * elle permet de requeter pour l'affichage en visualisation sur plusieurs table
6     * car inclue le script .form.php correspondant a la classe
7     *
8     * @package openmairie_exemple
9     * @version SVN : $Id: om_dbform.class.php 516 2012-10-17 17:13:43Z mlimic $
10     */
11    
12     /**
13     *
14     */
15     require_once ("../obj/om_dbform.class.php");
16     /**
17     *
18     */
19     require_once "om_formulaire.class.php";
20    
21     /**
22     *
23     */
24     class virtual_dbform extends dbForm {
25    
26     /**
27     *
28     */
29     var $om_formulaire = "om_formulaire";
30    
31    
32    
33     /**
34     * Constructeur
35     *
36     * @param string $id
37     * @param object $db Objet de connexion DB
38     * @param boolean $DEBUG Mode debug (@deprecated)
39     */
40     function constructeur($id, &$db, $DEBUG = false) {
41     if (isset($GLOBALS["f"])) {
42     $this->f = $GLOBALS["f"];
43     }
44     // Affectation de l'identifiant de base de donnees dans l'attribut db
45     // de l'objet
46     $this->db = $db;
47     // Inclusion du fichier de parametre de la table pour recuperer les
48     // trois parametres permettant de construire la requete de selection
49     // $champs - clause select
50     // $tableSelect - clause from
51     // $selection - clause where
52     $fichier = "../sql/".$this->db->phptype."/".$this->table.".form.inc.php";
53     if (file_exists($fichier)) {
54     include $fichier;
55     } else {
56     $fichier = "../sql/".$this->db->phptype."/".$this->table.".form.inc";
57     if (file_exists($fichier)) {
58     include $fichier;
59     }
60     }
61     // Sauvegarde des actions contextuelles supplementaires
62     if (isset($portlet_actions)) {
63     $this->actions_sup = $portlet_actions;
64     }
65     //Si le flag $archivable est posé
66     //if(isset($archivable) and $archivable){
67     // $this->archivable=TRUE;
68     //} else {
69     // $this->archivable=FALSE;
70     //}
71     // Concatenation des champs pour constitution de la clause select
72     $listeChamp = "";
73     foreach ($champs as $elem) {
74     $listeChamp .= $elem.",";
75     }
76     // Suppresion de la derniere virgule
77     $listeChamp = substr($listeChamp, 0, strlen($listeChamp)-1);
78     // Initialisation de la variable selection
79     if (!isset($selection)) {
80     $selection = "";
81     }
82     // Concatenation de la requete de selection
83     $sql = " select ".$listeChamp." from ".$tableSelect." ";
84     $sql .= " where ".$this->real_table.".".$this->clePrimaire." = ".$id." ";
85     $sql .= " ".$selection." ";
86     //print '$sql:'.$sql.' ';
87     // Execution de la requete
88     $res = $db->limitquery($sql, 0, 1);
89     // Logger
90     $this->addToLog("constructeur(): db->limitquery(\"".str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE);
91     // Si une erreur survient
92     if (database::isError($res, true)) {
93     // Appel de la methode de recuperation des erreurs
94     $this->erreur_db($res->getDebugInfo(), $res->getMessage(), $tableSelect);
95     } else {
96     // Recuperation des informations sur la structure de la table
97     // ??? compatibilite POSTGRESQL (len = -1, type vide, flags vide)
98     $info = $res->tableInfo();
99     // Initialisation de la cle a 0
100     $i = 0;
101     // Recuperation du nom de chaque champ dans l'attribut 'champs'
102     foreach ($info as $elem) {
103     $this->champs[$i++] = $elem['name'];
104     }
105     // ??? Le $i devrait etre initialises a 0 pour chaque attribut suivant
106     // Recuperation de la taille de chaque champ dans l'attibut 'longueurMax'
107     foreach ($info as $elem) {
108     $this->longueurMax[$i++] = $elem['len'];
109     }
110     // Recuperation du type de chaque champ dans l'attribut 'type'
111     // ??? Non utilise
112     foreach ($info as $elem) {
113     $this->type[$i++] = $elem['type'];
114     }
115     // Recuperation du flag de chaque champ dans l'attribut 'flags'
116     // ??? Non utilise
117     foreach ($info as $elem) {
118     $this->flags[$i++] = $elem['flags'];
119     }
120     // Recuperation de l'enregistrement resultat de la requete
121     while ($row =& $res->fetchRow()) {
122     // Initialisation de la cle a 0
123     $i = 0;
124     // Recuperation de la valeur de chaque champ dans l'attribut 'val'
125     foreach ($row as $elem) {
126     $this->val[$i++] = $elem;
127     }
128     }
129     }
130     }
131     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26