// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
// +--------------------------------------------------------------------+
// | Ministerio de EconomÃa |
-// | Intranet |
+// | Intranet |
// +--------------------------------------------------------------------+
-// | This file is part of Intranet. |
+// | This file is part of Intranet. |
// | |
-// | Intranet is free software; you can redistribute it and/or modify |
+// | 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 |
+// | 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. |
// $Id$
//
-
-
-
// +X2C Class 174 :Servicios_Agenda
/**
* Clase para el manejo de la agenda en la cual se muestran la informacion de los internos de los diferentes edificios.
* @access public
*/
class Servicios_Agenda {
+ /**
+ * Conexion a la base de datos
+ *
+ * @var DB $db
+ * @access private
+ */
+ var $_db;
+
+ /**
+ * Interno a buscar
+ *
+ * @var int $interno
+ * @access private
+ */
+ var $_interno = null;
+
+ /**
+ * Nombre a buscar
+ *
+ * @var string $nombre
+ * @access private
+ */
+ var $_nombre = null;
+
+ /**
+ * Codep a buscar
+ *
+ * @var string $codep
+ * @access private
+ */
+ var $_codep = null;
+
+ /**
+ * Descripcion de la dependencia a buscar
+ *
+ * @var string $dependencia
+ * @access private
+ */
+ var $_dependencia = null;
+
+ /**
+ * Codigo de edificio a buscar
+ *
+ * @var int $edificio
+ * @access private
+ */
+ var $_edificio = null;
+
+ /**
+ * Piso a buscar
+ *
+ * @var int $piso
+ * @access private
+ */
+ var $_piso = null;
+
+ /**
+ * Oficina a buscar
+ *
+ * @var string $oficina
+ * @access private
+ */
+ var $_oficina = null;
+
+ /**
+ * Criterio para ordenar
+ *
+ * @var string $ordenar
+ * @access private
+ */
+ var $_ordenar = null;
+
+ /**
+ * Sets Interno.
+ *
+ * @param int $interno Interno.
+ *
+ * @return void
+ * @access public
+ */
+ function setInterno($interno)
+ {
+ $this->_interno = $interno;
+ }
+
+ /**
+ * Sets Nombre.
+ *
+ * @param string $nombre Nombre.
+ *
+ * @return void
+ * @access public
+ */
+ function setNombre($nombre)
+ {
+ $this->_nombre = $nombre;
+ }
+
+ /**
+ * Sets Codep.
+ *
+ * @param string $codep Codep.
+ *
+ * @return void
+ * @access public
+ */
+ function setCodep($codep)
+ {
+ $this->_codep = $codep;
+ }
+
+ /**
+ * Sets Dependencia.
+ *
+ * @param string $dependencia Dependencia.
+ *
+ * @return void
+ * @access public
+ */
+ function setDependencia($dependencia)
+ {
+ $this->_dependencia = $dependencia;
+ }
+
+ /**
+ * Sets Edificio.
+ *
+ * @param int $edificio Edificio.
+ *
+ * @return void
+ * @access public
+ */
+ function setEdificio($edificio)
+ {
+ $this->_edificio = $edificio;
+ }
+
+ /**
+ * Sets Piso.
+ *
+ * @param int $piso Piso.
+ *
+ * @return void
+ * @access public
+ */
+ function setPiso($piso)
+ {
+ $this->_piso = $piso;
+ }
+
+ /**
+ * Sets Oficina.
+ *
+ * @param string $oficina Oficina.
+ *
+ * @return void
+ * @access public
+ */
+ function setOficina($oficina)
+ {
+ $this->_oficina = $oficina;
+ }
+
+ /**
+ * Sets Ordenar.
+ *
+ * @param string $ordenar Ordenar.
+ *
+ * @return void
+ * @access public
+ */
+ function setOrdenar($ordenar)
+ {
+ $this->_ordenar = $ordenar;
+ }
+
// ~X2C
// +X2C Operation 175
function getEdificios($db) // ~X2C
{
$rta['-'] = '-';
- $consulta = 'select cod_edificio, desc_edificio from edificios where cod_edificio <> 13 order by desc_edificio';
+ $consulta = 'select cod_edificio, desc_edificio from agenda.edificios where cod_edificio <> 13 order by desc_edificio';
$dbh = $db->prepare($consulta);
$res = $db->execute($dbh);
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
}
// -X2C
+ // +X2C Operation 176
+ /**
+ * Constructor
+ *
+ * @param DB &$db Conexion a la base de datos.
+ *
+ * @return void
+ * @access public
+ */
+ function Servicios_Agenda(&$db) // ~X2C
+ {
+ $this->_db = $db;
+ }
+ // -X2C
+
+ // +X2C Operation 186
+ /**
+ * Busca la informacion en la base. Devuelve un array de array o null.
+ *
+ * @return array
+ * @access public
+ */
+ function obtenerInfo() // ~X2C
+ {
+ $sql = 'SELECT interno, nombre, internos.codep, dependencia, desc_edificio as edificio, piso, oficina
+ FROM agenda.internos, agenda.dependencias, agenda.edificios
+ WHERE dependencias.codep=internos.codep AND
+ edificios.cod_edificio=internos.cod_edif ';
+
+ $sql.=($this->_interno) ? ' AND interno = '.$this->_interno:'';
+ $sql.=($this->_codep) ? ' AND internos.codep =
+ \''.$this->_codep.'\'':'';
+ $sql.=($this->_edificio) ? ' AND internos.cod_edif = '.$this->_edificio:'';
+ $sql.=($this->_piso) ? ' AND piso = '.$this->_piso:'';
+ $sql.=($this->_oficina) ? ' AND oficina = '.$this->_oficina:'';
+
+ if ($this->_nombre) {
+ $nom = split('/ /',$this->_nombre);
+ foreach ($nom as $n) {
+ $sql.= " AND nombre LIKE '%$n%'";
+ }
+ }
+ if ($this->_dependencia && $this->_dependencia != '--Ingrese una palabra clave--') {
+ $dep = split(' ', $this->_dependencia);
+ foreach ($dep as $d) {
+ $d = trim($d);
+ $sql.= " AND dependencia LIKE '%$d%'";
+ }
+ }
+
+ $sql.=($this->_ordenar) ? ' order by '.$this->_ordenar :'';
+
+ $dbh = $this->_db->prepare($sql);
+ $res = $this->_db->execute($dbh);
+
+ $rta = null;
+ while ($re = $res->fetchRow()) {
+ $rta[]= $re;
+ }
+
+ return $rta;
+ }
+ // -X2C
+
} // -X2C Class :Servicios_Agenda
?>