+ // +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
+