1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
8 meconlib is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
13 meconlib is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA 02111-1307 USA
20 -------------------------------------------------------------------------------
21 Creado: Thu Jun 19 16:54:08 2003
22 Autor: Gonzalo Merayo <gmeray@mecon.gov.ar>
23 -------------------------------------------------------------------------------
25 -----------------------------------------------------------------------------*/
27 #require_once 'PEAR.php';
28 require_once 'MECON/Agente.php';
29 require_once 'DB.php';
31 // +X2C Class 145 :MECON_Dependencia
35 class MECON_Dependencia {
49 * @var int $nombre_breve
55 * Id de la dependencia en la base.
57 * @var int $dependencia_id
60 var $dependencia_id = null;
71 function MECON_Dependencia($codep) // ~X2C
73 $this->codep = $codep;
74 $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP';
75 $db = DB::connect($dsn);
77 die ($db->getMessage("No pudo conectarse a la base"));
78 $sql = "SELECT nombre, nombre_breve, dependencia_id
80 WHERE codigo_actual = '$this->codep' AND
81 dependencia_esta_activa = 1";
82 $result = $db->query($sql);
83 if(DB::isError($result))
84 die($result->getMessage("query mal hecho"));
85 if($result->numRows() > 0) {
86 $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
87 $this->nombre = $row['nombre'];
88 $this->nombre_breve = $row['nombre_breve'];
89 $this->dependencia_id = $row['dependencia_id'];
99 function getAgentes() // ~X2C
103 $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/novedades';
104 $db = DB::connect($dsn);
105 if (DB::isError($db))
106 die ($db->getMessage("No pudo conectarse a la base"));
107 $sql = "SELECT nrodoc
109 WHERE codep = '$this->codep'";
110 $result = $db->query($sql);
111 if(DB::isError($result))
112 die($result->getMessage("query mal hecho"));
113 while($row = $result->fetchRow())
114 $agentes[] = new MECON_Agente($row[0]);
116 $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/Contratados';
117 $db = DB::connect($dsn);
118 if (DB::isError($db))
119 die ($db->getMessage("No pudo conectarse a la base"));
120 $sql = "SELECT nrodoc
122 WHERE codep = '$this->codep'";
123 $result = $db->query($sql);
124 if(DB::isError($result))
125 die($result->getMessage("query mal hecho"));
126 while($row = $result->fetchRow())
127 $agentes[] = new MECON_Agente($row[0]);
132 // +X2C Operation 150
134 * @return dependencia
138 function getDependencias() // ~X2C
140 $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP';
141 $db = DB::connect($dsn);
142 if (DB::isError($db))
143 die ($db->getMessage("No pudo conectarse a la base"));
144 $sql = "SELECT codigo_actual
146 WHERE dependencia_esta_activa = 1";
147 $result = $db->query($sql);
148 if(DB::isError($result))
149 die($result->getMessage("query mal hecho"));
150 $dependencias = array();
151 while($row = $result->fetchRow())
152 $dependencias[] = $row[0];
153 return $dependencias;
157 // +X2C Operation 165
162 function getNombre() // ~X2C
164 return $this->nombre;
168 // +X2C Operation 166
173 function getNombreBreve() // ~X2C
175 return $this->nombre_breve;
179 // +X2C Operation 167
181 * Buscar dependencias por el codep.
183 * @param db &$dbh Base de Datos
184 * @param string $codep COdigo de dependencia, o parte del mismo seguido del comodIn (*)
190 function buscarPorCodigo(&$dbh, $codep) // ~X2C
192 //Reemplazar el comodIn
193 $codep = preg_replace ('/\*/', '%', $codep);
195 $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id
196 FROM CODEP.Dependencias
197 WHERE dependencia_esta_activa = 1
198 AND codigo_actual LIKE '$codep'
199 ORDER BY codigo_actual ";
201 $dbh->setFetchMode(DB_FETCHMODE_ASSOC);
202 $result = $dbh->query($sql);
208 // +X2C Operation 168
210 * @param db &$dbh Base de Datos
211 * @param string $clave Cadena de palabras clave del nombre de la dependencia.
217 function buscarPorNombre(&$dbh, $clave) // ~X2C
219 //ReducciOn de espacios en blanco
220 $clave = preg_replace ('/\s+/', ' ', $clave);
222 $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id
223 FROM CODEP.Dependencias
224 WHERE dependencia_esta_activa = 1 ";
226 //Separar la cadena de palabras clave
227 $items = split(' ', $clave);
228 foreach ($items as $i){
229 $sql.= " AND nombre like '%$i%' ";
232 $sql.= " ORDER BY codigo_actual";
234 $dbh->setFetchMode(DB_FETCHMODE_ASSOC);
235 $result = $dbh->query($sql);
241 } // -X2C Class :MECON_Dependencia