Source for file stdio.classe.php
Documentation is available at stdio.classe.php
* Funções inespecíficas utilizadas em todo o sistema.
* @author Marcio Merlone <mmerlone@gmail.com>
/* $Id: stdio.classe.php,v 1.8 2007/05/10 19:17:43 mmerlone Exp $ */
* Funções relativas a entrada/saída de dados (db X browser)
* @var string $strOrigem armazena a origem da requisicao [index|ajax|soap]
* @var object $smarty armazena o objeto smarty
* @var object $db armazena o objeto de conexão do banco de dados ADODB
* @var object $db armazena o objeto de conexão do banco de dados ADODB para usuários
* @var object $instance instância da classe
private static $instance =
null;
* Overload de propriedades privadas
* @param string $var nome da propriedade
* @param mixed $value valor da propriedade
private function __set($var, $value){
* Overload de propriedades privadas
* @param string $var nome da propriedade
* @return mixed valor da propriedade
private function __get($var){
* Singleton - retorna uma instância do objeto
if (self::$instance ==
null){
self::$instance =
new stdio();
* Armazena as mensagens do sistema para exibição no outputFoot
* Se definido $classe for integer não exibe a mensagem no div correpondente,
* mas executa trigger_error.
* $this->msgs = array(0 => array('id' => 234,
* 'value' => 'Sentença com duas variáveis: $usuario e $data',
* 'vars' => array('usuario' => 'Usuario da Silva',
* 'data' => '02/01/2007')
* @param integer $id PK da string com a mensagem no db de idiomas
* @param string $value string com a mensagem não internacionalizada
* @param mixed $classe classe do css a utilizar nesta mensagem ou a constante
* respectiva de erro [E_USER_ERROR|E_USER_WARNING|E_USER_NOTICE]
* @param array $vars variáveis a serem substituídas na mensagem
* @link http://us2.php.net/manual/en/ref.errorfunc.php#errorfunc.constants
protected function msg($id, $value, $classe, $vars =
array()){
$this->msg(0, 'msg: id deve ser inteiro.', E_USER_WARNING);
$this->msg(0, 'msg: value deve ser string.', E_USER_WARNING);
$this->msg(0, 'msg: classe deve ser string.', E_USER_WARNING);
if(!isset
($_SESSION['msgs']) ||
!is_array($_SESSION['msgs'])) $_SESSION['msgs'] =
array();
array_push($_SESSION['msgs'], array('id' =>
$id, 'value' =>
$value, 'classe' =>
$classe, 'vars' =>
$vars));
* Instancia o objeto smarty para a requisição se $this->origem == 'index'
* @param string $template_dir diretório para templates
* @return boolean True se necessário utilizar o smarty e o objeto estiver instanciado em $this->smarty.
public function _smarty($template_dir =
null){
return $this->_setSmarty($template_dir);
$this->msg(0, '_smarty: origem indefinida.', E_USER_ERROR);
* @param string $template_dir diretório para templates
* @return boolean se existe o objeto $this->smarty
private function _setSmarty($template_dir =
null){
$this->smarty->setTemplateDir($template_dir);
* Faz a conexão com o banco de dados
* @return object conexão com o banco de dados
if(!isset
($this->db) ||
!is_object($this->db) ||
!$this->db->_connectionID){
trigger_error('_db: Dados para conexão com banco de dados inválidos.', E_USER_WARNING);
* Faz a conexão com o banco de dados de usuários
* @return object conexão com o banco de dados de usuários
* @uses CFG_USUARIO_DB_HOST
* @uses CFG_USUARIO_DB_USER
* @uses CFG_USUARIO_DB_PASS
* @uses CFG_USUARIO_DB_DRV
* @uses CFG_USUARIO_DB_DB
trigger_error('_dbUser: Dados para conexão com banco de dados de usuário inválidos.', E_USER_WARNING);
* Instancia o objeto adodb
* @param string $driver tipo de banco de dados cfme. CFG_DB_DRV
* @param string $host nome do host de banco de dados cfme. CFG_DB_HOST
* @param string $user nome do usuário cfme. CFG_DB_USER
* @param string $pass senha cfme. CFG_DB_PASS
* @param string $db nome do database cfme. CFG_DB_DB
* @param string $sid caso Oracle cfme. CFG_DB_SID
private function _getDb($driver, $host, $user, $pass, $db, $sid =
null){
/*if(CFG_USUARIO_DB_SID == ''){
$dsn = CFG_USUARIO_DB_DRV.'://'.CFG_USUARIO_DB_USER.':'.CFG_USUARIO_DB_PASS.'@'.CFG_USUARIO_DB_HOST.'/'.CFG_USUARIO_DB_DB.'?persist';
$dsn = CFG_USUARIO_DB_DRV.'://'.CFG_USUARIO_DB_USER.':'.CFG_USUARIO_DB_PASS.'@'.CFG_USUARIO_DB_HOST.'/'.CFG_USUARIO_DB_SID.'?persist';
$conn = ADONewConnection($dsn);*/
$conn =
ADONewConnection($driver);
$conn->forceNewConnect =
true;
$conn->NConnect($host, $user, $pass, $db);
* Define $this->strOrigem
private function _setOrigem(){
$this->msg(0, 'requisicao: origem inadequada.', E_USER_ERROR);
Documentation generated on Sun, 09 Mar 2008 23:53:33 -0300 by phpDocumentor 1.4.0