X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/384c23c67683ce8782ef231a81a5cb83ee6a97b9..06cd54ffd3f4a2641a10db316fb08d42c3b8b5ea:/lib/MECON/Dependencia.php diff --git a/lib/MECON/Dependencia.php b/lib/MECON/Dependencia.php index f30c917..6b01f1f 100644 --- a/lib/MECON/Dependencia.php +++ b/lib/MECON/Dependencia.php @@ -32,12 +32,17 @@ require_once 'DB.php'; * @access protected */ class MECON_Dependencia { + /** - * @var int $dbh - * @access private + * @protected */ var $_dbh; + /** + * @protected + */ + var $_database; + /** * @var int $codep * @access public @@ -71,32 +76,33 @@ class MECON_Dependencia { * @return void * @access public */ - function MECON_Dependencia(&$dbh, $codep, $id = null, $database = 'CODEP') + function MECON_Dependencia(&$db, $codep, $id = null, $database = 'CODEP') { - $this->_dbh = $dbh; + $this->_db = $db; + $this->_database = $database; if(!is_null($codep)) { $this->codep = $codep; $sql = "SELECT nombre, nombre_breve, dependencia_id, codigo_actual - FROM $database.Dependencias - WHERE codigo_actual = '$this->codep' AND - dependencia_esta_activa = 1"; + FROM ".$database.".Dependencias + WHERE codigo_actual = '".$this->codep."' AND + dependencia_esta_activa = 1"; - $result = $this->_dbh->query($sql); + $result = $this->_db->query($sql); } - else { + else { $this->dependencia_id = $id; $sql = "SELECT nombre, nombre_breve, dependencia_id, codigo_actual - FROM $database.Dependencias - WHERE dependencia_id = $this->dependencia_id AND - dependencia_esta_activa = 1"; - $result = $this->_dbh->query($sql); + FROM ".$database.".Dependencias + WHERE dependencia_id = ".$this->dependencia_id." AND + dependencia_esta_activa = 1"; + $result = $this->_db->query($sql); } if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); if($result->numRows() > 0) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); @@ -116,31 +122,23 @@ class MECON_Dependencia { { //Planta y becarios $agentes = array(); - $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/novedades'; - $db = DB::connect($dsn); - if (DB::isError($db)) - die ($db->getMessage("No pudo conectarse a la base")); $sql = "SELECT nrodoc - FROM web003 - WHERE codep = '$this->codep'"; - $result = $db->query($sql); + FROM novedades.web003 + WHERE codep = '".$this->codep."'"; + $result = $this->_db->query($sql); if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); while($row = $result->fetchRow()) - $agentes[] = new MECON_Agente($row[0]); + $agentes[$row[0]] = new MECON_Agente($this->_db, $row[0]); //Contratados - $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/Contratados'; - $db = DB::connect($dsn); - if (DB::isError($db)) - die ($db->getMessage("No pudo conectarse a la base")); $sql = "SELECT nrodoc - FROM Contratados - WHERE codep = '$this->codep'"; - $result = $db->query($sql); + FROM Contratados.Contratados + WHERE codep = '".$this->codep."'"; + $result = $this->_db->query($sql); if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); while($row = $result->fetchRow()) - $agentes[] = new MECON_Agente($row[0]); + $agentes[$row[0]] = new MECON_Agente($this->_db, $row[0]); return $agentes; } @@ -152,16 +150,13 @@ class MECON_Dependencia { */ function getDependencias() { - $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP'; - $db = DB::connect($dsn); - if (DB::isError($db)) - die ($db->getMessage("No pudo conectarse a la base")); + $base = (isset($this->_database))? $this->_database : "CODEP"; $sql = "SELECT codigo_actual - FROM Dependencias + FROM ".$base.".Dependencias WHERE dependencia_esta_activa = 1"; - $result = $db->query($sql); + $result = $this->_db->query($sql); if(DB::isError($result)) - die($result->getMessage("query mal hecho")); + trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR); $dependencias = array(); while($row = $result->fetchRow()) $dependencias[] = $row[0]; @@ -200,21 +195,22 @@ class MECON_Dependencia { * @access public * @static */ - function buscarPorCodigo(&$dbh, $codep) + function buscarPorCodigo(&$dbh, $codep, $database = 'CODEP') { - //Reemplazar el comodIn + //Reemplazar el comodín $codep = preg_replace ('/\*/', '%', $codep); - $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id - FROM CODEP.Dependencias - WHERE dependencia_esta_activa = 1 - AND codigo_actual LIKE '$codep' - ORDER BY codigo_actual "; + $sql = " SELECT codigo_actual, codigo_comdoc, nombre, + dependencia_id, nombre_breve + FROM ".$database.".Dependencias + WHERE dependencia_esta_activa = 1 + AND codigo_actual LIKE '".$codep."' + ORDER BY codigo_actual "; $dbh->setFetchMode(DB_FETCHMODE_ASSOC); $result = $dbh->query($sql); - return $result; + return $result; } @@ -227,19 +223,20 @@ class MECON_Dependencia { * @access public * @static */ - function buscarPorNombre(&$dbh, $clave) + function buscarPorNombre(&$dbh, $clave, $database = 'CODEP') { //ReducciOn de espacios en blanco $clave = preg_replace ('/\s+/', ' ', $clave); - $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id - FROM CODEP.Dependencias + $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id, + nombre_breve + FROM ".$database.".Dependencias WHERE dependencia_esta_activa = 1 "; //Separar la cadena de palabras clave $items = split(' ', $clave); foreach ($items as $i){ - $sql.= " AND nombre like '%$i%' "; + $sql.= " AND nombre like '%".$i."%' "; } $sql.= " ORDER BY codigo_actual";