<?
//**Variables que proporcionan la capacidad de cambiar el
//**motor de datos si se requiere.
global $DATOS;
$DATOS["motor"] = "clsMySQL()";
//******************************************************
//**Clase que proporciona el servicio de datos.
class clsServicoDeDatos{
var $IDatos;
function ObtenerIDatos(){
global $DATOS;
$this->IDatos = new clsIDatos($DATOS["motor"]);
return $this->IDatos;
}
}
//*********************************************
//**Clase que proporciona la interfaz con el motor de datos.
class clsIDatos extends clsMySQL{
function clsIDatos($pMotor="clsMySQL()"){
//eval("\$this = new $pMotor;");
}
}
//**********************************************************
class clsMySQL{
//Esta clase proporciona las instrucciones de manejos de datos para MySQL.
function _ObtenerParametro($pParam){
/*
Recibe una cadena con el parámetro a obtener, estos parámetros están almacenados en la tabla GENERAL
*/
$R = 0;
switch ($pParam){
case "grupo":
$R = 5;
break;
case "modulo":
$R = 1;
break;
case "modulo de solicitudes":
$R = 28;
break;
case "modulo de revision de documentos":
$R = 36;
break;
case "estatus encuesta":
$R = 13;
break;
case "encuesta vigente":
$R = 14;
break;
case "encuesta no vigente":
$R = 15;
break;
case "tipos de documento":
$R = 17;
break;
case "tipos de hipervínculo":
$R = 20;
break;
case "solicitud pendiente":
$R = 30;
break;
case "solicitud terminada":
$R = 31;
break;
case "secciones publicas":
$R = 18;
break;
case "secciones privadas":
$R = 19;
break;
case "ámbito de documento":
$R = 43;
break;
case "estatus de documento":
$R = 47;
break;
case "documento en aprobación":
$R = 48;
break;
case "documento aprobado":
$R = 49;
break;
}
return $R;
}
function ObtenerFicha($pNF){
/*
Obtiene los campos necesarios para la creación de la clase clsFicha.
Recibe como parámetro el número de la ficha a mostrar.
*/
$SQL = "SELECT FIC_ID,
FIC_CLADEWEY,
FIC_CLALOCAL,
FIC_AUTPERSONAL,
FIC_TITULO,
FIC_ISBN,
FIC_EDICION,
FIC_LUGAR,
FIC_PAGINAS,
FIC_SERIE,
FIC_NOTGENERALES,
FIC_NOTBIBLIOGRAFIA,
FIC_NOTCONTENIDO,
FIC_ENCAUTOR,
FIC_ENCAUCORPORATIVO,
FIC_ENCNOMGRAFICOS,
FIC_ENCTEMA,
FIC_AUTCORPORATIVO,
FIC_TITULOALT,
FIC_RESUMEN
FROM ficha
WHERE FIC_ID = $pNF";
// $SQL = "SELECT * FROM ficha WHERE FIC_ID = $pNF";
return $this->_Ejecutar($pSQL1);
}
function BuscarFichas($T, $V){
/*
Busca las fichas que concuerden con el criterio de búsqueda.
Recibe como parámetro el tipo de búsqueda y el valor a buscar.
*/
$Con = '1';
switch($T){
case "BBuscar":
$Con = "FIC_CLADEWEY LIKE '%$V%' OR
FIC_CLALOCAL LIKE '%$V%' OR
FIC_AUTPERSONAL LIKE '%$V%' OR
FIC_AUTCORPORATIVO LIKE '%$V%' OR
FIC_AUTASAMBLEA LIKE '%$V%' OR
FIC_ASITITULO LIKE '%$V%' OR
FIC_TITUNIFORME LIKE '%$V%' OR
FIC_TITULO LIKE '%$V%' OR
FIC_EDICION LIKE '%$V%' OR
FIC_LUGAR LIKE '%$V%' OR
FIC_PAGINAS LIKE '%$V%' OR
FIC_SERIE LIKE '%$V%' OR
FIC_NOTGENERALES LIKE '%$V%' OR
FIC_NOTBIBLIOGRAFIA LIKE '%$V%' OR
FIC_NOTCONTENIDO LIKE '%$V%' OR
FIC_NOTIDIOMA LIKE '%$V%' OR
FIC_ENCAUTOR LIKE '%$V%' OR
FIC_ENCAUCORPORATIVO LIKE '%$V%' OR
FIC_ENCTEMA LIKE '%$V%' OR
FIC_ENCNOMGRAFICOS LIKE '%$V%'";
/*case "Buscar":
$Con = "MATCH(FIC_ISBN, FIC_CLADEWEY, FIC_CLALOCAL, FIC_AUTPERSONAL, FIC_AUTCORPORATIVO, FIC_AUTASAMBLEA, FIC_ASITITULO, FIC_TITUNIFORME, FIC_TITULO, FIC_EDICION, FIC_LUGAR, FIC_PAGINAS, FIC_SERIE, FIC_NOTGENERALES, FIC_NOTBIBLIOGRAFIA, FIC_NOTCONTENIDO, FIC_NOTIDIOMA, FIC_ENCAUTOR,FIC_ENCAUCORPORATIVO,FIC_ENCTEMA,FIC_ENCNOMGRAFICOS ) AGAINST ('%$V%')";
break; */
case "Buscar":
$Con = "MATCH( FIC_TITULO, FIC_TITULOALT,FIC_AUTPERSONAL,FIC_NOTCONTENIDO, FIC_RESUMEN, FIC_CLADEWEY, FIC_ISBN ) AGAINST ('%$V%')";
break;
}
$SQL = "SELECT FIC_ID FROM ficha WHERE $Con";
return $this->_Ejecutar($pSQL1);
}
function _Ejecutar($pSQL1){
/*
Ejecuta las instrucciones en MySQL.
Recibe como parámetro la instrucción SQL, si es una consulta (SELECT), regresa un arreglo bidimensional, de lo contrario, un valor bolean igual a verdadero. Si falla la conexión al servidor MySQL o no se ejecuta con éxito la consulta, termina la ejecución del script.
*/
/*
Conexion al server de MySQL
*/
$hostname = "*****";
$port = "*****";
$username = "*****";
$password = "*****";
$database = "*****";
//$C = @mysql_connect("localhost", "*****", "*****");
//$C = @mysql_connect("localhost", "*****",""); // ************
if($C!=false){
//mysql_db_query("*****", "SET NAMES 'utf8'", $C);
//$Res = @mysql_db_query("*****", utf8_encode($pSQL), $C);
if($Res!=false){
if(substr($pSQL, 0, 6)=="SELECT"){ $r=-1;
$r++;
for($i=0; $i<count($Fila); $i++){ $Return[$r][$i] = $Fila[$i];
}
}
return $Return;
}else{
return true;
}
}else{
echo "<br />";
/*die ( "No fue posible ejecutar la siguiente instrucción \"$pSQL\".");*/
}
}else{
die ("No se ha podido establecer la conexión con el servidor de datos."); }
}
}
?>