Commit 23fef5795165a2bbe4ce59e024c5bc3ba73ae0c0

Authored by Eriksen Costa
1 parent c0d931e2
Exists in master

Refactoring para coding standards

ieducar/intranet/include/public/clsPublicBairro.inc.php
1 1 <?php
2   -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3   -* *
4   -* @author Prefeitura Municipal de Itajaí *
5   -* @updated 29/03/2007 *
6   -* Pacote: i-PLB Software Público Livre e Brasileiro *
7   -* *
8   -* Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí *
9   -* ctima@itajai.sc.gov.br *
10   -* *
11   -* Este programa é software livre, você pode redistribuí-lo e/ou *
12   -* modificá-lo sob os termos da Licença Pública Geral GNU, conforme *
13   -* publicada pela Free Software Foundation, tanto a versão 2 da *
14   -* Licença como (a seu critério) qualquer versão mais nova. *
15   -* *
16   -* Este programa é distribuído na expectativa de ser útil, mas SEM *
17   -* QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI- *
18   -* ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con- *
19   -* sulte a Licença Pública Geral GNU para obter mais detalhes. *
20   -* *
21   -* Você deve ter recebido uma cópia da Licença Pública Geral GNU *
22   -* junto com este programa. Se não, escreva para a Free Software *
23   -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *
24   -* 02111-1307, USA. *
25   -* *
26   -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
27   -/**
28   -* @author Prefeitura Municipal de Itajaí
29   -*
30   -* Criado em 12/02/2007 15:36 pelo gerador automatico de classes
31   -*/
32 2  
33   -require_once( "include/public/geral.inc.php" );
  3 +/**
  4 + * i-Educar - Sistema de gestão escolar
  5 + *
  6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
  8 + *
  9 + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
  10 + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free
  11 + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério)
  12 + * qualquer versão posterior.
  13 + *
  14 + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM
  15 + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU
  16 + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral
  17 + * do GNU para mais detalhes.
  18 + *
  19 + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto
  20 + * com este programa; se não, escreva para a Free Software Foundation, Inc., no
  21 + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  22 + *
  23 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  24 + * @category i-Educar
  25 + * @license @@license@@
  26 + * @package iEd_Public
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
  29 + */
  30 +
  31 +require_once 'include/public/geral.inc.php';
34 32  
  33 +/**
  34 + * clsPublicBairro class.
  35 + *
  36 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  37 + * @category i-Educar
  38 + * @license @@license@@
  39 + * @package iEd_Public
  40 + * @since Classe disponível desde a versão 1.0.0
  41 + * @version @@package_version@@
  42 + */
