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 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 34 if (!class_exists('clsBancoSql_')) {
... ... @@ -32,10 +37,11 @@ if (!class_exists(&#39;clsBancoSql_&#39;)) {
32 37  
33 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 46 public $bLink_ID = 0; // Identificador da conexão
41 47 public $bConsulta_ID = 0; // Identificador do resultado da consulta
... ... @@ -48,9 +54,9 @@ class clsBanco extends clsBancoSQL_ {
48 54  
49 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 60 var $arrayStrFields = array();
55 61 var $arrayStrFrom = array();
56 62 var $arrayStrWhere = array();
... ... @@ -58,7 +64,7 @@ class clsBanco extends clsBancoSQL_ {
58 64 var $arrayStrGroupBy = array();
59 65 var $iLimitInicio;
60 66 var $iLimitQtd;
61   - var $arrayStrArquivo = "";
  67 + var $arrayStrArquivo = '';
62 68  
63 69  
64 70  
... ... @@ -73,9 +79,9 @@ class clsBanco extends clsBancoSQL_ {
73 79 * Retorna a quantidade de registros de uma tabela baseado no objeto que a
74 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 86 public function doCountFromObj($obj, $column = '*') {
81 87 if ($obj->_tabela == NULL) {
... ...
ieducar/intranet/include/clsBancoPgSql.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   -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 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 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 67 \ No newline at end of file
... ...