Commit 07cf03879c9552871ccfd46445c33953cf5c9aff

Authored by Eriksen Costa Paixão
1 parent e6873799
Exists in master

Refactoring para Coding Standards

ieducar/intranet/include/pessoa/clsCadastroEscolaridade.inc.php
1 <?php 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 -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 +
27 /** 3 /**
28 -* @author Prefeitura Municipal de Itajaí  
29 -*  
30 -* Criado em 09/05/2006  
31 -*/ 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 + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  25 + * @package Core
  26 + * @subpackage pessoa
  27 + * @since Arquivo disponível desde a versão 1.0.0
  28 + * @version $Id$
  29 + */
32 30
  31 +/**
  32 + * clsCadastroEscolaridade class.
  33 + *
  34 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  35 + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  36 + * @package Core
  37 + * @subpackage pessoa
  38 + * @since Classe disponível desde a versão 1.0.0
  39 + * @version $Id$
  40 + */
33 class clsCadastroEscolaridade 41 class clsCadastroEscolaridade
34 { 42 {
35 - var $idesco;  
36 - var $descricao;  
37 -  
38 -  
39 - // propriedades padrao  
40 -  
41 - /**  
42 - * Armazena o total de resultados obtidos na ultima chamada ao metodo lista  
43 - *  
44 - * @var int  
45 - */  
46 - var $_total;  
47 -  
48 - /**  
49 - * Nome do schema  
50 - *  
51 - * @var string  
52 - */  
53 - var $_schema;  
54 -  
55 - /**  
56 - * Nome da tabela  
57 - *  
58 - * @var string  
59 - */  
60 - var $_tabela;  
61 -  
62 - /**  
63 - * Lista separada por virgula, com os campos que devem ser selecionados na proxima chamado ao metodo lista  
64 - *  
65 - * @var string  
66 - */  
67 - var $_campos_lista;  
68 -  
69 - /**  
70 - * Lista com todos os campos da tabela separados por virgula, padrao para selecao no metodo lista  
71 - *  
72 - * @var string  
73 - */  
74 - var $_todos_campos;  
75 -  
76 - /**  
77 - * Valor que define a quantidade de registros a ser retornada pelo metodo lista  
78 - *  
79 - * @var int  
80 - */  
81 - var $_limite_quantidade;  
82 -  
83 - /**  
84 - * Define o valor de offset no retorno dos registros no metodo lista  
85 - *  
86 - * @var int  
87 - */  
88 - var $_limite_offset;  
89 -  
90 - /**  
91 - * Define o campo padrao para ser usado como padrao de ordenacao no metodo lista  
92 - *  
93 - * @var string  
94 - */  
95 - var $_campo_order_by;  
96 -  
97 -  
98 - /**  
99 - * Construtor (PHP 5)  
100 - *  
101 - * @return object  
102 - */  
103 - function __construct( $idesco = null, $descricao = null )  
104 - {  
105 - $db = new clsBanco();  
106 - $this->_schema = "cadastro.";  
107 - $this->_tabela = "{$this->_schema}escolaridade";  
108 -  
109 - $this->_campos_lista = $this->_todos_campos = "idesco, descricao";  
110 -  
111 - if( is_numeric( $idesco ) )  
112 - {  
113 - $this->idesco = $idesco;  
114 - }  
115 - if( is_string( $descricao ) )  
116 - {  
117 - $this->descricao = $descricao;  
118 - }  
119 -  
120 - }  
121 - /**  
122 - * Construtor (PHP 4)  
123 - *  
124 - * @return object  
125 - */  
126 - function clsCadastroEscolaridade( $idesco = null, $descricao = null )  
127 - {  
128 - $db = new clsBanco();  
129 - $this->_schema = "cadastro.";  
130 - $this->_tabela = "{$this->_schema}escolaridade";  
131 -  
132 - $this->_campos_lista = $this->_todos_campos = "idesco, descricao";  
133 -  
134 - if( is_numeric( $idesco ) )  
135 - {  
136 - $this->idesco = $idesco;  
137 - }  
138 - if( is_string( $descricao ) )  
139 - {  
140 - $this->descricao = $descricao;  
141 - }  
142 -  
143 - }  
144 -  
145 - /**  
146 - * Cria um novo registro  
147 - *  
148 - * @return bool  
149 - */  
150 - function cadastra()  
151 - {  
152 - if( is_string( $this->descricao ) )  
153 - {  
154 - $db = new clsBanco();  
155 -  
156 - $campos = "";  
157 - $valores = "";  
158 - $gruda = "";  
159 -  
160 - $this->idesco = $db->CampoUnico( "SELECT MAX( idesco ) + 1  
161 - FROM cadastro.escolaridade" );  
162 - if( is_numeric( $this->idesco ) )  
163 - {  
164 - $campos .= "{$gruda}idesco";  
165 - $valores .= "{$gruda}'{$this->idesco}'";  
166 - $gruda = ", ";  
167 - }  
168 - if( is_string( $this->descricao ) )  
169 - {  
170 - $campos .= "{$gruda}descricao";  
171 - $valores .= "{$gruda}'{$this->descricao}'";  
172 - $gruda = ", ";  
173 - }  
174 - $db->Consulta( "INSERT INTO {$this->_tabela} ( $campos ) VALUES( $valores )" );  
175 - return $this->idesco;  
176 - }  
177 - return false;  
178 - }  
179 -  
180 - /**  
181 - * Edita os dados de um registro  
182 - *  
183 - * @return bool  
184 - */  
185 - function edita()  
186 - {  
187 - if( is_numeric( $this->idesco ) )  
188 - {  
189 - $db = new clsBanco();  
190 - $set = "";  
191 -  
192 - if( is_string( $this->descricao ) )  
193 - {  
194 - $set .= "{$gruda}descricao = '{$this->descricao}'";  
195 - $gruda = ", ";  
196 - }  
197 -  
198 -  
199 - if( $set )  
200 - {  
201 - $db->Consulta( "UPDATE {$this->_tabela} SET $set WHERE idesco = '{$this->idesco}'" );  
202 - return true;  
203 - }  
204 - }  
205 - return false;  
206 - }  
207 -  
208 - /**  
209 - * Retorna uma lista filtrados de acordo com os parametros  
210 - *  
211 - * @return array  
212 - */  
213 - function lista( $int_idesco = null, $str_descricao = null )  
214 - {  
215 - $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}";  
216 - $filtros = "";  
217 -  
218 - $whereAnd = " WHERE ";  
219 -  
220 - if( is_numeric( $int_idesco ) )  
221 - {  
222 - $filtros .= "{$whereAnd} idesco = '{$int_idesco}'";  
223 - $whereAnd = " AND ";  
224 - }  
225 - if( is_string( $str_descricao ) )  
226 - {  
227 - $filtros .= "{$whereAnd} descricao ILIKE '%{$str_descricao}%'";  
228 - $whereAnd = " AND ";  
229 - }  
230 -  
231 -  
232 - $db = new clsBanco();  
233 - $countCampos = count( explode( ",", $this->_campos_lista ) );  
234 - $resultado = array();  
235 -  
236 - $sql .= $filtros . $this->getOrderby() . $this->getLimite();  
237 -  
238 - $this->_total = $db->CampoUnico( "SELECT COUNT(0) FROM {$this->_tabela} {$filtros}" );  
239 -  
240 - $db->Consulta( $sql );  
241 -  
242 - if( $countCampos > 1 )  
243 - {  
244 - while ( $db->ProximoRegistro() )  
245 - {  
246 - $tupla = $db->Tupla();  
247 -  
248 - $tupla["_total"] = $this->_total;  
249 - $resultado[] = $tupla;  
250 - }  
251 - }  
252 - else  
253 - {  
254 - while ( $db->ProximoRegistro() )  
255 - {  
256 - $tupla = $db->Tupla();  
257 - $resultado[] = $tupla[$this->_campos_lista];  
258 - }  
259 - }  
260 - if( count( $resultado ) )  
261 - {  
262 - return $resultado;  
263 - }  
264 - return false;  
265 - }  
266 -  
267 - /**  
268 - * Retorna um array com os dados de um registro  
269 - *  
270 - * @return array  
271 - */  
272 - function detalhe()  
273 - {  
274 - if( is_numeric( $this->idesco ) )  
275 - {  
276 - $db = new clsBanco();  
277 - $db->Consulta( "SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE idesco = '{$this->idesco}'" );  
278 - $db->ProximoRegistro();  
279 - return $db->Tupla();  
280 - }  
281 - return false;  
282 - }  
283 -  
284 - /**  
285 - * Exclui um registro  
286 - *  
287 - * @return bool  
288 - */  
289 - function excluir()  
290 - {  
291 - if( is_numeric( $this->idesco ) )  
292 - {  
293 - // delete  
294 - $db = new clsBanco();  
295 - $db->Consulta( "DELETE FROM {$this->_tabela} WHERE idesco = '{$this->idesco}'" );  
296 - return true;  
297 - }  
298 - return false;  
299 - }  
300 -  
301 - /**  
302 - * Define quais campos da tabela serao selecionados na invocacao do metodo lista  
303 - *  
304 - * @return null  
305 - */  
306 - function setCamposLista( $str_campos )  
307 - {  
308 - $this->_campos_lista = $str_campos;  
309 - }  
310 -  
311 - /**  
312 - * Define que o metodo Lista devera retornoar todos os campos da tabela  
313 - *  
314 - * @return null  
315 - */  
316 - function resetCamposLista()  
317 - {  
318 - $this->_campos_lista = $this->_todos_campos;  
319 - }  
320 -  
321 - /**  
322 - * Define limites de retorno para o metodo lista  
323 - *  
324 - * @return null  
325 - */  
326 - function setLimite( $intLimiteQtd, $intLimiteOffset = null )  
327 - {  
328 - $this->_limite_quantidade = $intLimiteQtd;  
329 - $this->_limite_offset = $intLimiteOffset;  
330 - }  
331 -  
332 - /**  
333 - * Retorna a string com o trecho da query resposavel pelo Limite de registros  
334 - *  
335 - * @return string  
336 - */  
337 - function getLimite()  
338 - {  
339 - if( is_numeric( $this->_limite_quantidade ) )  
340 - {  
341 - $retorno = " LIMIT {$this->_limite_quantidade}";  
342 - if( is_numeric( $this->_limite_offset ) )  
343 - {  
344 - $retorno .= " OFFSET {$this->_limite_offset} ";  
345 - }  
346 - return $retorno;  
347 - }  
348 - return "";  
349 - }  
350 -  
351 - /**  
352 - * Define campo para ser utilizado como ordenacao no metolo lista  
353 - *  
354 - * @return null  
355 - */  
356 - function setOrderby( $strNomeCampo )  
357 - {  
358 - // limpa a string de possiveis erros (delete, insert, etc)  
359 - //$strNomeCampo = eregi_replace();  
360 -  
361 - if( is_string( $strNomeCampo ) && $strNomeCampo )  
362 - {  
363 - $this->_campo_order_by = $strNomeCampo;  
364 - }  
365 - }  
366 -  
367 - /**  
368 - * Retorna a string com o trecho da query resposavel pela Ordenacao dos registros  
369 - *  
370 - * @return string  
371 - */  
372 - function getOrderby()  
373 - {  
374 - if( is_string( $this->_campo_order_by ) )  
375 - {  
376 - return " ORDER BY {$this->_campo_order_by} ";  
377 - }  
378 - return "";  
379 - }  
380 -  
381 -}  
382 -?>  
383 \ No newline at end of file 43 \ No newline at end of file
  44 + var $idesco;
  45 + var $descricao;
  46 +
  47 + /**
  48 + * Armazena o total de resultados obtidos na última chamada ao método lista.
  49 + * @var int
  50 + */
  51 + var $_total;
  52 +
  53 + /**
  54 + * Nome do schema.
  55 + * @var string
  56 + */
  57 + var $_schema;
  58 +
  59 + /**
  60 + * Nome da tabela.
  61 + * @var string
  62 + */
  63 + var $_tabela;
  64 +
  65 + /**
  66 + * Lista separada por virgula, com os campos que devem ser selecionados na próxima chamado ao método lista.
  67 + * @var string
  68 + */
  69 + var $_campos_lista;
  70 +
  71 + /**
  72 + * Lista com todos os campos da tabela separados por vírgula, padrão para seleção no método lista.
  73 + * @var string
  74 + */
  75 + var $_todos_campos;
  76 +
  77 + /**
  78 + * Valor que define a quantidade de registros a ser retornada pelo método lista.
  79 + * @var int
  80 + */
  81 + var $_limite_quantidade;
  82 +
  83 + /**
  84 + * Define o valor de offset no retorno dos registros no método lista.
  85 + * @var int
  86 + */
  87 + var $_limite_offset;
  88 +
  89 + /**
  90 + * Define o campo padrão para ser usado como padrão de ordenação no método lista.
  91 + * @var string
  92 + */
  93 + var $_campo_order_by;
  94 +
  95 + /**
  96 + * Construtor (PHP 5).
  97 + */
  98 + function __construct($idesco = NULL, $descricao = NULL)
  99 + {
  100 + $db = new clsBanco();
  101 + $this->_schema = "cadastro.";
  102 + $this->_tabela = "{$this->_schema}escolaridade";
  103 +
  104 + $this->_campos_lista = $this->_todos_campos = "idesco, descricao";
  105 +
  106 + if (is_numeric($idesco)) {
  107 + $this->idesco = $idesco;
  108 + }
  109 + if (is_string($descricao)) {
  110 + $this->descricao = $descricao;
  111 + }
  112 + }
  113 +
  114 + /**
  115 + * Construtor (PHP 4).
  116 + */
  117 + function clsCadastroEscolaridade( $idesco = null, $descricao = null )
  118 + {
  119 + $db = new clsBanco();
  120 + $this->_schema = "cadastro.";
  121 + $this->_tabela = "{$this->_schema}escolaridade";
  122 +
  123 + $this->_campos_lista = $this->_todos_campos = "idesco, descricao";
  124 +
  125 + if (is_numeric($idesco)) {
  126 + $this->idesco = $idesco;
  127 + }
  128 + if (is_string($descricao)) {
  129 + $this->descricao = $descricao;
  130 + }
  131 + }
  132 +
  133 + /**
  134 + * Cria um novo registro.
  135 + * @return bool
  136 + */
  137 + function cadastra()
  138 + {
  139 + if (is_string($this->descricao))
  140 + {
  141 + $db = new clsBanco();
  142 +
  143 + $campos = '';
  144 + $valores = '';
  145 + $gruda = '';
  146 +
  147 + $this->idesco = $db->CampoUnico('SELECT MAX(idesco) + 1
  148 + FROM cadastro.escolaridade');
  149 +
  150 + if (is_numeric($this->idesco)) {
  151 + $campos .= "{$gruda}idesco";
  152 + $valores .= "{$gruda}'{$this->idesco}'";
  153 + $gruda = ", ";
  154 + }
  155 + if (is_string($this->descricao)) {
  156 + $campos .= "{$gruda}descricao";
  157 + $valores .= "{$gruda}'{$this->descricao}'";
  158 + $gruda = ", ";
  159 + }
  160 +
  161 + $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES($valores)");
  162 + return $this->idesco;
  163 + }
  164 +
  165 + return FALSE;
  166 + }
  167 +
  168 + /**
  169 + * Edita os dados de um registro.
  170 + * @return bool
  171 + */
  172 + function edita()
  173 + {
  174 + if (is_numeric($this->idesco)) {
  175 + $db = new clsBanco();
  176 + $set = "";
  177 +
  178 + if (is_string($this->descricao)) {
  179 + $set .= "{$gruda}descricao = '{$this->descricao}'";
  180 + $gruda = ", ";
  181 + }
  182 +
  183 + if ($set) {
  184 + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE idesco = '{$this->idesco}'");
  185 + return TRUE;
  186 + }
  187 + }
  188 +
  189 + return FALSE;
  190 + }
  191 +
  192 + /**
  193 + * Retorna uma lista de registros filtrados de acordo com os parâmetros.
  194 + * @return array
  195 + */
  196 + function lista($int_idesco = NULL, $str_descricao = NULL) {
  197 + $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}";
  198 + $filtros = "";
  199 +
  200 + $whereAnd = " WHERE ";
  201 +
  202 + if (is_numeric($int_idesco)) {
  203 + $filtros .= "{$whereAnd} idesco = '{$int_idesco}'";
  204 + $whereAnd = " AND ";
  205 + }
  206 + if (is_string($str_descricao)) {
  207 + $filtros .= "{$whereAnd} descricao ILIKE '%{$str_descricao}%'";
  208 + $whereAnd = " AND ";
  209 + }
  210 +
  211 + $db = new clsBanco();
  212 + $countCampos = count(explode(",", $this->_campos_lista));
  213 + $resultado = array();
  214 +
  215 + $sql .= $filtros . $this->getOrderby() . $this->getLimite();
  216 +
  217 + $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_tabela} {$filtros}");
  218 +
  219 + $db->Consulta($sql);
  220 +
  221 + if ($countCampos > 1) {
  222 + while ($db->ProximoRegistro()) {
  223 + $tupla = $db->Tupla();
  224 +
  225 + $tupla["_total"] = $this->_total;
  226 + $resultado[] = $tupla;
  227 + }
  228 + }
  229 + else {
  230 + while ($db->ProximoRegistro()) {
  231 + $tupla = $db->Tupla();
  232 + $resultado[] = $tupla[$this->_campos_lista];
  233 + }
  234 + }
  235 + if (count($resultado)) {
  236 + return $resultado;
  237 + }
  238 +
  239 + return FALSE;
  240 + }
  241 +
  242 + /**
  243 + * Retorna um array com os dados de um registro.
  244 + * @return array
  245 + */
  246 + function detalhe()
  247 + {
  248 + if (is_numeric($this->idesco)) {
  249 + $db = new clsBanco();
  250 + $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE idesco = '{$this->idesco}'");
  251 + $db->ProximoRegistro();
  252 +
  253 + return $db->Tupla();
  254 + }
  255 +
  256 + return FALSE;
  257 + }
  258 +
  259 + /**
  260 + * Exclui um registro.
  261 + * @return bool
  262 + */
  263 + function excluir()
  264 + {
  265 + if (is_numeric($this->idesco)) {
  266 + $db = new clsBanco();
  267 + $db->Consulta("DELETE FROM {$this->_tabela} WHERE idesco = '{$this->idesco}'");
  268 +
  269 + return TRUE;
  270 + }
  271 +
  272 + return FALSE;
  273 + }
  274 +
  275 + /**
  276 + * Define quais campos da tabela serão selecionados na invocação do método lista.
  277 + * @return null
  278 + */
  279 + function setCamposLista($str_campos) {
  280 + $this->_campos_lista = $str_campos;
  281 + }
  282 +
  283 + /**
  284 + * Define que o método Lista deverá retornoar todos os campos da tabela.
  285 + * @return null
  286 + */
  287 + function resetCamposLista() {
  288 + $this->_campos_lista = $this->_todos_campos;
  289 + }
  290 +
  291 + /**
  292 + * Define limites de retorno para o método lista.
  293 + * @return null
  294 + */
  295 + function setLimite($intLimiteQtd, $intLimiteOffset = NULL)
  296 + {
  297 + $this->_limite_quantidade = $intLimiteQtd;
  298 + $this->_limite_offset = $intLimiteOffset;
  299 + }
  300 +
  301 + /**
  302 + * Retorna a string com o trecho da query resposável pelo limite de registros.
  303 + * @return string
  304 + */
  305 + function getLimite()
  306 + {
  307 + if (is_numeric($this->_limite_quantidade)) {
  308 + $retorno = " LIMIT {$this->_limite_quantidade}";
  309 +
  310 + if (is_numeric($this->_limite_offset)) {
  311 + $retorno .= " OFFSET {$this->_limite_offset} ";
  312 + }
  313 +
  314 + return $retorno;
  315 + }
  316 +
  317 + return '';
  318 + }
  319 +
  320 + /**
  321 + * Define campo para ser utilizado como ordenação no método lista.
  322 + * @return null
  323 + */
  324 + function setOrderby($strNomeCampo)
  325 + {
  326 + if (is_string($strNomeCampo) && $strNomeCampo) {
  327 + $this->_campo_order_by = $strNomeCampo;
  328 + }
  329 + }
  330 +
  331 + /**
  332 + * Retorna a string com o trecho da query resposável pela ordenação dos registros.
  333 + * @return string
  334 + */
  335 + function getOrderby()
  336 + {
  337 + if (is_string($this->_campo_order_by)) {
  338 + return " ORDER BY {$this->_campo_order_by} ";
  339 + }
  340 +
  341 + return '';
  342 + }
  343 +}
384 \ No newline at end of file 344 \ No newline at end of file