35 43 class clsPublicBairro
36 44 {
37   - var $idmun;
38   - var $geom;
39   - var $idbai;
40   - var $nome;
41   - var $idpes_rev;
42   - var $data_rev;
43   - var $origem_gravacao;
44   - var $idpes_cad;
45   - var $data_cad;
46   - var $operacao;
47   - var $idsis_rev;
48   - var $idsis_cad;
49   -
50   - // propriedades padrao
51   -
52   - /**
53   - * Armazena o total de resultados obtidos na ultima chamada ao metodo lista
54   - *
55   - * @var int
56   - */
57   - var $_total;
58   -
59   - /**
60   - * Nome do schema
61   - *
62   - * @var string
63   - */
64   - var $_schema;
65   -
66   - /**
67   - * Nome da tabela
68   - *
69   - * @var string
70   - */
71   - var $_tabela;
72   -
73   - /**
74   - * Lista separada por virgula, com os campos que devem ser selecionados na proxima chamado ao metodo lista
75   - *
76   - * @var string
77   - */
78   - var $_campos_lista;
79   -
80   - /**
81   - * Lista com todos os campos da tabela separados por virgula, padrao para selecao no metodo lista
82   - *
83   - * @var string
84   - */
85   - var $_todos_campos;
86   -
87   - /**
88   - * Valor que define a quantidade de registros a ser retornada pelo metodo lista
89   - *
90   - * @var int
91   - */
92   - var $_limite_quantidade;
93   -
94   - /**
95   - * Define o valor de offset no retorno dos registros no metodo lista
96   - *
97   - * @var int
98   - */
99   - var $_limite_offset;
100   -
101   - /**
102   - * Define o campo padrao para ser usado como padrao de ordenacao no metodo lista
103   - *
104   - * @var string
105   - */
106   - var $_campo_order_by;
107   -
108   -
109   - /**
110   - * Construtor (PHP 4)
111   - *
112   - * @param integer idmun
113   - * @param string geom
114   - * @param integer idbai
115   - * @param string nome
116   - * @param integer idpes_rev
117   - * @param string data_rev
118   - * @param string origem_gravacao
119   - * @param integer idpes_cad
120   - * @param string data_cad
121   - * @param string operacao
122   - * @param integer idsis_rev
123   - * @param integer idsis_cad
124   - *
125   - * @return object
126   - */
127   - function clsPublicBairro( $idmun = null, $geom = null, $idbai = null, $nome = null, $idpes_rev = null, $data_rev = null, $origem_gravacao = null, $idpes_cad = null, $data_cad = null, $operacao = null, $idsis_rev = null, $idsis_cad = null )
128   - {
129   - $db = new clsBanco();
130   - $this->_schema = "public.";
131   - $this->_tabela = "{$this->_schema}bairro";
132   -
133   - $this->_campos_lista = $this->_todos_campos = "b.idmun, b.geom, b.idbai, b.nome, b.idpes_rev, b.data_rev, b.origem_gravacao, b.idpes_cad, b.data_cad, b.operacao, b.idsis_rev, b.idsis_cad";
134   -
135   - if( is_numeric( $idsis_rev ) )
136   - {
137   - if( class_exists( "clsAcessoSistema" ) )
138   - {
139   - $tmp_obj = new clsAcessoSistema( $idsis_rev );
140   - if( method_exists( $tmp_obj, "existe") )
141   - {
142   - if( $tmp_obj->existe() )
143   - {
144   - $this->idsis_rev = $idsis_rev;
145   - }
146   - }
147   - else if( method_exists( $tmp_obj, "detalhe") )
148   - {
149   - if( $tmp_obj->detalhe() )
150   - {
151   - $this->idsis_rev = $idsis_rev;
152   - }
153   - }
154   - }
155   - else
156   - {
157   - if( $db->CampoUnico( "SELECT 1 FROM acesso.sistema WHERE idsis = '{$idsis_rev}'" ) )
158   - {
159   - $this->idsis_rev = $idsis_rev;
160   - }
161   - }
162   - }
163   - if( is_numeric( $idsis_cad ) )
164   - {
165   - if( class_exists( "clsAcessoSistema" ) )
166   - {
167   - $tmp_obj = new clsAcessoSistema( $idsis_cad );
168   - if( method_exists( $tmp_obj, "existe") )
169   - {
170   - if( $tmp_obj->existe() )
171   - {
172   - $this->idsis_cad = $idsis_cad;
173   - }
174   - }
175   - else if( method_exists( $tmp_obj, "detalhe") )
176   - {
177   - if( $tmp_obj->detalhe() )
178   - {
179   - $this->idsis_cad = $idsis_cad;
180   - }
181   - }
182   - }
183   - else
184   - {
185   - if( $db->CampoUnico( "SELECT 1 FROM acesso.sistema WHERE idsis = '{$idsis_cad}'" ) )
186   - {
187   - $this->idsis_cad = $idsis_cad;
188   - }
189   - }
190   - }
191   - if( is_numeric( $idpes_rev ) )
192   - {
193   - if( class_exists( "clsCadastroPessoa" ) )
194   - {
195   - $tmp_obj = new clsCadastroPessoa( $idpes_rev );
196   - if( method_exists( $tmp_obj, "existe") )
197   - {
198   - if( $tmp_obj->existe() )
199   - {
200   - $this->idpes_rev = $idpes_rev;
201   - }
202   - }
203   - else if( method_exists( $tmp_obj, "detalhe") )
204   - {
205   - if( $tmp_obj->detalhe() )
206   - {
207   - $this->idpes_rev = $idpes_rev;
208   - }
209   - }
210   - }
211   - else
212   - {
213   - if( $db->CampoUnico( "SELECT 1 FROM cadastro.pessoa WHERE idpes = '{$idpes_rev}'" ) )
214   - {
215   - $this->idpes_rev = $idpes_rev;
216   - }
217   - }
218   - }
219   - if( is_numeric( $idpes_cad ) )
220   - {
221   - if( class_exists( "clsCadastroPessoa" ) )
222   - {
223   - $tmp_obj = new clsCadastroPessoa( $idpes_cad );
224   - if( method_exists( $tmp_obj, "existe") )
225   - {
226   - if( $tmp_obj->existe() )
227   - {
228   - $this->idpes_cad = $idpes_cad;
229   - }
230   - }
231   - else if( method_exists( $tmp_obj, "detalhe") )
232   - {
233   - if( $tmp_obj->detalhe() )
234   - {
235   - $this->idpes_cad = $idpes_cad;
236   - }
237   - }
238   - }
239   - else
240   - {
241   - if( $db->CampoUnico( "SELECT 1 FROM cadastro.pessoa WHERE idpes = '{$idpes_cad}'" ) )
242   - {
243   - $this->idpes_cad = $idpes_cad;
244   - }
245   - }
246   - }
247   - if( is_numeric( $idmun ) )
248   - {
249   - if( class_exists( "clsMunicipio" ) )
250   - {
251   - $tmp_obj = new clsMunicipio( $idmun );
252   - if( method_exists( $tmp_obj, "existe") )
253   - {
254   - if( $tmp_obj->existe() )
255   - {
256   - $this->idmun = $idmun;
257   - }
258   - }
259   - else if( method_exists( $tmp_obj, "detalhe") )
260   - {
261   - if( $tmp_obj->detalhe() )
262   - {
263   - $this->idmun = $idmun;
264   - }
265   - }
266   - }
267   - else
268   - {
269   - if( $db->CampoUnico( "SELECT 1 FROM municipio WHERE idmun = '{$idmun}'" ) )
270   - {
271   - $this->idmun = $idmun;
272   - }
273   - }
274   - }
275   -
276   -
277   - if( is_string( $geom ) )
278   - {
279   - $this->geom = $geom;
280   - }
281   - if( is_numeric( $idbai ) )
282   - {
283   - $this->idbai = $idbai;
284   - }
285   - if( is_string( $nome ) )
286   - {
287   - $this->nome = $nome;
288   - }
289   - if( is_string( $data_rev ) )
290   - {
291   - $this->data_rev = $data_rev;
292   - }
293   - if( is_string( $origem_gravacao ) )
294   - {
295   - $this->origem_gravacao = $origem_gravacao;
296   - }
297   - if( is_string( $data_cad ) )
298   - {
299   - $this->data_cad = $data_cad;
300   - }
301   - if( is_string( $operacao ) )
302   - {
303   - $this->operacao = $operacao;
304   - }
305   -
306   - }
307   -
308   - /**
309   - * Cria um novo registro
310   - *
311   - * @return bool
312   - */
313   - function cadastra()
314   - {
315   - if( is_numeric( $this->idmun ) && is_string( $this->nome ) && is_string( $this->origem_gravacao ) && is_string( $this->operacao ) && is_numeric( $this->idsis_cad ) )
316   - {
317   - $db = new clsBanco();
318   -
319   - $campos = "";
320   - $valores = "";
321   - $gruda = "";
322   -
323   - if( is_numeric( $this->idmun ) )
324   - {
325   - $campos .= "{$gruda}idmun";
326   - $valores .= "{$gruda}'{$this->idmun}'";
327   - $gruda = ", ";
328   - }
329   - if( is_string( $this->geom ) )
330   - {
331   - $campos .= "{$gruda}geom";
332   - $valores .= "{$gruda}'{$this->geom}'";
333   - $gruda = ", ";
334   - }
335   - if( is_string( $this->nome ) )
336   - {
337   - $campos .= "{$gruda}nome";
338   - $valores .= "{$gruda}'{$this->nome}'";
339   - $gruda = ", ";
340   - }
341   - if( is_numeric( $this->idpes_rev ) )
342   - {
343   - $campos .= "{$gruda}idpes_rev";
344   - $valores .= "{$gruda}'{$this->idpes_rev}'";
345   - $gruda = ", ";
346   - }
347   - if( is_string( $this->data_rev ) )
348   - {
349   - $campos .= "{$gruda}data_rev";
350   - $valores .= "{$gruda}'{$this->data_rev}'";
351   - $gruda = ", ";
352   - }
353   - if( is_string( $this->origem_gravacao ) )
354   - {
355   - $campos .= "{$gruda}origem_gravacao";
356   - $valores .= "{$gruda}'{$this->origem_gravacao}'";
357   - $gruda = ", ";
358   - }
359   - if( is_numeric( $this->idpes_cad ) )
360   - {
361   - $campos .= "{$gruda}idpes_cad";
362   - $valores .= "{$gruda}'{$this->idpes_cad}'";
363   - $gruda = ", ";
364   - }
365   - $campos .= "{$gruda}data_cad";
366   - $valores .= "{$gruda}NOW()";
367   - $gruda = ", ";
368   - if( is_string( $this->operacao ) )
369   - {
370   - $campos .= "{$gruda}operacao";
371   - $valores .= "{$gruda}'{$this->operacao}'";
372   - $gruda = ", ";
373   - }
374   - if( is_numeric( $this->idsis_rev ) )
375   - {
376   - $campos .= "{$gruda}idsis_rev";
377   - $valores .= "{$gruda}'{$this->idsis_rev}'";
378   - $gruda = ", ";
379   - }
380   - if( is_numeric( $this->idsis_cad ) )
381   - {
382   - $campos .= "{$gruda}idsis_cad";
383   - $valores .= "{$gruda}'{$this->idsis_cad}'";
384   - $gruda = ", ";
385   - }
386   -
387   -
388   - $db->Consulta( "INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )" );
389   - return $db->InsertId( "seq_bairro" );
390   - }
391   - return false;
392   - }
393   -
394   - /**
395   - * Edita os dados de um registro
396   - *
397   - * @return bool
398   - */
399   - function edita()
400   - {
401   - if( is_numeric( $this->idbai ) )
402   - {
403   -
404   - $db = new clsBanco();
405   - $set = "";
406   -
407   - if( is_numeric( $this->idmun ) )
408   - {
409   - $set .= "{$gruda}idmun = '{$this->idmun}'";
410   - $gruda = ", ";
411   - }
412   - if( is_string( $this->geom ) )
413   - {
414   - $set .= "{$gruda}geom = '{$this->geom}'";
415   - $gruda = ", ";
416   - }
417   - if( is_string( $this->nome ) )
418   - {
419   - $set .= "{$gruda}nome = '{$this->nome}'";
420   - $gruda = ", ";
421   - }
422   - if( is_numeric( $this->idpes_rev ) )
423   - {
424   - $set .= "{$gruda}idpes_rev = '{$this->idpes_rev}'";
425   - $gruda = ", ";
426   - }
427   - if( is_string( $this->data_rev ) )
428   - {
429   - $set .= "{$gruda}data_rev = '{$this->data_rev}'";
430   - $gruda = ", ";
431   - }
432   - if( is_string( $this->origem_gravacao ) )
433   - {
434   - $set .= "{$gruda}origem_gravacao = '{$this->origem_gravacao}'";
435   - $gruda = ", ";
436   - }
437   - if( is_numeric( $this->idpes_cad ) )
438   - {
439   - $set .= "{$gruda}idpes_cad = '{$this->idpes_cad}'";
440   - $gruda = ", ";
441   - }
442   - if( is_string( $this->data_cad ) )
443   - {
444   - $set .= "{$gruda}data_cad = '{$this->data_cad}'";
445   - $gruda = ", ";
446   - }
447   - if( is_string( $this->operacao ) )
448   - {
449   - $set .= "{$gruda}operacao = '{$this->operacao}'";
450   - $gruda = ", ";
451   - }
452   - if( is_numeric( $this->idsis_rev ) )
453   - {
454   - $set .= "{$gruda}idsis_rev = '{$this->idsis_rev}'";
455   - $gruda = ", ";
456   - }
457   - if( is_numeric( $this->idsis_cad ) )
458   - {
459   - $set .= "{$gruda}idsis_cad = '{$this->idsis_cad}'";
460   - $gruda = ", ";
461   - }
462   -
463   -
464   - if( $set )
465   - {
466   - $db->Consulta( "UPDATE {$this->_tabela} SET $set WHERE idbai = '{$this->idbai}'" );
467   - return true;
468   - }
469   - }
470   - return false;
471   - }
472   -
473   - /**
474   - * Retorna uma lista filtrados de acordo com os parametros
475   - *
476   - * @param integer int_idmun
477   - * @param string str_geom
478   - * @param string str_nome
479   - * @param integer int_idpes_rev
480   - * @param string date_data_rev_ini
481   - * @param string date_data_rev_fim
482   - * @param string str_origem_gravacao
483   - * @param integer int_idpes_cad
484   - * @param string date_data_cad_ini
485   - * @param string date_data_cad_fim
486   - * @param string str_operacao
487   - * @param integer int_idsis_rev
488   - * @param integer int_idsis_cad
489   - *
490   - * @return array
491   - */
492   - function lista( $int_idmun = null, $str_geom = null, $str_nome = null, $int_idpes_rev = null, $date_data_rev_ini = null, $date_data_rev_fim = null, $str_origem_gravacao = null, $int_idpes_cad = null, $date_data_cad_ini = null, $date_data_cad_fim = null, $str_operacao = null, $int_idsis_rev = null, $int_idsis_cad = null, $int_idpais = null, $str_sigla_uf = null, $int_idbai = null )
493   - {
494   - $select = ", m.nome as nm_municipio, m.sigla_uf, u.nome as nm_estado, u.idpais, p.nome as nm_pais ";
495   - $from = "b, public.municipio m, public.uf u, public.pais p ";
496   - $sql = "SELECT {$this->_campos_lista}{$select} FROM {$this->_tabela} {$from}";
497   - $whereAnd = " AND ";
498   -
499   - $filtros = " WHERE b.idmun = m.idmun AND m.sigla_uf = u.sigla_uf AND u.idpais = p.idpais ";
500   -
501   - if( is_numeric( $int_idmun ) )
502   - {
503   - $filtros .= "{$whereAnd} b.idmun = '{$int_idmun}'";
504   - $whereAnd = " AND ";
505   - }
506   - if( is_string( $str_geom ) )
507   - {
508   - $filtros .= "{$whereAnd} b.geom LIKE '%{$str_geom}%'";
509   - $whereAnd = " AND ";
510   - }
511   - if( is_numeric( $int_idbai ) )
512   - {
513   - $filtros .= "{$whereAnd} b.idbai = '{$int_idbai}'";
514   - $whereAnd = " AND ";
515   - }
516   - if( is_string( $str_nome ) )
517   - {
518   - $filtros .= "{$whereAnd} b.nome LIKE '%{$str_nome}%'";
519   - $whereAnd = " AND ";
520   - }
521   - if( is_numeric( $int_idpes_rev ) )
522   - {
523   - $filtros .= "{$whereAnd} b.idpes_rev = '{$int_idpes_rev}'";
524   - $whereAnd = " AND ";
525   - }
526   - if( is_string( $date_data_rev_ini ) )
527   - {
528   - $filtros .= "{$whereAnd} b.data_rev >= '{$date_data_rev_ini}'";
529   - $whereAnd = " AND ";
530   - }
531   - if( is_string( $date_data_rev_fim ) )
532   - {
533   - $filtros .= "{$whereAnd} b.data_rev <= '{$date_data_rev_fim}'";
534   - $whereAnd = " AND ";
535   - }
536   - if( is_string( $str_origem_gravacao ) )
537   - {
538   - $filtros .= "{$whereAnd} b.origem_gravacao LIKE '%{$str_origem_gravacao}%'";
539   - $whereAnd = " AND ";
540   - }
541   - if( is_numeric( $int_idpes_cad ) )
542   - {
543   - $filtros .= "{$whereAnd} b.idpes_cad = '{$int_idpes_cad}'";
544   - $whereAnd = " AND ";
545   - }
546   - if( is_string( $date_data_cad_ini ) )
547   - {
548   - $filtros .= "{$whereAnd} b.data_cad >= '{$date_data_cad_ini}'";
549   - $whereAnd = " AND ";
550   - }
551   - if( is_string( $date_data_cad_fim ) )
552   - {
553   - $filtros .= "{$whereAnd} b.data_cad <= '{$date_data_cad_fim}'";
554   - $whereAnd = " AND ";
555   - }
556   - if( is_string( $str_operacao ) )
557   - {
558   - $filtros .= "{$whereAnd} b.operacao LIKE '%{$str_operacao}%'";
559   - $whereAnd = " AND ";
560   - }
561   - if( is_numeric( $int_idsis_rev ) )
562   - {
563   - $filtros .= "{$whereAnd} b.idsis_rev = '{$int_idsis_rev}'";
564   - $whereAnd = " AND ";
565   - }
566   - if( is_numeric( $int_idsis_cad ) )
567   - {
568   - $filtros .= "{$whereAnd} b.idsis_cad = '{$int_idsis_cad}'";
569   - $whereAnd = " AND ";
570   - }
571   - if( is_numeric( $int_idpais ) )
572   - {
573   - $filtros .= "{$whereAnd} p.idpais = '{$int_idpais}'";
574   - $whereAnd = " AND ";
575   - }
576   - if( is_string( $str_sigla_uf ) )
577   - {
578   - $filtros .= "{$whereAnd} u.sigla_uf = '{$str_sigla_uf}'";
579   - $whereAnd = " AND ";
580   - }
581   -
582   -
583   - $db = new clsBanco();
584   - $countCampos = count( explode( ",", $this->_campos_lista ) );
585   - $resultado = array();
586   -
587   - $sql .= $filtros . $this->getOrderby() . $this->getLimite();
588   -
589   - $this->_total = $db->CampoUnico( "SELECT COUNT(0) FROM {$this->_tabela} {$from}{$filtros}" );
590   -
591   - $db->Consulta( $sql );
592   -
593   - if( $countCampos > 1 )
594   - {
595   - while ( $db->ProximoRegistro() )
596   - {
597   - $tupla = $db->Tupla();
598   -
599   - $tupla["_total"] = $this->_total;
600   - $resultado[] = $tupla;
601   - }
602   - }
603   - else
604   - {
605   - while ( $db->ProximoRegistro() )
606   - {
607   - $tupla = $db->Tupla();
608   - $resultado[] = $tupla[$this->_campos_lista];
609   - }
610   - }
611   - if( count( $resultado ) )
612   - {
613   - return $resultado;
614   - }
615   - return false;
616   - }
617   -
618   - /**
619   - * Retorna um array com os dados de um registro
620   - *
621   - * @return array
622   - */
623   - function detalhe()
624   - {
625   - if( is_numeric( $this->idbai ) )
626   - {
627   - $db = new clsBanco();
628   - $db->Consulta( "SELECT {$this->_todos_campos} FROM {$this->_tabela} b WHERE b.idbai = '{$this->idbai}'" );
629   - $db->ProximoRegistro();
630   - return $db->Tupla();
631   - }
632   - return false;
633   - }
634   -
635   - /**
636   - * Retorna true se o registro existir. Caso contrário retorna false.
637   - *
638   - * @return bool
639   - */
640   - function existe()
641   - {
642   - if( is_numeric( $this->idbai ) )
643   - {
644   - $db = new clsBanco();
645   - $db->Consulta( "SELECT 1 FROM {$this->_tabela} WHERE idbai = '{$this->idbai}'" );
646   - if( $db->ProximoRegistro() )
647   - {
648   - return true;
649   - }
650   - }
651   - return false;
652   - }
653   -
654   - /**
655   - * Exclui um registro
656   - *
657   - * @return bool
658   - */
659   - function excluir()
660   - {
661   - if( is_numeric( $this->idbai ) )
662   - {
663   -// delete
664   - $db = new clsBanco();
665   - $db->Consulta( "DELETE FROM {$this->_tabela} WHERE idbai = '{$this->idbai}'" );
666   - return true;
667   - }
668   - return false;
669   - }
670   -
671   - /**
672   - * Define quais campos da tabela serao selecionados na invocacao do metodo lista
673   - *
674   - * @return null
675   - */
676   - function setCamposLista( $str_campos )
677   - {
678   - $this->_campos_lista = $str_campos;
679   - }
680   -
681   - /**
682   - * Define que o metodo Lista devera retornoar todos os campos da tabela
683   - *
684   - * @return null
685   - */
686   - function resetCamposLista()
687   - {
688   - $this->_campos_lista = $this->_todos_campos;
689   - }
690   -
691   - /**
692   - * Define limites de retorno para o metodo lista
693   - *
694   - * @return null
695   - */
696   - function setLimite( $intLimiteQtd, $intLimiteOffset = null )
697   - {
698   - $this->_limite_quantidade = $intLimiteQtd;
699   - $this->_limite_offset = $intLimiteOffset;
700   - }
701   -
702   - /**
703   - * Retorna a string com o trecho da query resposavel pelo Limite de registros
704   - *
705   - * @return string
706   - */
707   - function getLimite()
708   - {
709   - if( is_numeric( $this->_limite_quantidade ) )
710   - {
711   - $retorno = " LIMIT {$this->_limite_quantidade}";
712   - if( is_numeric( $this->_limite_offset ) )
713   - {
714   - $retorno .= " OFFSET {$this->_limite_offset} ";
715   - }
716   - return $retorno;
717   - }
718   - return "";
719   - }
720   -
721   - /**
722   - * Define campo para ser utilizado como ordenacao no metolo lista
723   - *
724   - * @return null
725   - */
726   - function setOrderby( $strNomeCampo )
727   - {
728   - // limpa a string de possiveis erros (delete, insert, etc)
729   - //$strNomeCampo = eregi_replace();
730   -
731   - if( is_string( $strNomeCampo ) && $strNomeCampo )
732   - {
733   - $this->_campo_order_by = $strNomeCampo;
734   - }
735   - }
736   -
737   - /**
738   - * Retorna a string com o trecho da query resposavel pela Ordenacao dos registros
739   - *
740   - * @return string
741   - */
742   - function getOrderby()
743   - {
744   - if( is_string( $this->_campo_order_by ) )
745   - {
746   - return " ORDER BY {$this->_campo_order_by} ";
747   - }
748   - return "";
749   - }
750   -
751   -}
752   -?>
753 45 \ No newline at end of file
  46 + var $idmun;
  47 + var $geom;
  48 + var $idbai;
  49 + var $nome;
  50 + var $idpes_rev;
  51 + var $data_rev;
  52 + var $origem_gravacao;
  53 + var $idpes_cad;
  54 + var $data_cad;
  55 + var $operacao;
  56 + var $idsis_rev;
  57 + var $idsis_cad;
  58 +
  59 + /**
  60 + * Armazena o total de resultados obtidos na última chamada ao método lista().
  61 + * @var int
  62 + */
  63 + var $_total;
  64 +
  65 + /**
  66 + * Nome do schema.
  67 + * @var string
  68 + */
  69 + var $_schema;
  70 +
  71 + /**
  72 + * Nome da tabela.
  73 + * @var string
  74 + */
  75 + var $_tabela;
  76 +
  77 + /**
  78 + * Lista separada por vírgula, com os campos que devem ser selecionados na
  79 + * próxima chamado ao método lista().
  80 + * @var string
  81 + */
  82 + var $_campos_lista;
  83 +
  84 + /**
  85 + * Lista com todos os campos da tabela separados por vírgula, padrão para
  86 + * seleção no método lista.
  87 + * @var string
  88 + */
  89 + var $_todos_campos;
  90 +
  91 + /**
  92 + * Valor que define a quantidade de registros a ser retornada pelo método lista().
  93 + * @var int
  94 + */
  95 + var $_limite_quantidade;
  96 +
  97 + /**
  98 + * Define o valor de offset no retorno dos registros no método lista().
  99 + * @var int
  100 + */
  101 + var $_limite_offset;
  102 +
  103 + /**
  104 + * Define o campo para ser usado como padrão de ordenação no método lista().
  105 + * @var string
  106 + */
  107 + var $_campo_order_by;
  108 +
  109 + /**
  110 + * Construtor.
  111 + *
  112 + * @param integer $idmun
  113 + * @param string $geom
  114 + * @param integer $idbai
  115 + * @param string $nome
  116 + * @param integer $idpes_rev
  117 + * @param string $data_rev
  118 + * @param string $origem_gravacao
  119 + * @param integer $idpes_cad
  120 + * @param string $data_cad
  121 + * @param string $operacao
  122 + * @param integer $idsis_rev
  123 + * @param integer $idsis_cad
  124 + *
  125 + * @return object
  126 + */
  127 + function clsPublicBairro($idmun = NULL, $geom = NULL, $idbai = NULL,
  128 + $nome = NULL, $idpes_rev = NULL, $data_rev = NULL, $origem_gravacao = NULL,
  129 + $idpes_cad = NULL, $data_cad = NULL, $operacao = NULL, $idsis_rev = NULL,
  130 + $idsis_cad = NULL)
  131 + {
  132 + $db = new clsBanco();
  133 + $this->_schema = 'public.';
  134 + $this->_tabela = $this->_schema . 'bairro';
  135 +
  136 + $this->_campos_lista = $this->_todos_campos = 'b.idmun, b.geom, b.idbai, ' .
  137 + 'b.nome, b.idpes_rev, b.data_rev, b.origem_gravacao, b.idpes_cad, ' .
  138 + 'b.data_cad, b.operacao, b.idsis_rev, b.idsis_cad';
  139 +
  140 + if (is_numeric($idsis_rev)) {
  141 + if (class_exists('clsAcessoSistema')) {
  142 + $tmp_obj = new clsAcessoSistema($idsis_rev);
  143 +
  144 + if (method_exists($tmp_obj, 'existe')) {
  145 + if ($tmp_obj->existe()) {
  146 + $this->idsis_rev = $idsis_rev;
  147 + }
  148 + }
  149 + elseif (method_exists($tmp_obj, 'detalhe')) {
  150 + if ($tmp_obj->detalhe()) {
  151 + $this->idsis_rev = $idsis_rev;
  152 + }
  153 + }
  154 + }
  155 + else {
  156 + if ($db->CampoUnico(sprintf(
  157 + 'SELECT 1 FROM acesso.sistema WHERE idsis = \'%d\'', $idsis_rev
  158 + ))) {
  159 + $this->idsis_rev = $idsis_rev;
  160 + }
  161 + }
  162 + }
  163 +
  164 + if (is_numeric($idsis_cad)) {
  165 + if (class_exists('clsAcessoSistema')) {
  166 + $tmp_obj = new clsAcessoSistema($idsis_cad);
  167 +
  168 + if (method_exists($tmp_obj, 'existe')) {
  169 + if ($tmp_obj->existe()) {
  170 + $this->idsis_cad = $idsis_cad;
  171 + }
  172 + }
  173 + elseif (method_exists($tmp_obj, 'detalhe')) {
  174 + if ($tmp_obj->detalhe()) {
  175 + $this->idsis_cad = $idsis_cad;
  176 + }
  177 + }
  178 + }
  179 + else {
  180 + if ($db->CampoUnico(sprintf(
  181 + 'SELECT 1 FROM acesso.sistema WHERE idsis = \'%d\'', $idsis_cad
  182 + ))) {
  183 + $this->idsis_cad = $idsis_cad;
  184 + }
  185 + }
  186 + }
  187 +
  188 + if (is_numeric($idpes_rev)) {
  189 + if (class_exists('clsCadastroPessoa')) {
  190 + $tmp_obj = new clsCadastroPessoa($idpes_rev);
  191 +
  192 + if (method_exists($tmp_obj, 'existe')) {
  193 + if($tmp_obj->existe()) {
  194 + $this->idpes_rev = $idpes_rev;
  195 + }
  196 + }
  197 + elseif (method_exists($tmp_obj, 'detalhe')) {
  198 + if ($tmp_obj->detalhe()) {
  199 + $this->idpes_rev = $idpes_rev;
  200 + }
  201 + }
  202 + }
  203 + else {
  204 + if ($db->CampoUnico(sprintf(
  205 + 'SELECT 1 FROM cadastro.pessoa WHERE idpes = \'%d\'', $idpes_rev
  206 + ))) {
  207 + $this->idpes_rev = $idpes_rev;
  208 + }
  209 + }
  210 + }
  211 +
  212 + if (is_numeric($idpes_cad)) {
  213 + if (class_exists('clsCadastroPessoa')) {
  214 + $tmp_obj = new clsCadastroPessoa($idpes_cad);
  215 +
  216 + if (method_exists($tmp_obj, 'existe')) {
  217 + if ($tmp_obj->existe()) {
  218 + $this->idpes_cad = $idpes_cad;
  219 + }
  220 + }
  221 + elseif (method_exists($tmp_obj, 'detalhe')) {
  222 + if ($tmp_obj->detalhe()) {
  223 + $this->idpes_cad = $idpes_cad;
  224 + }
  225 + }
  226 + }
  227 + else {
  228 + if ($db->CampoUnico(sprintf(
  229 + 'SELECT 1 FROM cadastro.pessoa WHERE idpes = \'%d\'', $idpes_cad
  230 + ))) {
  231 + $this->idpes_cad = $idpes_cad;
  232 + }
  233 + }
  234 + }
  235 +
  236 + if (is_numeric($idmun)) {
  237 + if (class_exists('clsMunicipio')) {
  238 + $tmp_obj = new clsMunicipio($idmun);
  239 +
  240 + if (method_exists($tmp_obj, 'existe')) {
  241 + if ($tmp_obj->existe()) {
  242 + $this->idmun = $idmun;
  243 + }
  244 + }
  245 + elseif (method_exists($tmp_obj, 'detalhe')) {
  246 + if ($tmp_obj->detalhe()) {
  247 + $this->idmun = $idmun;
  248 + }
  249 + }
  250 + }
  251 + else {
  252 + if ($db->CampoUnico(sprintf(
  253 + 'SELECT 1 FROM municipio WHERE idmun = \'%d\'', $idmun
  254 + ))) {
  255 + $this->idmun = $idmun;
  256 + }
  257 + }
  258 + }
  259 +
  260 + if (is_string($geom)) {
  261 + $this->geom = $geom;
  262 + }
  263 +
  264 + if (is_numeric($idbai)) {
  265 + $this->idbai = $idbai;
  266 + }
  267 +
  268 + if (is_string($nome)) {
  269 + $this->nome = $nome;
  270 + }
  271 +
  272 + if (is_string($data_rev)) {
  273 + $this->data_rev = $data_rev;
  274 + }
  275 +
  276 + if (is_string($origem_gravacao)) {
  277 + $this->origem_gravacao = $origem_gravacao;
  278 + }
  279 +
  280 + if (is_string($data_cad)) {
  281 + $this->data_cad = $data_cad;
  282 + }
  283 +
  284 + if (is_string($operacao)) {
  285 + $this->operacao = $operacao;
  286 + }
  287 + }
  288 +
  289 + /**
  290 + * Cria um novo registro.
  291 + * @return bool
  292 + */
  293 + function cadastra()
  294 + {
  295 + if (is_numeric($this->idmun) && is_string($this->nome) &&
  296 + is_string($this->origem_gravacao) && is_string($this->operacao) &&
  297 + is_numeric($this->idsis_cad)
  298 + ) {
  299 + $db = new clsBanco();
  300 +
  301 + $campos = '';
  302 + $valores = '';
  303 + $gruda = '';
  304 +
  305 + if (is_numeric($this->idmun)) {
  306 + $campos .= "{$gruda}idmun";
  307 + $valores .= "{$gruda}'{$this->idmun}'";
  308 + $gruda = ', ';
  309 + }
  310 +
  311 + if (is_string($this->geom)) {
  312 + $campos .= "{$gruda}geom";
  313 + $valores .= "{$gruda}'{$this->geom}'";
  314 + $gruda = ', ';
  315 + }
  316 +
  317 + if (is_string($this->nome)) {
  318 + $campos .= "{$gruda}nome";
  319 + $valores .= "{$gruda}'{$this->nome}'";
  320 + $gruda = ', ';
  321 + }
  322 +
  323 + if (is_numeric($this->idpes_rev)) {
  324 + $campos .= "{$gruda}idpes_rev";
  325 + $valores .= "{$gruda}'{$this->idpes_rev}'";
  326 + $gruda = ', ';
  327 + }
  328 +
  329 + if (is_string( $this->data_rev)) {
  330 + $campos .= "{$gruda}data_rev";
  331 + $valores .= "{$gruda}'{$this->data_rev}'";
  332 + $gruda = ', ';
  333 + }
  334 +
  335 + if (is_string($this->origem_gravacao)) {
  336 + $campos .= "{$gruda}origem_gravacao";
  337 + $valores .= "{$gruda}'{$this->origem_gravacao}'";
  338 + $gruda = ', ';
  339 + }
  340 +
  341 + if (is_numeric($this->idpes_cad)) {
  342 + $campos .= "{$gruda}idpes_cad";
  343 + $valores .= "{$gruda}'{$this->idpes_cad}'";
  344 + $gruda = ', ';
  345 + }
  346 +
  347 + $campos .= "{$gruda}data_cad";
  348 + $valores .= "{$gruda}NOW()";
  349 + $gruda = ', ';
  350 +
  351 + if (is_string($this->operacao)) {
  352 + $campos .= "{$gruda}operacao";
  353 + $valores .= "{$gruda}'{$this->operacao}'";
  354 + $gruda = ', ';
  355 + }
  356 +
  357 + if (is_numeric($this->idsis_rev)) {
  358 + $campos .= "{$gruda}idsis_rev";
  359 + $valores .= "{$gruda}'{$this->idsis_rev}'";
  360 + $gruda = ', ';
  361 + }
  362 +
  363 + if (is_numeric($this->idsis_cad)) {
  364 + $campos .= "{$gruda}idsis_cad";
  365 + $valores .= "{$gruda}'{$this->idsis_cad}'";
  366 + $gruda = ', ';
  367 + }
  368 +
  369 + $db->Consulta(sprintf(
  370 + "INSERT INTO %s (%s) VALUES (%s)",
  371 + $this->_tabela, $campos, $valores
  372 + ));
  373 +
  374 + return $db->InsertId('seq_bairro');
  375 + }
  376 +
  377 + return FALSE;
  378 + }
  379 +
  380 + /**
  381 + * Edita os dados de um registro.
  382 + * @return bool
  383 + */
  384 + function edita()
  385 + {
  386 + if (is_numeric($this->idbai)) {
  387 + $db = new clsBanco();
  388 + $set = '';
  389 +
  390 + if (is_numeric($this->idmun)) {
  391 + $set .= "{$gruda}idmun = '{$this->idmun}'";
  392 + $gruda = ', ';
  393 + }
  394 +
  395 + if (is_string($this->geom)) {
  396 + $set .= "{$gruda}geom = '{$this->geom}'";
  397 + $gruda = ', ';
  398 + }
  399 +
  400 + if (is_string($this->nome)) {
  401 + $set .= "{$gruda}nome = '{$this->nome}'";
  402 + $gruda = ', ';
  403 + }
  404 +
  405 + if (is_numeric($this->idpes_rev)) {
  406 + $set .= "{$gruda}idpes_rev = '{$this->idpes_rev}'";
  407 + $gruda = ', ';
  408 + }
  409 +
  410 + if (is_string($this->data_rev)) {
  411 + $set .= "{$gruda}data_rev = '{$this->data_rev}'";
  412 + $gruda = ', ';
  413 + }
  414 +
  415 + if (is_string($this->origem_gravacao)) {
  416 + $set .= "{$gruda}origem_gravacao = '{$this->origem_gravacao}'";
  417 + $gruda = ', ';
  418 + }
  419 +
  420 + if (is_numeric($this->idpes_cad)) {
  421 + $set .= "{$gruda}idpes_cad = '{$this->idpes_cad}'";
  422 + $gruda = ', ';
  423 + }
  424 +
  425 + if (is_string($this->data_cad)) {
  426 + $set .= "{$gruda}data_cad = '{$this->data_cad}'";
  427 + $gruda = ', ';
  428 + }
  429 +
  430 + if (is_string($this->operacao)) {
  431 + $set .= "{$gruda}operacao = '{$this->operacao}'";
  432 + $gruda = ', ';
  433 + }
  434 +
  435 + if (is_numeric($this->idsis_rev)) {
  436 + $set .= "{$gruda}idsis_rev = '{$this->idsis_rev}'";
  437 + $gruda = ', ';
  438 + }
  439 +
  440 + if (is_numeric($this->idsis_cad)) {
  441 + $set .= "{$gruda}idsis_cad = '{$this->idsis_cad}'";
  442 + $gruda = ', ';
  443 + }
  444 +
  445 + if ($set) {
  446 + $db->Consulta(sprintf(
  447 + 'UPDATE %s SET %s WHERE idbai = \'%d\'',
  448 + $this->_tabela, $set, $this->idbai
  449 + ));
  450 +
  451 + return TRUE;
  452 + }
  453 + }
  454 +
  455 + return FALSE;
  456 + }
  457 +
  458 + /**
  459 + * Retorna uma lista de registros filtrados de acordo com os parâmetros.
  460 + *
  461 + * @param integer $int_idmun
  462 + * @param string $str_geom
  463 + * @param string $str_nome
  464 + * @param integer $int_idpes_rev
  465 + * @param string $date_data_rev_ini
  466 + * @param string $date_data_rev_fim
  467 + * @param string $str_origem_gravacao
  468 + * @param integer $int_idpes_cad
  469 + * @param string $date_data_cad_ini
  470 + * @param string $date_data_cad_fim
  471 + * @param string $str_operacao
  472 + * @param integer $int_idsis_rev
  473 + * @param integer $int_idsis_cad
  474 + * @return array
  475 + */
  476 + function lista($int_idmun = NULL, $str_geom = NULL, $str_nome = NULL,
  477 + $int_idpes_rev = NULL, $date_data_rev_ini = NULL, $date_data_rev_fim = NULL,
  478 + $str_origem_gravacao = NULL, $int_idpes_cad = NULL, $date_data_cad_ini = NULL,
  479 + $date_data_cad_fim = NULL, $str_operacao = NULL, $int_idsis_rev = NULL,
  480 + $int_idsis_cad = NULL, $int_idpais = NULL, $str_sigla_uf = NULL, $int_idbai = NULL)
  481 + {
  482 + $select = ', m.nome AS nm_municipio, m.sigla_uf, u.nome AS nm_estado, u.idpais, p.nome AS nm_pais ';
  483 + $from = 'b, public.municipio m, public.uf u, public.pais p ';
  484 +
  485 + $sql = sprintf(
  486 + 'SELECT %s %s FROM %s %s', $this->_campos_lista, $select, $this->_tabela, $from
  487 + );
  488 +
  489 + $whereAnd = ' AND ';
  490 +
  491 + $filtros = ' WHERE b.idmun = m.idmun AND m.sigla_uf = u.sigla_uf AND u.idpais = p.idpais ';
  492 +
  493 + if (is_numeric($int_idmun)) {
  494 + $filtros .= "{$whereAnd} b.idmun = '{$int_idmun}'";
  495 + $whereAnd = ' AND ';
  496 + }
  497 +
  498 + if (is_string($str_geom)) {
  499 + $filtros .= "{$whereAnd} b.geom LIKE '%{$str_geom}%'";
  500 + $whereAnd = ' AND ';
  501 + }
  502 +
  503 + if (is_numeric($int_idbai)) {
  504 + $filtros .= "{$whereAnd} b.idbai = '{$int_idbai}'";
  505 + $whereAnd = ' AND ';
  506 + }
  507 +
  508 + if (is_string($str_nome)) {
  509 + $filtros .= "{$whereAnd} b.nome LIKE '%{$str_nome}%'";
  510 + $whereAnd = ' AND ';
  511 + }
  512 +
  513 + if (is_numeric($int_idpes_rev)) {
  514 + $filtros .= "{$whereAnd} b.idpes_rev = '{$int_idpes_rev}'";
  515 + $whereAnd = ' AND ';
  516 + }
  517 +
  518 + if (is_string($date_data_rev_ini)) {
  519 + $filtros .= "{$whereAnd} b.data_rev >= '{$date_data_rev_ini}'";
  520 + $whereAnd = ' AND ';
  521 + }
  522 +
  523 + if (is_string($date_data_rev_fim)) {
  524 + $filtros .= "{$whereAnd} b.data_rev <= '{$date_data_rev_fim}'";
  525 + $whereAnd = ' AND ';
  526 + }
  527 +
  528 + if (is_string($str_origem_gravacao)) {
  529 + $filtros .= "{$whereAnd} b.origem_gravacao LIKE '%{$str_origem_gravacao}%'";
  530 + $whereAnd = ' AND ';
  531 + }
  532 +
  533 + if (is_numeric($int_idpes_cad)) {
  534 + $filtros .= "{$whereAnd} b.idpes_cad = '{$int_idpes_cad}'";
  535 + $whereAnd = ' AND ';
  536 + }
  537 +
  538 + if (is_string($date_data_cad_ini)) {
  539 + $filtros .= "{$whereAnd} b.data_cad >= '{$date_data_cad_ini}'";
  540 + $whereAnd = ' AND ';
  541 + }
  542 +
  543 + if (is_string($date_data_cad_fim)) {
  544 + $filtros .= "{$whereAnd} b.data_cad <= '{$date_data_cad_fim}'";
  545 + $whereAnd = ' AND ';
  546 + }
  547 +
  548 + if (is_string($str_operacao)) {
  549 + $filtros .= "{$whereAnd} b.operacao LIKE '%{$str_operacao}%'";
  550 + $whereAnd = ' AND ';
  551 + }
  552 +
  553 + if (is_numeric($int_idsis_rev)) {
  554 + $filtros .= "{$whereAnd} b.idsis_rev = '{$int_idsis_rev}'";
  555 + $whereAnd = ' AND ';
  556 + }
  557 +
  558 + if (is_numeric($int_idsis_cad)) {
  559 + $filtros .= "{$whereAnd} b.idsis_cad = '{$int_idsis_cad}'";
  560 + $whereAnd = ' AND ';
  561 + }
  562 +
  563 + if (is_numeric($int_idpais)) {
  564 + $filtros .= "{$whereAnd} p.idpais = '{$int_idpais}'";
  565 + $whereAnd = ' AND ';
  566 + }
  567 +
  568 + if (is_string($str_sigla_uf)) {
  569 + $filtros .= "{$whereAnd} u.sigla_uf = '{$str_sigla_uf}'";
  570 + $whereAnd = ' AND ';
  571 + }
  572 +
  573 + $db = new clsBanco();
  574 +
  575 + $countCampos = count(explode(', ', $this->_campos_lista));
  576 + $resultado = array();
  577 +
  578 + $sql .= $filtros . $this->getOrderby() . $this->getLimite();
  579 +
  580 + $this->_total = $db->CampoUnico(sprintf(
  581 + 'SELECT COUNT(0) FROM %s %s %s', $this->_tabela, $from, $filtros
  582 + ));
  583 +
  584 + $db->Consulta($sql);
  585 +
  586 + if ($countCampos > 1) {
  587 + while ($db->ProximoRegistro()) {
  588 + $tupla = $db->Tupla();
  589 + $tupla['_total'] = $this->_total;
  590 + $resultado[] = $tupla;
  591 + }
  592 + }
  593 + else {
  594 + while ($db->ProximoRegistro()) {
  595 + $tupla = $db->Tupla();
  596 + $resultado[] = $tupla[$this->_campos_lista];
  597 + }
  598 + }
  599 +
  600 + if (count($resultado)) {
  601 + return $resultado;
  602 + }
  603 +
  604 + return FALSE;
  605 + }
  606 +
  607 + /**
  608 + * Retorna um array com os dados de um registro
  609 + * @return array
  610 + */
  611 + function detalhe()
  612 + {
  613 + if (is_numeric($this->idbai)) {
  614 + $db = new clsBanco();
  615 +
  616 + $sql = sprintf(
  617 + 'SELECT %s FROM %s b WHERE b.idbai = \'%d\'',
  618 + $this->_todos_campos, $this->_tabela, $this->idbai
  619 + );
  620 +
  621 + $db->Consulta($sql);
  622 + $db->ProximoRegistro();
  623 + return $db->Tupla();
  624 + }
  625 +
  626 + return FALSE;
  627 + }
  628 +
  629 + /**
  630 + * Retorna um array com os dados de um registro.
  631 + * @return array
  632 + */
  633 + function existe()
  634 + {
  635 + if (is_numeric($this->idbai)) {
  636 + $db = new clsBanco();
  637 +
  638 + $sql = sprintf(
  639 + 'SELECT 1 FROM %s WHERE idbai = \'%d\'',
  640 + $this->_tabela, $this->idbai
  641 + );
  642 +
  643 + $db->Consulta($sql);
  644 +
  645 + if ($db->ProximoRegistro()) {
  646 + return TRUE;
  647 + }
  648 + }
  649 +
  650 + return FALSE;
  651 + }
  652 +
  653 + /**
  654 + * Exclui um registro
  655 + *
  656 + * @return bool
  657 + */
  658 + function excluir()
  659 + {
  660 + if (is_numeric($this->idbai)) {
  661 + $db = new clsBanco();
  662 +
  663 + $sql = sprintf(
  664 + 'DELETE FROM %s WHERE idbai = \'%d\'',
  665 + $this->_tabela, $this->idbai
  666 + );
  667 +
  668 + $db->Consulta($sql);
  669 + return TRUE;
  670 + }
  671 +
  672 + return FALSE;
  673 + }
  674 +
  675 + /**
  676 + * Define quais campos da tabela serão selecionados no método Lista().
  677 + */
  678 + function setCamposLista($str_campos)
  679 + {
  680 + $this->_campos_lista = $str_campos;
  681 + }
  682 +
  683 + /**
  684 + * Define que o método Lista() deverpa retornar todos os campos da tabela.
  685 + */
  686 + function resetCamposLista()
  687 + {
  688 + $this->_campos_lista = $this->_todos_campos;
  689 + }
  690 +
  691 + /**
  692 + * Define limites de retorno para o método Lista().
  693 + */
  694 + function setLimite($intLimiteQtd, $intLimiteOffset = NULL)
  695 + {
  696 + $this->_limite_quantidade = $intLimiteQtd;
  697 + $this->_limite_offset = $intLimiteOffset;
  698 + }
  699 +
  700 + /**
  701 + * Retorna a string com o trecho da query responsável pelo limite de
  702 + * registros retornados/afetados.
  703 + *
  704 + * @return string
  705 + */
  706 + function getLimite()
  707 + {
  708 + if (is_numeric($this->_limite_quantidade)) {
  709 + $retorno = " LIMIT {$this->_limite_quantidade}";
  710 + if (is_numeric($this->_limite_offset)) {
  711 + $retorno .= " OFFSET {$this->_limite_offset} ";
  712 + }
  713 + return $retorno;
  714 + }
  715 + return '';
  716 + }
  717 +
  718 + /**
  719 + * Define o campo para ser utilizado como ordenação no método Lista().
  720 + */
  721 + function setOrderby($strNomeCampo)
  722 + {
  723 + if (is_string($strNomeCampo) && $strNomeCampo ) {
  724 + $this->_campo_order_by = $strNomeCampo;
  725 + }
  726 + }
  727 +
  728 + /**
  729 + * Retorna a string com o trecho da query responsável pela Ordenação dos
  730 + * registros.
  731 + *
  732 + * @return string
  733 + */
  734 + function getOrderby()
  735 + {
  736 + if (is_string($this->_campo_order_by)) {
  737 + return " ORDER BY {$this->_campo_order_by} ";
  738 + }
  739 + return '';
  740 + }
  741 +}
754 742 \ No newline at end of file
... ...