source: pmb4.2/trunk/fuentes/pmb/classes/lignes_actes_statuts.class.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 5.1 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2005 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: lignes_actes_statuts.class.php,v 1.5 2015-04-03 11:16:20 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9class lgstat{
10       
11         
12        var $id_statut = 0;                                     //Identifiant de statut de ligne d'acte
13        var $libelle  = '';                                     //Libelle
14        var $relance = 0;                                       //0=non, 1=oui
15         
16        //Constructeur. 
17        function lgstat($id_statut=0) {
18               
19                if ($id_statut) {
20                        $this->id_statut = $id_statut;
21                        $this->load(); 
22                }
23
24        }       
25       
26       
27        // charge un statut de ligne d'acte à partir de la base.
28        function load(){
29       
30                global $dbh;
31               
32                $q = "select * from lignes_actes_statuts where id_statut = '".$this->id_statut."' ";
33                $r = pmb_mysql_query($q, $dbh) ;
34                $obj = pmb_mysql_fetch_object($r);
35                $this->libelle = $obj->libelle;
36                $this->relance = $obj->relance;
37
38        }
39
40       
41        // enregistre un statut de ligne d'acte en base.
42        function save(){
43               
44                global $dbh;
45
46                if( $this->libelle == '' ) die("Erreur de création statut de ligne d'acte");
47       
48                if ($this->id_statut) {
49                       
50                        $q = "update lignes_actes_statuts set 
51                                        libelle = '".$this->libelle."',
52                                        relance = '".$this->relance."'
53                                        where id_statut = '".$this->id_statut."' ";
54                        $r = pmb_mysql_query($q, $dbh);
55                       
56                } else {
57                       
58                        $q = "insert into lignes_actes_statuts set
59                                        libelle = '".$this->libelle."',
60                                        relance = '".$this->relance."' ";
61                        $r = pmb_mysql_query($q, $dbh);
62                        $this->id_statut = pmb_mysql_insert_id($dbh);
63               
64                }
65        }
66
67
68        //Retourne une liste des statuts de lignes d'actes (tableau)
69        static function getList($x='ARRAY_ALL') {
70               
71                global $dbh;
72                $res='';
73               
74                $q = "select * from lignes_actes_statuts order by libelle ";
75               
76                switch ($x) {
77                        case 'QUERY' :
78                                $res=$q;
79                                break;
80                        case 'ARRAY_VALUES' :
81                                $r = pmb_mysql_query($q, $dbh);
82                                $res = array();
83                                while ($row = pmb_mysql_fetch_object($r)){
84                                        $res[] = $row->id_statut;
85                                }
86                                break;
87                        case 'ARRAY_ALL':
88                        default :
89                                $r = pmb_mysql_query($q, $dbh);
90                                $res = array();
91                                while ($row = pmb_mysql_fetch_object($r)){
92                                        $res[$row->id_statut] = array();
93                                        $res[$row->id_statut][0] = $row->libelle;
94                                        $res[$row->id_statut][1] = $row->relance;
95                                }
96                                break;
97                }
98                return $res;
99        }
100
101        //Retourne un selecteur html avec la liste des statuts de lignes d'actes
102        static function getHtmlSelect($selected=array(), $sel_all='', $sel_attr=array()) {
103               
104                global $dbh,$msg,$charset;
105
106                $sel='';
107                $q = "select id_statut,libelle from lignes_actes_statuts order by libelle ";
108                $r = pmb_mysql_query($q, $dbh);
109                $res = array();
110                if ($sel_all) {
111                        $res[0]=htmlentities($sel_all,ENT_QUOTES,$charset);
112                }
113               
114                while ($row = pmb_mysql_fetch_object($r)){
115                        $res[$row->id_statut] = $row->libelle;
116                }
117               
118                $size=count($res);
119                if ($sel_attr['size']>$size) $sel_attr['size']=$size;
120               
121                if ($size) {
122                        $sel="<select ";
123                        if (count($sel_attr)) {
124                                foreach($sel_attr as $attr=>$val) {
125                                        $sel.="$attr='".$val."' ";
126                                }
127                        }
128                        $sel.=">";
129                        foreach($res as $id=>$val){
130                                $sel.="<option value='".$id."'";
131                                if(in_array($id,$selected)) $sel.=" selected='selected'";
132                                $sel.=" >";
133                                $sel.=htmlentities($val,ENT_QUOTES,$charset);
134                                $sel.="</option>";
135                        }
136                        $sel.='</select>';
137                }
138                return $sel;
139        }
140       
141       
142       
143        //Vérifie si un statut de ligne d'acte existe
144        static function exists($id_statut) {
145               
146                global $dbh;
147                $q = "select count(1) from lignes_actes_statuts where id_statut = '".$id_statut."' ";
148                $r = pmb_mysql_query($q, $dbh); 
149                return pmb_mysql_result($r, 0, 0);
150               
151        }
152       
153               
154        //Vérifie si le libelle d'un statut de ligne d'acte existe déjà en base
155        static function existsLibelle($libelle,$id_statut) {
156
157                global $dbh;
158                $q = "select count(1) from lignes_actes_statuts where libelle = '".$libelle."' ";
159                if ($id_statut) $q.= "and id_statut != '".$id_statut."' ";
160                $r = pmb_mysql_query($q, $dbh);
161                return pmb_mysql_result($r, 0, 0);
162
163        }
164
165
166        //supprime un statut de ligne d'acte de la base
167        static function delete($id_statut= 0) {
168               
169                global $dbh;
170
171                if (!$id_statut) return;
172
173                $q = "delete from lignes_actes_statuts where id_statut = '".$id_statut."' ";
174                $r = pmb_mysql_query($q, $dbh);
175                               
176        }
177
178
179        //Vérifie si un statut de ligne d'acte est utilise dans les lignes d'actes     
180        static function isUsed($id_statut){
181               
182                global $dbh;
183                if (!$id_statut) return 0;
184                $total=0;
185                $q = "select count(1) from lignes_actes where num_statut = '".$id_statut."' ";
186                $r = pmb_mysql_query($q, $dbh); 
187                $total+=pmb_mysql_result($r, 0, 0);
188                $q = "select count(1) from lignes_actes_relances where num_statut = '".$id_statut."' ";
189                $r = pmb_mysql_query($q, $dbh); 
190                $total+=pmb_mysql_result($r, 0, 0);
191                $q = "select count(1) from users where deflt3lgstatdev='".$id_statut."' or deflt3lgstatcde='".$id_statut." '";
192                $r = pmb_mysql_query($q, $dbh);
193                pmb_mysql_result($r, 0, 0);
194                $total+=pmb_mysql_result($r, 0, 0);
195                return $total;
196        }
197
198
199        //optimization de la table lignes_actes_statuts
200        function optimize() {
201               
202                global $dbh;
203               
204                $opt = pmb_mysql_query('OPTIMIZE TABLE lignes_actes_statuts', $dbh);
205                return $opt;
206                               
207        }
208                               
209}
Note: See TracBrowser for help on using the repository browser.