class pg_conexion
{
var $conexion_id;
var $query;
var $resultado;
var $host;
var $usuario;
var $password;
var $db;
var $puerto;
var $cadena_conexion;
var $registro_actual;
var $numero_renglones;
var $numero_columnas;
function conecta()
{
if($this->bd != "")
{
$this->cadena_conexion = "host=".$this->host;
if($this->usuario != "") $this->cadena_conexion .= " user=".$this->usuario;
if($this->password != "") $this->cadena_conexion .= " password=".$this->password;
$this->cadena_conexion .= " dbname=".$this->bd." "."port=".$this->puerto;
$this->registro_actual = 0;
$nivel_error = error_reporting(0);
$this->conexion_id = @pg_connect($this->cadena_conexion);
error_reporting($nivel_error);
if(!$this->conexion_id)
{
$Conexion='False';
include "index.php";
}
}
}
function desconecta()
{
pg_close($this->conexion_id);
}
function Mensaje()
{
return pg_last_notice($this->conexion_id);
}
function ultimo_error()
{
return pg_last_error($this->conexion_id);
}
//INICIO DEL CONSTRUCTOR
function pg_conexion($h, $b, $u, $p, $pr)
{
$this->host = $h;
$this->usuario = $u;
$this->password = $p;
$this->bd = $b;
$this->puerto = $pr;
if($this->host == "") $this->host = "10.1.70.36";
if($this->puerto == "") $this->puerto = "5432";
$this->conecta();
}
//FIN DEL CONSTRUCTOR
//INICIO DE METODOS DE CONFIGURACION DE PARAMETROS DE CONEXION
function set_usuario($u)
{
$this->usuario = $u;
return TRUE;
}
function set_password($p)
{
$this->password = $p;
return TRUE;
}
function set_host($h)
{
$this->host = $h;
return TRUE;
}
function set_bd($b)
{
$this->bd = $b;
return TRUE;
}
function set_puerto($p)
{
$this->puerto = $p;
return TRUE;
}
//FIN DE METODOS DE CONFIGURACION DE PARAMETROS DE CONEXION
//INICIO DE METODOS PARA CONSULTAS A LA BD
function set_query($q)
{ $q = ereg_replace("'Sin fecha'","null",$q);
$q = ereg_replace(',)',',null)',$q);
$q = ereg_replace("'null'","null",$q);
$this->query = ereg_replace(',,',',null,',$q);
if ($this->usuario=='acarino' or $this->usuario=='mcbautista' or $this->usuario=='xjmgarciao' or $this->usuario=='ehernandem' ) {
// echo "
$this->usuario
"; // echo "
$this->puerto
"; echo "
$this->query
"; // echo "
$this->host
"; } return $this->query; } function ejecuta() { /* if ($this->usuario<>'conecta' and $this->usuario<>'sgomez' and $this->usuario<>'ngarcia') { echo "EN MANTENIMIENTO ..."; exit; } */ $nivel_error = error_reporting(0); $this->resultado=pg_exec($this->conexion_id,$this->query); error_reporting($nivel_error); if($this->resultado) { $this->numero_renglones = pg_numrows($this->resultado); $this->numero_columnas = pg_numfields($this->resultado); $this->registro_actual = 0; if ($this->usuario=='japerez') { $ip_host = $_SERVER['REMOTE_ADDR']; $queryarre=str_replace("'","\'",$this->query); $querySeg="insert into seguimiento_usuario values('".$this->usuario."','$ip_host',trim('$queryarre'),now());"; pg_exec($this->conexion_id,$querySeg); $anio_actual = date("dmy"); $archivo = '/var/www/html/predial/Archivos/bitacora/'.$this->usuario.$anio_actual.'.txt'; $fp = fopen($archivo, "a"); $string = $this->query."\n"; $write = $anio_actual."\n"; $write.= fputs($fp, $string); fclose($fp); } return $this->resultado; } else { // echo "Error. No se llevo a cabo la operacion, reportar a DGI --->".$this->query; // $queryarre=str_replace("'","\'",$this->query); // $queryError="insert into error_query values('$queryarre','".$this->usuario."',now());"; // pg_exec($this->conexion_id,$queryError); } } function regresa_registro() { $salida = pg_fetch_array($this->resultado, $this->registro_actual); if($salida != -1) $this->registro_actual++; return $salida; } function rebobinar() { $this->registro_actual = 0; } function ir_a_registro($i) { $this->registro_actual = $i; } function regresa_conexion() { return $this->conexion_id; } function regresa_renglones() { return pg_numrows($this->resultado); } function regresa_columnas() { return pg_numfields($this->resultado); } //FIN DE METODOS PARA CONSULTAS A LA BD } ?>
$this->usuario
"; // echo "
$this->puerto
"; echo "
$this->query
"; // echo "
$this->host
"; } return $this->query; } function ejecuta() { /* if ($this->usuario<>'conecta' and $this->usuario<>'sgomez' and $this->usuario<>'ngarcia') { echo "EN MANTENIMIENTO ..."; exit; } */ $nivel_error = error_reporting(0); $this->resultado=pg_exec($this->conexion_id,$this->query); error_reporting($nivel_error); if($this->resultado) { $this->numero_renglones = pg_numrows($this->resultado); $this->numero_columnas = pg_numfields($this->resultado); $this->registro_actual = 0; if ($this->usuario=='japerez') { $ip_host = $_SERVER['REMOTE_ADDR']; $queryarre=str_replace("'","\'",$this->query); $querySeg="insert into seguimiento_usuario values('".$this->usuario."','$ip_host',trim('$queryarre'),now());"; pg_exec($this->conexion_id,$querySeg); $anio_actual = date("dmy"); $archivo = '/var/www/html/predial/Archivos/bitacora/'.$this->usuario.$anio_actual.'.txt'; $fp = fopen($archivo, "a"); $string = $this->query."\n"; $write = $anio_actual."\n"; $write.= fputs($fp, $string); fclose($fp); } return $this->resultado; } else { // echo "Error. No se llevo a cabo la operacion, reportar a DGI --->".$this->query; // $queryarre=str_replace("'","\'",$this->query); // $queryError="insert into error_query values('$queryarre','".$this->usuario."',now());"; // pg_exec($this->conexion_id,$queryError); } } function regresa_registro() { $salida = pg_fetch_array($this->resultado, $this->registro_actual); if($salida != -1) $this->registro_actual++; return $salida; } function rebobinar() { $this->registro_actual = 0; } function ir_a_registro($i) { $this->registro_actual = $i; } function regresa_conexion() { return $this->conexion_id; } function regresa_renglones() { return pg_numrows($this->resultado); } function regresa_columnas() { return pg_numfields($this->resultado); } //FIN DE METODOS PARA CONSULTAS A LA BD } ?>