Commit 0f720084fa7a05eee51b40739d1973b5323326e6

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

#30 by Eriksen, José Rogério Santos: Adicionado parâmetro porta na configuração …

…de conexão com o servidor

ieducar/intranet/include/clsBanco.inc.php
1 <?php 1 <?php
2 -/**  
3 - *  
4 - * @author Prefeitura Municipal de Itajaí  
5 - * @version SVN: $Id$  
6 - *  
7 - * Pacote: i-PLB Software Público Livre e Brasileiro 2 +
  3 +/*
  4 + * i-Educar - Sistema de gestão escolar
8 * 5 *
9 - * Copyright (C) 2006 PMI - Prefeitura Municipal de Itajaí  
10 - * ctima@itajai.sc.gov.br 6 + * Copyright (C) 2006 Prefeitura Municipal de Itajaí
  7 + * <ctima@itajai.sc.gov.br>
11 * 8 *
12 - * Este programa é software livre, você pode redistribuí-lo e/ou  
13 - * modificá-lo sob os termos da Licença Pública Geral GNU, conforme  
14 - * publicada pela Free Software Foundation, tanto a versão 2 da  
15 - * Licença como (a seu critério) qualquer versão mais nova. 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.
16 * 13 *
17 - * Este programa é distribuído na expectativa de ser útil, mas SEM  
18 - * QUALQUER GARANTIA. Sem mesmo a garantia implícita de COMERCIALI-  
19 - * ZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM PARTICULAR. Con-  
20 - * sulte a Licença Pública Geral GNU para obter mais detalhes. 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.
21 * 18 *
22 - * Você deve ter recebido uma cópia da Licença Pública Geral GNU  
23 - * junto com este programa. Se não, escreva para a Free Software  
24 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  
25 - * 02111-1307, USA. 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 +
  24 +/**
  25 + * clsBanco class.
26 * 26 *
  27 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  28 + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  29 + * @package Core
  30 + * @since Classe disponível desde a versão 1.0.0
  31 + * @version $Id$
27 */ 32 */
28 33
29 if (!class_exists('clsBancoSql_')) { 34 if (!class_exists('clsBancoSql_')) {
@@ -32,10 +37,11 @@ if (!class_exists(&#39;clsBancoSql_&#39;)) { @@ -32,10 +37,11 @@ if (!class_exists(&#39;clsBancoSql_&#39;)) {
32 37
33 class clsBanco extends clsBancoSQL_ { 38 class clsBanco extends clsBancoSQL_ {
34 39
35 - public $strHost = "localhost"; // Nome ou endereço IP do servidor do banco de dados  
36 - public $strBanco = "ieducardb"; // Nome do banco de dados  
37 - public $strUsuario = "ieducaruser"; // Usuário devidamente autorizado a acessar o banco  
38 - public $strSenha = "ieducar"; // Senha do usuário do banco 40 + protected $strHost = 'localhost'; // Nome ou endereço IP do servidor do banco de dados
  41 + protected $strBanco = 'ieducardb'; // Nome do banco de dados
  42 + protected $strUsuario = 'ieducaruser'; // Usuário devidamente autorizado a acessar o banco
  43 + protected $strSenha = 'ieducar'; // Senha do usuário do banco
  44 + protected $strPort = NULL; // Porta do servidor de banco de dados
39 45
40 public $bLink_ID = 0; // Identificador da conexão 46 public $bLink_ID = 0; // Identificador da conexão
41 public $bConsulta_ID = 0; // Identificador do resultado da consulta 47 public $bConsulta_ID = 0; // Identificador do resultado da consulta
@@ -48,9 +54,9 @@ class clsBanco extends clsBancoSQL_ { @@ -48,9 +54,9 @@ class clsBanco extends clsBancoSQL_ {
48 54
49 public $bAuto_Limpa = FALSE; // '1' para limpar o resultado assim que chegar ao último registro 55 public $bAuto_Limpa = FALSE; // '1' para limpar o resultado assim que chegar ao último registro
50 56
51 - public $strStringSQL = ""; 57 + public $strStringSQL = '';
52 58
53 - var $strType = ""; 59 + var $strType = '';
54 var $arrayStrFields = array(); 60 var $arrayStrFields = array();
55 var $arrayStrFrom = array(); 61 var $arrayStrFrom = array();
56 var $arrayStrWhere = array(); 62 var $arrayStrWhere = array();
@@ -58,7 +64,7 @@ class clsBanco extends clsBancoSQL_ { @@ -58,7 +64,7 @@ class clsBanco extends clsBancoSQL_ {
58 var $arrayStrGroupBy = array(); 64 var $arrayStrGroupBy = array();
59 var $iLimitInicio; 65 var $iLimitInicio;
60 var $iLimitQtd; 66 var $iLimitQtd;
61 - var $arrayStrArquivo = ""; 67 + var $arrayStrArquivo = '';
62 68
63 69
64 70
@@ -73,9 +79,9 @@ class clsBanco extends clsBancoSQL_ { @@ -73,9 +79,9 @@ class clsBanco extends clsBancoSQL_ {
73 * Retorna a quantidade de registros de uma tabela baseado no objeto que a 79 * Retorna a quantidade de registros de uma tabela baseado no objeto que a
74 * abstrai. Este deve ter um atributo público Object->_tabela. 80 * abstrai. Este deve ter um atributo público Object->_tabela.
75 * 81 *
76 - * @param object Objeto que abstrai a tabela  
77 - * @param string Nome da coluna para cálculo COUNT()  
78 - * @return int Quantidade de registros da tabela 82 + * @param mixed Objeto que abstrai a tabela
  83 + * @param string Nome da coluna para cálculo COUNT()
  84 + * @return int Quantidade de registros da tabela
79 */ 85 */
80 public function doCountFromObj($obj, $column = '*') { 86 public function doCountFromObj($obj, $column = '*') {
81 if ($obj->_tabela == NULL) { 87 if ($obj->_tabela == NULL) {
ieducar/intranet/include/clsBancoPgSql.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 -* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
27 -require_once( "clsConfigItajai.inc.php" );  
28 -require_once( "include/clsCronometro.inc.php" );  
29 -require_once( "include/clsEmail.inc.php" );  
30 -class clsBancoSQL_  
31 -{  
32 -  
33 - /*protected*/var $strHost = ""; // Nome ou ip do servidor de dados  
34 - /*protected*/var $strBanco = ""; // Nome do Banco de Dados  
35 - /*protected*/var $strUsuario = ""; // Usu&aacute;rio devidamente autorizado a acessar o Banco  
36 - /*protected*/var $strSenha = ""; // Senha do Usu&aacute;rio do Banco  
37 - /*private*/ var $strFraseConexao = "";  
38 -  
39 - /*protected*/var $bLink_ID = 0; // Identificador de Conex&atilde;o  
40 - /*protected*/var $bConsulta_ID = 0; // Identificador de Resultado de Consulta  
41 - /*protected*/var $arrayStrRegistro = array(); // Tupla resultante de uma consulta  
42 - /*protected*/var $iLinha = 0; // Ponteiro interno para a Tupla atual da consulta  
43 -  
44 - /*protected*/var $bErro_no = 0; // Se ocorreu erro na consulta, retorna Falso  
45 - /*protected*/var $strErro = ""; // Frase de descri&ccedil;&atilde;o do Erro Retornado  
46 - /*protected*/var $bDepurar = false; // Ativa ou desativa fun&ccedil;oes de depura&ccedil;&atilde;o  
47 -  
48 - /*protected*/var $bAuto_Limpa = false; //" 1" para limpar o resultado assim que chegar ao &uacute;ltimo registro  
49 -  
50 - /*private*/var $strStringSQL = "";  
51 - /*protected*/var $transactionBlock = false;  
52 - /*protected*/var $savePoints = array();  
53 - /*protected*/var $showReportarErro = true;  
54 -  
55 - /*public*/ var $executandoEcho = false;  
56 2
  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 +
  24 +/**
  25 + * clsBancoSQL_ class.
  26 + *
  27 + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br>
  28 + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL
  29 + * @package Core
  30 + * @since Classe disponível desde a versão 1.0.0
  31 + * @version $Id$
  32 + */
  33 +
  34 +require_once 'clsConfigItajai.inc.php';
  35 +require_once 'include/clsCronometro.inc.php';
  36 +require_once 'include/clsEmail.inc.php';
  37 +
  38 +class clsBancoSQL_ {
  39 +
  40 + protected $strHost = NULL; // Nome ou endereço IP do servidor do banco de dados
  41 + protected $strBanco = NULL; // Nome do banco de dados
  42 + protected $strUsuario = NULL; // Usuário devidamente autorizado a acessar o banco
  43 + protected $strSenha = NULL; // Senha do usuário do banco
  44 + protected $strPort = NULL; // Porta do servidor de banco de dados
  45 +
  46 + public $bLink_ID = 0; // Identificador da conexão
  47 + public $bConsulta_ID = 0; // Identificador do resultado da consulta
  48 + public $arrayStrRegistro = array(); // Tupla resultante de uma consulta
  49 + public $iLinha = 0; // Ponteiro interno para a tupla atual da consulta
  50 +
  51 + public $bErro_no = 0; // Se ocorreu erro na consulta, retorna FALSE
  52 + public $strErro = ''; // Frase de descrição do erro retornado
  53 + public $bDepurar = FALSE; // Ativa ou desativa funções de depuração
  54 +
  55 + public $bAuto_Limpa = FALSE; // '1' para limpar o resultado assim que chegar ao último registro
  56 +
  57 + public $strStringSQL = '';
  58 +
  59 + /*protected*/var $transactionBlock = FALSE;
  60 + /*protected*/var $savePoints = array();
  61 + /*protected*/var $showReportarErro = TRUE;
  62 +
  63 + /*public*/ var $executandoEcho = FALSE;
  64 +
  65 +
  66 + /*
  67 + * Setters
  68 + */
  69 + public function setHost($v) {
  70 + $this->strHost = (string) $v;
  71 + }
  72 +
  73 + public function setDbname($v) {
  74 + $this->strBanco = (string) $v;
  75 + }
  76 +
  77 + public function setUser($v) {
  78 + $this->strUsuario = (string) $v;
  79 + }
  80 +
  81 + public function setPassword($v) {
  82 + $this->strSenha = (string) $v;
  83 + }
  84 +
  85 + public function setPort($v) {
  86 + $this->strPort = (string) $v;
  87 + }
  88 +
  89 +
  90 + /*
  91 + * Getters
  92 + */
  93 + public function getHost() {
  94 + return $this->strHost;
  95 + }
  96 +
  97 + public function getDbname() {
  98 + return $this->strBanco;
  99 + }
  100 +
  101 + public function getUser() {
  102 + return $this->strUsuario;
  103 + }
  104 +
  105 + public function getPassword() {
  106 + return $this->strSenha;
  107 + }
  108 +
  109 + public function getPort() {
  110 + return $this->strPort;
  111 + }
  112 +
  113 + public function getFraseConexao() {
  114 + return $this->strFraseConexao;
  115 + }
  116 +
  117 +
  118 +
  119 + /**
  120 + * Constrói a string de conexão de banco de dados
  121 + */
  122 + public function FraseConexao() {
  123 + $this->strFraseConexao = "";
  124 + if (!empty($this->strHost)) {
  125 + $this->strFraseConexao .= "host={$this->strHost}";
  126 + }
  127 + if (!empty($this->strBanco)) {
  128 + $this->strFraseConexao .= " dbname={$this->strBanco}";
  129 + }
  130 + if (!empty($this->strUsuario)) {
  131 + $this->strFraseConexao .= " user={$this->strUsuario}";
  132 + }
  133 + if (!empty($this->strSenha)) {
  134 + $this->strFraseConexao .= " password={$this->strSenha}";
  135 + }
  136 + if (!is_null($this->strPort)) {
  137 + $this->strFraseConexao .= " port={$this->strPort}";
  138 + }
  139 + }
57 140
58 - /*  
59 - Monta frase de conexão  
60 - */  
61 - /*private*/ function FraseConexao()  
62 - {  
63 - $this->strFraseConexao = "";  
64 - if (!empty($this->strHost))  
65 - {  
66 - $this->strFraseConexao .= "host={$this->strHost} ";  
67 - }  
68 - if (!empty($this->strBanco))  
69 - {  
70 - $this->strFraseConexao .= "dbname={$this->strBanco} ";  
71 - }  
72 - if (!empty($this->strUsuario))  
73 - {  
74 - $this->strFraseConexao .= "user={$this->strUsuario} ";  
75 - }  
76 - if (!empty($this->strSenha))  
77 - {  
78 - $this->strFraseConexao .= "password={$this->strSenha} ";  
79 - }  
80 - }  
81 141
82 /* 142 /*
83 Conecta-se em Banco, com Usuario e Senha, na Porta do Host 143 Conecta-se em Banco, com Usuario e Senha, na Porta do Host
ieducar/tests/unit/ClsBancoTest.class.php
@@ -45,4 +45,22 @@ class ClsBancoTest extends UnitBaseTest { @@ -45,4 +45,22 @@ class ClsBancoTest extends UnitBaseTest {
45 $this->assertNotEquals(TRUE, is_null($db->doCountFromObj($obj))); 45 $this->assertNotEquals(TRUE, is_null($db->doCountFromObj($obj)));
46 } 46 }
47 47
  48 + public function testConexao() {
  49 + $string = 'host=localhost dbname=ieducardb user=ieducaruser password=password port=5432';
  50 +
  51 + $db = new clsBanco();
  52 + $db->setHost('localhost');
  53 + $db->setDbname('ieducardb');
  54 + $db->setUser('ieducaruser');
  55 + $db->setPassword('password');
  56 + $db->setPort('5432');
  57 +
  58 + $db->FraseConexao();
  59 + $stringCompare = $db->getFraseConexao();
  60 + $this->assertEquals($string, $stringCompare);
  61 +
  62 + $db->Conecta();
  63 + $this->assertTrue((bool)$db->bLink_ID);
  64 + }
  65 +
48 } 66 }
49 \ No newline at end of file 67 \ No newline at end of file