From: Leandro Lucarella Date: Tue, 22 Jul 2003 21:09:10 +0000 (+0000) Subject: Se agrega un método para obtener un array de sistemas (objetos) para usar X-Git-Tag: svn_import~43 X-Git-Url: https://git.llucax.com/mecon/ai.git/commitdiff_plain/0f3a5c8880fffcc8c23d3fa1028e7e41b7c823ee Se agrega un método para obtener un array de sistemas (objetos) para usar en Intranet. --- diff --git a/doc/uml.xmi b/doc/uml.xmi index ee2eb86..c881dfd 100644 --- a/doc/uml.xmi +++ b/doc/uml.xmi @@ -9,7 +9,7 @@ - + @@ -37,6 +37,10 @@ + + + + @@ -144,7 +148,7 @@ x2c:get" name="hijos" static="0" scope="202" /> - + @@ -152,8 +156,8 @@ x2c:get" name="hijos" static="0" scope="202" /> - - + + @@ -171,14 +175,14 @@ x2c:get" name="hijos" static="0" scope="202" /> - - + + - - + + @@ -190,13 +194,13 @@ x2c:get" name="hijos" static="0" scope="202" /> - + - + @@ -262,6 +266,7 @@ x2c:get" name="hijos" static="0" scope="202" /> + diff --git a/lib/AI/Sistema.php b/lib/AI/Sistema.php index e149668..6c761ae 100644 --- a/lib/AI/Sistema.php +++ b/lib/AI/Sistema.php @@ -172,6 +172,51 @@ FIXME - preguntar a gonzalo si le sirve. } // -X2C + // +X2C Operation 531 + /** + * @param DB $db Base de datos de donde obtener los sistemas. + * @param string $where Clausula WHERE para filtrar la bsqueda. + * + * @return array + * @access public + * @static + */ + function getSistemas($db, $where = '') // ~X2C + { + static $conf; + if (!$conf) { + $conf = parse_ini_file(AI_SISTEMA_CONFFILE, true); + } + $id_field = $conf['id']; + $tabla = $conf['base'].'.'.$conf['tabla']; + // FIXME - ver como manejar JOINs - Ver de hacer el JOIN tambien en cargar. + $query = "SELECT AI.*, SA.nombre_sistema as nombre, SA.desc_sistema as descripcion FROM $tabla as AI, samurai.sistema as SA WHERE SA.id_sistema = AI.sistema and SA.estado = 1"; + if ($where) { + $query .= " WHERE $where"; + } + $query .= ' ORDER BY nombre ASC'; + $result = $db->query($query); + if (DB::isError($result)) { + return $result; + } + $sistemas = array(); + $sistema = new AI_Sistema; + $err = $sistema->cargar($result); + while (!PEAR::isError($err)) { + $sistemas[] = $sistema->__clone(); + $err = $sistema->cargar($result); + } + // Si no hay mas resultados (terminó bien) devuelve el array de + // sistemas. + if (AI_Error::isError($err) + and $err->getCode() == AI_ERROR_NO_RESULTADOS) { + return $sistemas; + } + // Si no, se devuelve el error. + return $err; + } + // -X2C + } // -X2C Class :AI_Sistema -?> \ No newline at end of file +?>