--- /dev/null
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ Ministerio de EconomÃa
+ meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
+
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Creado: Thu Jun 19 15:17:11 2003
+Autor: Gonzalo Merayo <gmeray@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+
+require_once 'DB.php';
+require_once 'MECON/Tiempo/Hora.php';
+
+/**
+ * @access public
+ */
+class MECON_Agente {
+
+ /**
+ * Documento del agente.
+ */
+ var $agente;
+
+ /**
+ * Datos del agente
+ */
+ var $datos=array();
+
+ /**
+ * @return string
+ */
+ function getDependencia()
+ {
+ if(in_array('codep',array_keys($this->datos)))
+ return $this->datos['codep'];//TODO esta no es la columna correcta
+ else
+ return false;
+ }
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getTipo()
+ {
+ if(in_array('marco_legal',array_keys($this->datos)))
+ return 'CON '.$this->datos['marco_legal'];
+ elseif(in_array('tipo_agente',array_keys($this->datos)))
+ return $this->datos['tipo_agente'];
+ else
+ return false;
+ }
+
+ /**
+ * @param dbh $db
+ * @param int $agente
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Agente(&$db,$agente=null)
+ {
+ $this->_db = $db;
+ //$this->_db = DB::connect('mysql://intranet:intranet@intranet-db.mecon.ar/novedades');
+ if(! is_null($agente)) {
+ $this->buscarAgente($agente);
+ }
+ }
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getNombre()
+ {
+ if(in_array('nombre',array_keys($this->datos)))
+ return $this->datos['nombre'];
+ else
+ return false;
+ }
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getHoraDesde()
+ {
+ if(in_array('hora_desde',$this->datos))
+ return new MECON_Tiempo_Hora($this->datos['hora_desde']);
+ elseif(in_array('hentra',$this->datos))
+ return new MECON_Tiempo_Hora($this->datos['hentra']);
+ else
+ return false;
+ }
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getHoraHasta()
+ {
+ if(in_array('hora_hasta',$this->datos))
+ return new MECON_Tiempo_Hora($this->datos['hora_hasta']);
+ elseif(in_array('hsale',$this->datos))
+ return new MECON_Tiempo_Hora($this->datos['hsale']);
+ else
+ return false;
+ }
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getCuil()
+ {
+ if(in_array('cuil',$this->datos))
+ {
+ $aux = $this->datos['cuil'];
+ $aux = preg_replace('/(\d{2})(\d*)(\d{1})/','$1-$2-$3',$aux);
+ return $aux;
+ }else
+ {
+ return false;
+ }
+ }
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getOtrosDatos()
+ {
+ if(!is_null($this->datos['tipo_agente'])) {
+ $aux['tipo_doc'] = $this->datos['tipodoc'];
+ $aux['fecha_nac'] = $this->datos['fecha_nac'];
+ $aux['edad'] = $this->datos['edad'];
+ $aux['estado_civil'] = $this->datos['estado_civil'];
+ $aux['domicilio'] = $this->datos['domicilio'];
+ $aux['puerta'] = $this->datos['num_puerta'];
+ $aux['piso'] = $this->datos['piso'];
+ $aux['depto'] = $this->datos['depto'];
+ $aux['localidad'] = $this->datos['localidad'];
+ $aux['provincia'] = $this->datos['provincia'];
+ $aux['calle1'] = $this->datos['calle1'];
+ $aux['calle2'] = $this->datos['calle2'];
+ $aux['cp'] = $this->datos['cp'];
+ $aux['telefono'] = $this->datos['telefono'];
+ $aux['cargo'] = $this->datos['cargo'];
+ $aux['nivel'] = $this->datos['nivel'];
+ $aux['grado'] = $this->datos['grado'];
+ $aux['func_ejec'] = $this->datos['func_ejec'];
+ $aux['obra_social'] = $this->datos['obra_social'];
+ $aux['afiliado'] = $this->datos['afiliado'];
+ $aux['conyuge'] = $this->datos['conyuge'];
+ $aux['fecha_nac_conyuge'] = $this->datos['fecha_nac_cony'];
+ $aux['tipo_doc_conyuge'] = $this->datos['tipodoc_cony'];
+ $aux['nro_doc_cony'] = $this->datos['nrodoc_cony'];
+ return $aux;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * @param int $agente
+ *
+ * @return void
+ * @access public
+ */
+ function buscarAgente($agente)
+ {
+ $this->agente = $agente;
+ $sql = "SELECT *
+ FROM novedades.web003
+ WHERE nrodoc = ".$agente." AND tipo_agente <> 'AUT'";
+ $result = $this->_db->query($sql);
+ if(DB::isError($result))
+ trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
+ if($result->numRows() > 0) {
+ $this->datos = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ } else {
+ $sql = "SELECT *
+ FROM Contratados.Contratados
+ WHERE nrodoc = ".$agente;
+ $result = $this->_db->query($sql);
+ if(DB::isError($result)) {
+ trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
+ }
+ if($result->numRows() > 0) {
+ $this->datos = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ } else {
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
+?>
\ No newline at end of file
--- /dev/null
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ Ministerio de EconomÃa
+ meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
+
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Creado: Thu Jun 19 16:54:08 2003
+Autor: Gonzalo Merayo <gmeray@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+
+#require_once 'PEAR.php';
+require_once 'MECON/Agente.php';
+require_once 'DB.php';
+
+/**
+ * @access protected
+ */
+class MECON_Dependencia {
+
+ /**
+ * @protected
+ */
+ var $_dbh;
+
+ /**
+ * @protected
+ */
+ var $_database;
+
+ /**
+ * @var int $codep
+ * @access public
+ */
+ var $codep;
+
+ /**
+ * @var int $nombre
+ * @access public
+ */
+ var $nombre;
+
+ /**
+ * @var int $nombre_breve
+ * @access public
+ */
+ var $nombre_breve;
+
+ /**
+ * Id de la dependencia en la base.
+ *
+ * @var int $dependencia_id
+ * @access public
+ */
+ var $dependencia_id = null;
+
+ /**
+ * @param string $codep
+ * @param int $id
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Dependencia(&$db, $codep, $id = null, $database = 'CODEP')
+ {
+ $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";
+
+ $result = $this->_db->query($sql);
+ }
+ 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->_db->query($sql);
+ }
+
+ if(DB::isError($result))
+ trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
+
+ if($result->numRows() > 0) {
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ $this->codep = $row['codigo_actual'];
+ $this->nombre = $row['nombre'];
+ $this->nombre_breve = $row['nombre_breve'];
+ $this->dependencia_id = $row['dependencia_id'];
+ }
+ }
+
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getAgentes()
+ {
+ //Planta y becarios
+ $agentes = array();
+ $sql = "SELECT nrodoc
+ FROM novedades.web003
+ WHERE codep = '".$this->codep."'";
+ $result = $this->_db->query($sql);
+ if(DB::isError($result))
+ trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
+ while($row = $result->fetchRow())
+ $agentes[$row[0]] = new MECON_Agente($this->_db, $row[0]);
+ //Contratados
+ $sql = "SELECT nrodoc
+ FROM Contratados.Contratados
+ WHERE codep = '".$this->codep."'";
+ $result = $this->_db->query($sql);
+ if(DB::isError($result))
+ trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
+ while($row = $result->fetchRow())
+ $agentes[$row[0]] = new MECON_Agente($this->_db, $row[0]);
+ return $agentes;
+ }
+
+
+ /**
+ * @return dependencia
+ * @access public
+ * @static
+ */
+ function getDependencias()
+ {
+ $base = (isset($this->_database))? $this->_database : "CODEP";
+ $sql = "SELECT codigo_actual
+ FROM ".$base.".Dependencias
+ WHERE dependencia_esta_activa = 1";
+ $result = $this->_db->query($sql);
+ if(DB::isError($result))
+ trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
+ $dependencias = array();
+ while($row = $result->fetchRow())
+ $dependencias[] = $row[0];
+ return $dependencias;
+ }
+
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getNombre()
+ {
+ return $this->nombre;
+ }
+
+
+ /**
+ * @return void
+ * @access public
+ */
+ function getNombreBreve()
+ {
+ return $this->nombre_breve;
+ }
+
+
+
+ /**
+ * Buscar dependencias por el codep.
+ *
+ * @param db &$dbh Base de Datos
+ * @param string $codep COdigo de dependencia, o parte del mismo seguido del comodIn (*)
+ *
+ * @return array
+ * @access public
+ * @static
+ */
+ function buscarPorCodigo(&$dbh, $codep, $database = 'CODEP')
+ {
+ //Reemplazar el comodÃn
+ $codep = preg_replace ('/\*/', '%', $codep);
+
+ $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;
+ }
+
+
+
+ /**
+ * @param db &$dbh Base de Datos
+ * @param string $clave Cadena de palabras clave del nombre de la dependencia.
+ *
+ * @return array
+ * @access public
+ * @static
+ */
+ 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,
+ 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.= " ORDER BY codigo_actual";
+
+ $dbh->setFetchMode(DB_FETCHMODE_ASSOC);
+ $result = $dbh->query($sql);
+
+ return $result;
+ }
+
+
+}
+?>
\ No newline at end of file
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// | Ministerio de EconomÃa |
+// | Intranet |
+// +--------------------------------------------------------------------+
+// | This file is part of Intranet. |
+// | |
+// | Intranet is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published |
+// | by the Free Software Foundation; either version 2 of the License, |
+// | or (at your option) any later version. |
+// | |
+// | Intranet is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with Hooks; if not, write to the Free Software Foundation, |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+// +--------------------------------------------------------------------+
+// | Creado: Mon Jul 7 17:22:10 2003 |
+// | Autor: MatÃas Sklar <msklar@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $Id: Intranet_Legajos_Estudios.php 23 2003-07-15 18:56:42Z msklar $
+//
+
+
+
+// +X2C includes
+require_once 'DB.php';
+// ~X2C
+
+// +X2C Class 163 :Servicios_Legajos_Estudios
+/**
+ * Estudios del agente
+ *
+ * @access public
+ */
+// XXX - Pregunta llucar: POR QUE CATSO HEREDA DE DB???
+class MECON_Legajos_Estudios extends DB {
+ /**
+ * @var int $agente
+ * @access public
+ */
+ var $agente;
+
+ /**
+ * @var int $datos
+ * @access public
+ */
+ var $datos;
+
+ // ~X2C
+
+ // +X2C Operation 166
+ /**
+ * @param int $agente
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Legajos_Estudios($db,$agente) // ~X2C
+ {
+ $this->agente = $agente;
+ $sql = "SELECT *
+ FROM novedades.web005
+ WHERE documento = $agente";
+ $result = $db->query($sql);
+ if (DB::isError($result))
+ trigger_error($result->getMessage('Query mal hecho'), E_USER_ERROR);
+
+ for ($fila = 0; $fila < $result->numRows(); $fila++) {
+ $this->datos[$fila] = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+ }
+ // -X2C
+
+ // +X2C Operation 172
+ /**
+ * @return void
+ * @access public
+ */
+ function getEstudios() // ~X2C
+ {
+ return $this->datos;
+ }
+ // -X2C
+
+} // -X2C Class :Servicios_Legajos_Estudios
+?>
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// | Ministerio de EconomÃa |
+// | Intranet |
+// +--------------------------------------------------------------------+
+// | This file is part of Intranet. |
+// | |
+// | Intranet is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published |
+// | by the Free Software Foundation; either version 2 of the License, |
+// | or (at your option) any later version. |
+// | |
+// | Intranet is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with Hooks; if not, write to the Free Software Foundation, |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+// +--------------------------------------------------------------------+
+// | Creado: Mon Jul 7 17:22:10 2003 |
+// | Autor: MatÃas Sklar <msklar@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $Id: Intranet_Legajos_ExperienciaLaboral.php 23 2003-07-15 18:56:42Z msklar $
+//
+
+// +X2C includes
+require_once 'DB.php';
+// ~X2C
+
+// +X2C Class 155 :Servicios_Legajos_ExperienciaLaboral
+/**
+ * Antigüedad laboral del agente
+ *
+ * @access public
+ */
+// XXX - Pregunta llucar: POR QUE CATSO HEREDA DE DB???
+class MECON_Legajos_ExperienciaLaboral extends DB {
+ /**
+ * @var int $agente
+ * @access public
+ */
+ var $agente;
+
+ /**
+ * @var int $antiguedad
+ * @access public
+ */
+ var $antiguedad;
+
+ /**
+ * @var int $experiencia
+ * @access public
+ */
+ var $experiencia;
+
+ // ~X2C
+
+ // +X2C Operation 159
+ /**
+ * @param int $agente
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Legajos_ExperienciaLaboral($db,$agente) // ~X2C
+ {
+ $this->agente = $agente;
+ $sql = "SELECT *
+ FROM novedades.web032
+ WHERE nrodoc = $agente
+ ORDER BY desde";
+ $result_exp = $db->query($sql);
+ if (DB::isError($result_exp))
+ trigger_error($result_exp->getMessage('Query mal hecho'), E_USER_ERROR);
+
+ for ($fila = 0; $fila < $result_exp->numRows(); $fila++) {
+ $this->experiencia[$fila] = $result_exp->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+
+ $sql = "SELECT *
+ FROM novedades.web031
+ WHERE nrodoc = $agente";
+ $result_ant = $db->query($sql);
+ if (DB::isError($result_ant))
+ trigger_error($result_ant->getMessage('Query mal hecho'), E_USER_ERROR);
+
+ if ($result_ant->numRows() > 0) {
+ $this->antiguedad = $result_ant->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+
+ }
+ // -X2C
+
+ // +X2C Operation 160
+ /**
+ * @return void
+ * @access public
+ */
+ function getAntiguedad() // ~X2C
+ {
+ return $this->antiguedad;
+ }
+ // -X2C
+
+ // +X2C Operation 161
+ /**
+ * @return void
+ * @access public
+ */
+ function getExperiencia() // ~X2C
+ {
+ return $this->experiencia;
+ }
+ // -X2C
+
+} // -X2C Class :Servicios_Legajos_ExperienciaLaboral
+?>
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// | Ministerio de EconomÃa |
+// | Intranet |
+// +--------------------------------------------------------------------+
+// | This file is part of Intranet. |
+// | |
+// | Intranet is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published |
+// | by the Free Software Foundation; either version 2 of the License, |
+// | or (at your option) any later version. |
+// | |
+// | Intranet is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with Hooks; if not, write to the Free Software Foundation, |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+// +--------------------------------------------------------------------+
+// | Creado: Mon Jul 7 17:22:10 2003 |
+// | Autor: MatÃas Sklar <msklar@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $Id: Intranet_Legajos_Familiares.php 23 2003-07-15 18:56:42Z msklar $
+//
+
+// +X2C includes
+require_once 'DB.php';
+// ~X2C
+
+// +X2C Class 154 :Servicios_Legajos_Familiares
+/**
+ * @access public
+ */
+// XXX - Pregunta llucar: POR QUE CATSO HEREDA DE DB???
+class MECON_Legajos_Familiares extends DB {
+ /**
+ * @var int $agente
+ * @access public
+ */
+ var $agente;
+
+ /**
+ * @var int $datos
+ * @access public
+ */
+ var $datos;
+
+ // ~X2C
+
+ // +X2C Operation 169
+ /**
+ * @param int $agente
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Legajos_Familiares($db,$agente) // ~X2C
+ {
+ $this->agente = $agente;
+ $sql = "SELECT *
+ FROM novedades.web004
+ WHERE documento = $agente";
+ $result = $db->query($sql);
+ if (DB::isError($result))
+ trigger_error($result->getMessage('Query mal hecho'), E_USER_ERROR);
+
+ for ($fila = 0; $fila < $result->numRows(); $fila++) {
+ $this->datos[$fila] = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ }
+ }
+ // -X2C
+
+ // +X2C Operation 170
+ /**
+ * @return void
+ * @access public
+ */
+ function getHijos() // ~X2C
+ {
+ $aux = array();
+ $fila = 0;
+ if(is_array($this->datos)) {
+ foreach (array_keys($this->datos) as $key) {
+ if($this->datos[$key]['parentesco']=='H') {
+ $aux[$fila]['nombre'] = $this->datos[$key]['nombre'];
+ $aux[$fila]['tipo_doc'] = $this->datos[$key]['tipodoc'];
+ $aux[$fila]['nro_doc'] = $this->datos[$key]['nrodoc'];
+ $aux[$fila]['fecha_nac'] = $this->datos[$key]['fecha_nac'];
+ $aux[$fila]['parentesco'] = $this->datos[$key]['parentesco'];
+ $fila++;
+ }
+ }
+ }
+ return $aux;
+ }
+ // -X2C
+
+ // +X2C Operation 171
+ /**
+ * @return void
+ * @access public
+ */
+ function getFamiliares() // ~X2C
+ {
+ $aux = array();
+ $fila = 0;
+ if(is_array($this->datos)) {
+ foreach (array_keys($this->datos) as $key) {
+ if($this->datos[$key]['parentesco']!="H") {
+ $aux[$fila]['nombre'] = $this->datos[$key]['nombre'];
+ $aux[$fila]['tipo_doc'] = $this->datos[$key]['tipodoc'];
+ $aux[$fila]['nro_doc'] = $this->datos[$key]['nrodoc'];
+ $aux[$fila]['fecha_nac'] = $this->datos[$key]['fecha_nac'];
+ $aux[$fila]['parentesco'] = $this->datos[$key]['parentesco'];
+ $fila++;
+ }
+ }
+ }
+ return $aux;
+ }
+ // -X2C
+
+} // -X2C Class :Servicios_Legajos_Familiares
+?>
--- /dev/null
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ Ministerio de EconomÃa
+ meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
+
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Creado: Mon Apr 14 16:23:22 2003
+Autor: Martin Marrese <mmarre@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+
+require_once 'PEAR.php';
+require_once 'MECON/Marco/Copete.php';
+require_once 'MECON/Marco/Menu.php';
+require_once 'MECON/Marco/MenuPrincipal.php';
+
+//Agregado para el uso de HTML_Page (Uso la version Original de Pear)
+require_once 'MECON/HTML/Page.php';
+require_once 'HTML/Table.php';
+
+//Defino los directorios por default
+define ('DIR_IMAGENES', 'images');
+define ('DIR_ESTILOS' , 'css' );
+define ('DIR_JS' , 'js' );
+define ('DIR_WWW' , 'www' );
+define ('DIR_CACHE' , '/tmp' );
+
+//Defino las constantes
+define ('SCRIPT_DIR_BASE', '/MECON/js/' );
+define ('ESTILO_DIR_BASE', '/MECON/css/');
+define ('SCRIPT_GENERICO', 'marco.js' );
+define ('ESTILO_GENERICO', 'marco.css' );
+
+/**
+ * Clase encargada del manejo del Marco de los sistemas.
+ *
+ * @access public
+ */
+class MECON_Marco extends MECON_HTML_Page {
+ /**
+ * Array con los datos de configuracion del sistema.
+ *
+ * @var array $configuracion
+ * @access private
+ */
+ var $_configuracion;
+
+ /**
+ * Mantiene el estado de los espacios
+ *
+ * @var bool $espacios
+ * @access private
+ */
+ var $_espacios = true;
+
+ /**
+ * Menu vertical para agregar en la pantalla.
+ *
+ * @var mixed $menuVertical
+ * @access private
+ */
+ var $_menuVertical = null;
+
+ /**
+ * Mantiene el estado de los links en la pagina. (True habilitados, False no)
+ *
+ * @var bool $links
+ * @access private
+ */
+ var $_links = true;
+
+ /**
+ * Constructor. Recibe como parametro el path del archivo de configuracion
+ *
+ * @param string $arch_configuracion indicacion de la ubicacion y nombre del archivo de configuracion
+ * @param MECON_Perm $obj_permiso Objeto Permisos
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Marco($arch_configuracion, $obj_permiso = null)
+ {
+ //Creo el objeto pagina
+ parent::MECON_HTML_Page();
+ //Obtengo y arreglo la configuracion
+ $this->_obtenerConfiguracion($arch_configuracion);
+ //Agrego el objeto permiso a la configuracion
+ if (@$obj_permiso) {
+ $this->_configuracion['obj_permiso'] = $obj_permiso;
+ }
+ //Agrego el estilo y el script genericos
+ $this->addScript(SCRIPT_DIR_BASE.SCRIPT_GENERICO);
+ $this->addStyleSheet(ESTILO_DIR_BASE.ESTILO_GENERICO);
+ //Seteo el titulo
+ $this->setTitle($this->_configuracion['titulo_sistema']);
+ $this->_configuracion['subtitulo'] = '';
+ $this->_configuracion['titulo_sistema2'] = '';
+ }
+
+ /**
+ * Funcion que se encarga de la obtencion y generacion del array de configuracion. Recibe como parametro el path del archivo de configuracion
+ *
+ * @param string $archivo Archivo de configuracion del sistema
+ *
+ * @return array
+ * @access private
+ */
+ function _obtenerConfiguracion($archivo)
+ {
+ $this->_configuracion = include $archivo;
+ //Verifico que existan los directorios, si no es asi los reemplazo por los defaults
+ if (!@$this->_configuracion['directorios']['root']) {
+ trigger_error('Es obligatorio ingresar el directorio root!', E_USER_ERROR);
+ }
+ if (!@$this->_configuracion['directorios']['imagenes']){
+ $this->_configuracion['directorios']['imagenes'] = $this->_configuracion['directorios']['root'].'/'.DIR_IMAGENES;
+ }
+ if (!@$this->_configuracion['directorios']['estilos']){
+ $this->_configuracion['directorios']['estilos'] = $this->_configuracion['directorios']['root'].'/'.DIR_ESTILOS;
+ }
+ if (!@$this->_configuracion['directorios']['js']){
+ $this->_configuracion['directorios']['js'] = $this->_configuracion['directorios']['root'].'/'.DIR_JS;
+ }
+ if (!@$this->_configuracion['directorios']['www']){
+ $this->_configuracion['directorios']['www'] = $this->_configuracion['directorios']['root'].'/'.DIR_WWW;
+ }
+ if (!@$this->_configuracion['directorios_fs']['cache']){
+ $this->_configuracion['directorios_fs']['cache'] = DIR_CACHE;
+ }
+ }
+
+ /**
+ * Redefinicion de la funcion que permite agregar objetos o html al body de la pagina
+Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCSS.
+@deprecated
+ *
+ * @param Mixed $body Mixed. Recibe el contenido a agregar como body de la pagina
+ *
+ * @return void
+ * @access public
+ */
+ function addBody($body)
+ {
+ $this->addBodyContent($body);
+ }
+
+ /**
+ * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
+ *
+ * @param string $titulo String que se quiere agregar al titulo del sistema
+ *
+ * @return void
+ * @access public
+ */
+ function addTitle($titulo)
+ {
+ $this->_configuracion['titulo_sistema2'].= ' - '.$titulo;
+ }
+
+ /**
+ * Setea la variable que define si hay que separar el body del menu
+ *
+ * @param bool $espacios Si es verdadero agrega los espacios, sino los elimina
+ *
+ * @return void
+ * @access public
+ */
+ function setEspacios($espacios = true)
+ {
+ $this->_espacios = $espacios;
+ }
+
+ /**
+ * Agrega un menu vertical a la izquierda en la pantalla.
+ *
+ * @param mixed $menuVertical Objeto u Html que representa el menu a mostrar.
+ *
+ * @return void
+ * @access public
+ */
+ function addMenuVertical($menuVertical)
+ {
+ if ((is_object($menuVertical)) && (method_exists($menuVertical, 'getcss'))) {
+ $this->addStyleSheet($menuVertical->getCSS());
+ }
+ $this->_menuVertical = $menuVertical;
+ }
+
+ /**
+ * Permite habilitar o deshabilitar los links de una pagina (todos)
+ *
+ * @param bool $param True habilita los links, False no.
+ *
+ * @return void
+ * @access public
+ */
+ function habilitarLinks($param = true)
+ {
+ $this->_links = $param;
+ }
+
+ /**
+ * Devuelve el html de la pagina
+ *
+ * @return string
+ * @access public
+ */
+ function toHTML()
+ {
+ //Seteo el titulo de la pagina
+ parent::setTitle($this->_configuracion['titulo_sistema'].$this->_configuracion['titulo_sistema2']);
+ //Agrego la opcion seleccionada de links a la configuracion
+ $this->_configuracion['links'] = $this->_links;
+ //Agrego la opcion seleccionada de espacios a la configuracion
+ $this->_configuracion['espacios'] = $this->_espacios;
+ //Creo el menu principal
+ $menu = new MECON_Marco_MenuPrincipal ($this->_configuracion);
+ //Agrego el contenido de la pagina
+ $body = array ( 'body' => $this->_body, 'menuVertical' => $this->_menuVertical);
+ //Page
+ //Agrego el contenido al menu
+ $menu->addBody($body);
+ //Agrego el Marco completo a Page
+ $this->setBody('<div style="width: 760px" align="left">');
+ foreach ($menu->resultado AS $res) {
+ $this->addBodyContent($res);
+ }
+ $this->addBodyContent('</div>');
+ return parent::toHTML();
+ }
+
+ /**
+ * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
+ *
+ * @param string $subtitulo Subtitulo a agregar
+ *
+ * @return void
+ * @access public
+ */
+ function addSubTitle($subtitulo)
+ {
+ if (is_a($subtitulo, 'mecon_html_link')) {
+ $subtitulo->updateAttributes(
+ array('class' => 'mecon_marco_subtitle'));
+ }
+ if (method_exists($subtitulo, 'tohtml')) {
+ $subtitulo = $subtitulo->toHtml();
+ }
+ $this->_configuracion['subtitulo'] .= ' - ' . $subtitulo;
+ }
+
+ /**
+ * Concatena lo pasado por parametro al titulo del sistema
+ *
+ * @param string $titulo Titulo a agregar. Si se pasa vacio se borra lo que pudiera estar
+ *
+ * @return void
+ * @access public
+ */
+ function setTitle($titulo = '')
+ {
+ $this->_configuracion['titulo_sistema2'] = ($titulo) ? ' - '.$titulo :
+ '';
+ }
+
+ /**
+ * Concatena lo pasado por parametro al titulo de seccion
+ *
+ * @param string $subtitulo Setea el subtitulo. Si se pasa vacio borra lo que pudiera estar.
+ *
+ * @return void
+ * @access public
+ */
+ function setSubtitle($subtitulo = '')
+ {
+ $this->_configuracion['subtitulo'] = ($subtitulo) ? ' - '.$subtitulo :
+ '';
+ }
+
+ /**
+ * Permite hacer que en el copete aparezca un icono de ayuda, en un lugar predefinido. Sobreescribe lo seteado anteriormente por cualquier metodo.
+ *
+ * @param mixed $ayuda Objeto MECON_HTML_Link o string para utilizar en el map.
+ *
+ * @return void
+ * @access public
+ */
+ function setAyuda($ayuda)
+ {
+ $this->_configuracion['ayuda'] = $ayuda;
+ }
+
+ /**
+ * Permite obtener el array de configuracion completo. En caso de recibir una clave como parametro devuelve su valor. Solo se tienen en cuenta las claves del primer nivel.
+ *
+ * @param string $clave Clave del array de configuracion a obtener.
+ *
+ * @return mixed
+ * @access public
+ */
+ function getConf($clave = null)
+ {
+ if ($clave) {
+ return @$this->_configuracion[$clave];
+ }
+ else {
+ return $this->_configuracion;
+ }
+ }
+}
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+require_once 'MECON/Tiempo/Intervalo.php';
+
+/**
+ * Clase que permite obtener la descripcion de la novedad correspondiente a un
+ * código determinado
+ *
+ */
+class MECON_Novedad {
+ /**
+ * @var DB $_db
+ * @access private
+ */
+ var $_db;
+
+ /**
+ * @var string $codigo
+ * @access public
+ */
+ var $codigo;
+
+ /*
+ * @var string $descripcion
+ * @access public
+ */
+ var $descripcion;
+
+ /*
+ * @var MECON_Tiempo_Intervalo $intervalo
+ * @access public
+ */
+ var $intervalo;
+
+ /**
+ * Constructor. Recibe un objeto db y un código de novedad.
+ *
+ * @param DB $db
+ * @param string $codigo
+ *
+ * @return void
+ * @access public
+ *
+ */
+ function MECON_Novedad($db = NULL, $codigo = NULL) {
+ if(!is_null($db))
+ {
+ $this->_db = $db;
+
+ if(!is_null($codigo))
+ {
+
+ $this->codigo = $codigo;
+ $sql = "SELECT descripcion FROM novedades.webnov WHERE codigo='".$this->codigo."'";
+ $result = $this->_db->getOne($sql);
+ $this->descripcion = $result;
+ }
+ }
+ }
+
+ /**
+ * Devuelve el código de la novedad
+ *
+ * @return string codigo
+ * @access public
+ *
+ */
+ function getCodigo() {
+ return $this->codigo;
+ }
+
+ /**
+ * Devuelve la descripción de la novedad
+ *
+ * @return string descripcion
+ * @access public
+ *
+ */
+ function getDescripcion() {
+ return $this->descripcion;
+ }
+}
+
+?>
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// | HORAS EXTRA |
+// +--------------------------------------------------------------------+
+// | Sistema de Horas Extra - Ministerio de EconomÃa - Argentina |
+// +--------------------------------------------------------------------+
+// | Creado: lun abr 22 16:05:33 ART 2002 |
+// | Autor: Gonzalo Merayo <gmeray@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $URL: http://portal.mecon.ar/svn/he/tronco/src/lib/he/HE/NovedadesDia.php $
+// $Rev: 380 $
+// $Date: 2003-05-08 18:40:47 -0300 (Thu, 08 May 2003) $
+// $Author: gmeray $
+//
+
+require_once 'DB.php';
+require_once 'Date.php';
+require_once 'MECON/Novedad.php';
+require_once 'MECON/Tiempo/Hora.php';
+
+/**
+ * Representa un Intervalo entre 2 horas del mismo dia
+ *
+ * @package HE
+ * @abstract
+ * @version $Rev: 380 $
+ * @author Gonzalo Merayo <gmeray@mecon.gov.ar>
+ */
+class MECON_NovedadesDia {
+
+ var $novedades = array();
+
+ var $agente = null;
+
+ var $fecha = null;
+
+ var $_db = null;
+
+
+ function MECON_NovedadesDia(&$db, $agente, $fecha) {
+#validar el tipo de $fecha
+ $this->agente = $agente;
+ $this->fecha = $fecha;
+
+#Ver de donde sacar esto bonito...
+
+ $this->_db = $db;
+ if(DB::isError($this->_db))
+ trigger_error($this->_db->getMessage(), E_USER_ERROR);
+#Carga las novedades del agente/fecha en la lista de novedades
+
+ $this->BuscarLicencia();
+ $this->BuscarNovedadesTemporales();
+ $this->BuscarNovedadDiaria();
+ }
+
+ function deLicencia() {
+ $licencias = array('Adp','Asa','Fal','Fran','FES/REL','Grem','Interrup','Sus','10a','10a/d','10c','10d','10g','10h','10i','10j','10j/c','13Ia','13Ia/s','13Ia/u','13Ib','13Ic','13Id','13Id/a','13Id/h','13Ie','13Ig','13IIa','13IIb','13IIc','13IId', '13IIe','1363/97-2','14a','14b','14b1','14b2','14c','14d','14f','14g','14h','15a', '15b','15c','9');
+ $anti_licencias = array('Interr/13a','Interr/9');
+ foreach($this->novedades as $nov) {
+ if(in_array($nov->codigo, $anti_licencias))
+ return false;
+ if(in_array($nov->codigo, $licencias))
+ return true;
+ }
+ return false;
+ }
+
+ function enComicion() {
+ foreach($this->novedades as $nov)
+ if($nov->codigo == 'com')
+ return true;
+ return false;
+ }
+
+ function esFranco() {
+ foreach($this->novedades as $nov)
+ if($nov->codigo == 'Fran')
+ return true;
+ return false;
+ }
+
+ function debioVenir() {
+ $ret = true;
+ foreach($this->novedades as $novedad) {
+ if(!($novedad->codigo == 'adde'
+ or $novedad->codigo == 'aden'
+ or $novedad->codigo == 'adden'
+ or $novedad->codigo == 'ahp'
+ or $novedad->codigo == 'anul'
+ or $novedad->codigo == 'ato'
+ or $novedad->codigo == 'atp'
+ or $novedad->codigo == 'interr/13a'
+ or $novedad->codigo == 'interr/9'
+ or $novedad->codigo == 'interrup'
+ or $novedad->codigo == 'lta'
+ or $novedad->codigo == 'sinnov'
+ or $novedad->codigo == 'tsj'
+ or $novedad->codigo == '10a/c'
+ or $novedad->codigo == '10b'
+ or $novedad->codigo == '10e'
+ or $novedad->codigo == '15a'
+ or $novedad->codigo == '15b'
+ ))
+ $ret = false;
+ }
+ return $ret;
+ }
+
+ function getAtos() {
+ $atos = array();
+ foreach($this->novedades as $nov)
+ if($nov->codigo == 'ato')
+ array_push($atos, $nov);
+ return $atos;
+ }
+
+ function BuscarLicencia() {
+ $fecha = $this->fecha->format("%Y%m%d");
+ $query = "SELECT codnov,descripcion
+ FROM novedades.web018,novedades.webnov
+ WHERE docagente = $this->agente
+ AND diadesde <= $fecha
+ AND diahasta >= $fecha
+ AND codnov = codigo";
+ $result = $this->_db->query($query);
+ if(DB::isError($result))
+ trigger_error($result->getMessage(), E_USER_ERROR);
+ while($r = $result->fetchRow()) {
+ $novedad = new MECON_Novedad();
+ $novedad->codigo = $r[0];
+ $novedad->descripcion = $r[1];
+ array_push($this->novedades, $novedad);
+ }
+ }
+
+ function BuscarNovedadesTemporales() {
+ $fecha = $this->fecha->getYear()."-".
+ $this->fecha->getMonth()."-".
+ $this->fecha->getDay();
+ $query = "SELECT novedad, desde, hasta, descripcion
+ FROM novedades.parciales,novedades.webnov
+ WHERE fecha = '$fecha'
+ AND nrodoc = $this->agente
+ AND novedad = codigo";
+ $result = $this->_db->query($query);
+ if(DB::isError($result))
+ trigger_error($result->getMessage(), E_USER_ERROR);
+ while($r = $result->fetchRow()) {
+ $novedad = new MECON_Novedad();
+ $novedad->codigo = $r[0];
+ $novedad->descripcion = $r[3];
+ $novedad->intervalo = new MECON_Tiempo_Intervalo(new MECON_Tiempo_Hora($r[1]), new MECON_Tiempo_Hora($r[2]));
+ array_push($this->novedades, $novedad);
+ }
+
+ }
+
+ function BuscarNovedadDiaria() {
+ $mes = $this->fecha->getMonth();
+ $dia = $this->fecha->getDay() + 0; //el +0 hace que tome al dia como numero
+ //y no le agregue un 0 si es < que 10
+ $ano = $this->fecha->getYear();
+ $query = "SELECT novedad,descripcion
+ FROM novedades.web020,novedades.webnov
+ WHERE anio = $ano
+ AND mes = $mes
+ AND nrodoc = $this->agente
+ AND dia$dia = 1
+ AND novedad = codigo";
+ $result = $this->_db->query($query);
+ if(DB::isError($result))
+ trigger_error($result->getMessage(), E_USER_ERROR);
+ if($c = $result->fetchRow()) {
+ $codigo = $c[0];
+ $descripcion = $c[1];
+ $novedad = new MECON_Novedad();
+ $novedad->codigo = $codigo;
+ $novedad->descripcion = $descripcion;
+ array_push($this->novedades, $novedad);
+ }
+ }
+
+}
--- /dev/null
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+ Ministerio de EconomÃa
+ meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
+
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA 02111-1307 USA
+-------------------------------------------------------------------------------
+Creado: Thu Aug 11 15:17:11 2003
+Autor: Manuel Nazar <manazar@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id: Usuario.php 242 2003-08-11 18:02:16Z manazar $
+-----------------------------------------------------------------------------*/
+require_once 'MECON/Agente.php';
+
+require_once 'DB.php';
+require_once 'PEAR.php';
+
+/**
+ * @access public
+ */
+class MECON_Usuario {
+ /**
+ * @var int $dni
+ * @access public
+ */
+ var $dni;
+
+ /**
+ * @var string $login
+ * @access public
+ */
+ var $login;
+
+ /**
+ * @var string $nivelygrado
+ * @access public
+ */
+ var $nivelygrado;
+
+
+ /**
+ * @var string $codep
+ * @access public
+ */
+ var $codep;
+
+
+ /**
+ * @var string $nombre
+ * @access public
+ */
+ var $nombre;
+
+ /**
+ * @var string $tipo
+ * @access public
+ */
+ var $tipo;
+
+ /**
+ * @protected
+ */
+ var $_db;
+
+ /**
+ * @param string $dni
+ *
+ * @return void
+ * @access public
+ */
+ function ArmarconDNI($dni)
+ {
+ $sql = "SELECT login,nombre
+ from usuario.Usuario
+ where dni = $dni";
+ $result = $this->_db->query($sql);
+ if (DB::isError($result)) {
+ return $result;
+ } elseif ($result->NumRows()>0) {
+ $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
+ $login = $row[0];
+ $nombre = $row[1];
+ $this->login=$login;
+ $this->nombre=$nombre;
+ $this->dni=$dni;
+ } else {
+ return new PEAR_Error ('El dni '.$dni.' no existe, debe loguearse al
+ menos una vez a la intranet.');
+ }
+ }
+
+ /**
+ * @param string $login
+ *
+ * @return void
+ * @access public
+ */
+ function ArmarconLOGIN($login)
+ {
+ //$login = ereg_replace ("@", "\\\@", $login);
+ $sql = "SELECT dni,nombre
+ from usuario.Usuario
+ where login = '$login'";
+
+ $result = $this->_db->query($sql);
+
+ if (DB::isError($result)) {
+ return $result;
+ } elseif ($result->NumRows()>0) {
+ $row = $result->fetchRow(DB_FETCHMODE_ORDERED);
+ $this->dni = $row[0];
+ $this->nombre = $row[1];
+ $this->login = $login;
+ } else {
+ return new PEAR_Error ('El usuario '.$login.' no existe, debe loguearse al
+ menos una vez a la intranet.');
+ }
+ }
+
+ /**
+ * @param int $dni
+ *
+ * @return void
+ * @access public
+ */
+ function MECON_Usuario($db, $dni = null, $login = null)
+ {
+ $this->_db = $db;
+ if(! is_null($dni)) {
+ $this->ArmarconDNI($dni);
+ $this->buscarUsuarioDNI($dni);
+ }
+ if(! is_null($login)) {
+ $this->ArmarconLOGIN($login);
+ $this->buscarUsuarioDNI($this->getDni());
+ }
+
+ }
+
+ /**
+ * @param int $uario
+ *
+ * @return lo que devuelve el query (DB_Result o DB_Error).
+ * @access public
+ */
+ function Insertar_Usuario($dni, $login, $nombre)
+ {
+ $sql = "REPLACE INTO usuario.Usuario (login,dni,nombre)
+ values ('$login',$dni,'$nombre')";
+ return $this->_db->query($sql);
+ }
+
+ /**
+ * @return int
+ * @access public
+ */
+ function getDni()
+ {
+ return $this->dni;
+ }
+
+ /**
+ * @return string
+ * @access public
+ */
+ function getLogin()
+ {
+ return $this->login;
+ }
+
+ /**
+ * @return string
+ * @access public
+ */
+ function getCodep()
+ {
+ return $this->codep;
+ }
+
+
+ /**
+ * @return string
+ * @access public
+ */
+ function getNombre()
+ {
+ return $this->nombre;
+ }
+
+ /**
+ * @return string
+ * @access public
+ */
+ function getNivelygrado()
+ {
+ return $this->nivelygrado;
+ }
+
+
+ /**
+ * @return string
+ * @access public
+ */
+ function getTipo()
+ {
+ return $this->tipo;
+ }
+
+
+ /**
+ * @param int $dni
+ *
+ * @return void
+ * @access public
+ */
+ function buscarUsuarioDNI($dni)
+ {
+ $MECON_Agente= & new MECON_Agente($this->_db, $dni);
+ $this->dni = $dni;
+ $nombre = $MECON_Agente->getNombre();
+ $this->nombre = $nombre;
+ $codep= $MECON_Agente->getDependencia();
+ $this->codep = $codep;
+ $tipo= $MECON_Agente->getTipo();
+ $this->tipo = $tipo;
+ $this->nivelygrado="";
+ if (isset($MECON_Agente->datos['nivel']))
+ {
+ $this->nivelygrado= $MECON_Agente->datos['nivel'].$MECON_Agente->datos['grado'];
+ }
+
+ }
+
+ /**
+ * Verifica si el login pasado por parametro es valido
+ *
+ * @param string $login Login a verificar
+ *
+ * @return mixed
+ * @access public
+ */
+ function verificarLogin($login) {
+ $sql = "SELECT count(*) as cuenta FROM usuario.Usuario WHERE login = "
+ . $this->_db->quote($login) ;
+ $result = $this->_db->query($sql);
+ if (PEAR::isError($result)) {
+ return $result;
+ }
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if ($row['cuenta'] != 0) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Devuelve un array de logins con aquellos que cumplan con algun requisito
+ * del filtro.
+ *
+ * @param DB &$db Base de Datos
+ * @param string $login Login a filtrar. (Puede ser completo o una parte de el)
+ * @param string $nombre Nombre a filtrar.
+ *
+ * @return mixed
+ * @access public
+ * @static
+ */
+ function filtrarUsuarios(&$db, $login, $nombre) {
+ if ($login && $nombre) {
+ return new PEAR_Error('Solo debe ingresarse una opcion de filtro,
+ login o nombre, a la vez.');
+ }
+ $sql = "SELECT u.login as login, u.nombre as nombre FROM usuario.Usuario as u
+ WHERE ";
+
+ if ($login) {
+ $sql.= ' u.login LIKE \'%'.$login.'%\'';
+ }
+ else {
+ $sql.= ' u.nombre LIKE \'%'.$nombre.'%\'';
+ }
+ $sql.= 'ORDER BY u.login';
+
+ $db->setFetchMode(DB_FETCHMODE_ASSOC);
+ $result = $db->query($sql);
+ return $result;
+ }
+}
+?>
--- /dev/null
+<html>
+<head>
+<title>ERROR</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<table align=center background="/MECON/images/general_fondo_gris.gif" border=0
+cellpadding=0 cellspacing=0 width=240>
+ <tbody>
+ <tr>
+ <td colspan=2><img height=3 src="/MECON/images/general_linea_relieve.gif"
+ width=240></td>
+ </tr>
+ <tr align=middle valign=center>
+ <td colspan=2>
+ <div align=center><img height=120 src="/MECON/images/general_no_autorizado.gif"
+ width=120></div>
+ </td>
+ </tr>
+ <tr align=middle valign=center>
+ <td class=txt colspan=2>
+ <div align=center><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000"><b>ACCESO
+ NO AUTORIZADO</b></font></div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan=2><img height=3 src="/MECON/images/general_linea_relieve.gif"
+ width=240></td>
+ </tr>
+ </tbody>
+</table>
+</body>