]> git.llucax.com Git - mecon/ai.git/blobdiff - lib/AI/Sistema.php
Se cambian los die(expr) por trigger_error(expr, E_USER_ERROR) para poder interceptar...
[mecon/ai.git] / lib / AI / Sistema.php
index dc0462211b23a906284d7616a7036c90caa37ab2..06d5b63824b922ceb8b24229f30e289228188027 100644 (file)
 // $Id$
 //
 
-// +X2C includes
 require_once 'AI/DBObject.php';
-// ~X2C
-
 require_once 'AI/Error.php';
 
 /**
@@ -38,7 +35,6 @@ require_once 'AI/Error.php';
  */
 define('AI_SISTEMA_CONFFILE', dirname(__FILE__).'/Sistema.ini');
 
-// +X2C Class 416 :AI_Sistema
 /**
  * Sistema.
  *
@@ -55,7 +51,7 @@ class AI_Sistema extends AI_DBObject {
     var $sistema = 0;
 
     /**
-     * Nombre del sistema (slo de lectura, extra?o de SAMURAI).
+     * Nombre del sistema (sólo de lectura, extraído de SAMURAI).
      *
      * @var    string $nombre
      * @access public
@@ -63,7 +59,7 @@ class AI_Sistema extends AI_DBObject {
     var $nombre = '';
 
     /**
-     * Descripcin del sistema (slo de lectura, extra?o de SAMURAI).
+     * Descripción del sistema (sólo de lectura, extraído de SAMURAI).
      *
      * @var    string $descripcion
      * @access public
@@ -71,7 +67,7 @@ class AI_Sistema extends AI_DBObject {
     var $descripcion = '';
 
     /**
-     * ?ono del sistema.
+     * Ícono del sistema.
      *
      * @var    string $icono
      * @access public
@@ -102,29 +98,30 @@ class AI_Sistema extends AI_DBObject {
      */
     var $habilitado = true;
 
-    // ~X2C
+    /**
+     * @var    string $tipo
+     * @access public
+     */
+    var $tipo = 'php';
 
-    // +X2C Operation 466
     /**
      * @param  int $sistema ID del sistema.
      *
      * @return void
      * @access public
      */
-    function AI_Sistema($sistema = 0) // ~X2C
+    function AI_Sistema($sistema = 0)
     {
         parent::AI_DBObject($sistema, AI_SISTEMA_CONFFILE);
     }
-    // -X2C
 
-    // +X2C Operation 536
     /**
      * @param  mixed $db Base de datos o resultado de donde cargar el sistema.
      *
      * @return PEAR_Error
      * @access public
      */
-    function cargar($db) // ~X2C
+    function cargar($db)
     {
         $id_field = $this->conf['id'];
         $id = intval($this->$id_field);
@@ -133,7 +130,6 @@ class AI_Sistema extends AI_DBObject {
             $db     = $result->dbh;
         // Si no es un resultado, hago el query.
         } else {
-            // FIXME - ver como manejar JOINs - Ver de hacer el JOIN tambien en cargar.
             $result = $db->query(
                 "SELECT AI.*, SA.nombre_sistema as nombre, SA.desc_sistema as descripcion
                     FROM {$this->conf['base']}.{$this->conf['tabla']} as AI, samurai.sistema as SA
@@ -155,50 +151,47 @@ class AI_Sistema extends AI_DBObject {
         }
         return true;
     }
-    // -X2C
 
-    // +X2C Operation 459
     /**
      * @param  DB $db DB donde guardar.
-     * @param  bool $nuevo Si es true, se fuerza a guardar el servicio como nuevo.
+     * @param  bool $nuevo Si es true, se fuerza a guardar el servicio como
+     *                     nuevo.
      *
      * @return PEAR_Error
      * @access public
      */
-    function guardar($db, $nuevo = false) // ~X2C
+    function guardar($db, $nuevo = false)
     {
         $datos = array(
             'icono'      => $this->icono,
             'link'       => $this->link,
             'link_ayuda' => $this->link_ayuda,
             'habilitado' => $this->habilitado ? 1 : 0,
+            'tipo'       => $this->tipo,
         );
         $err = parent::guardar($db, $datos, $nuevo);
         if (PEAR::isError($err)) {
             return $err;
         }
     }
-    // -X2C
 
-    // +X2C Operation 528
     /**
      * Obtiene un array con los identificadores de los sistemas cargados.
      *
      * @param  DB $db Base de datos de la cual obtener los sistemas.
-     * @param  string $where Clausula WHERE para filtrar la bsqueda.
+     * @param  string $where Clausula WHERE para filtrar la búsqueda.
      *
      * @return array
      * @access public
      * @static
      */
-    function getSistemasArray($db, $where = '') // ~X2C
+    function getSistemasArray($db, $where = '')
     {
         static $conf;
         if (!$conf) {
             $conf = parse_ini_file(AI_SISTEMA_CONFFILE, true);
         }
         extract($conf);
-        // FIXME - ver como manejar JOINs - Ver de hacer el JOIN tambien en cargar.
         $query = "
             SELECT    SA.id_sistema, SA.nombre_sistema
             FROM      samurai.sistema as SA
@@ -211,19 +204,17 @@ class AI_Sistema extends AI_DBObject {
         $query .= " ORDER BY SA.nombre_sistema ASC";
         return $db->getAssoc($query);
     }
-    // -X2C
 
-    // +X2C Operation 531
     /**
-     * @param  DB $db Base de datos de donde obtener los sistemas.
-     * @param  bool $soloHabilitados Clausula WHERE para filtrar la bsqueda.
-     * @param  string $where Clausula WHERE para filtrar la bsqueda.
+     * @param  $db Base de datos de donde obtener los sistemas.
+     * @param  $soloHabilitados Si es true devuelve solo los sistemas marcados como habilitados.
+     * @param  $where Clausula WHERE para filtrar la búsqueda.
      *
-     * @return array
+     * @return Un array de sistemas cuya clave es el id del sistema y el valor es un objeto AI_Sistema.
      * @access public
      * @static
      */
-    function getSistemas($db, $soloHabilitados = true, $where = '') // ~X2C
+    function getSistemas($db, $soloHabilitados = true, $where = '')
     {
         static $conf;
         if (!$conf) {
@@ -231,7 +222,6 @@ class AI_Sistema extends AI_DBObject {
         }
         $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
@@ -251,7 +241,7 @@ class AI_Sistema extends AI_DBObject {
         $sistema  = new AI_Sistema;
         $err      = $sistema->cargar($result);
         while (!PEAR::isError($err)) {
-            $sistemas[] = $sistema->__clone();
+            $sistemas[$sistema->sistema] = $sistema->__clone();
             $err = $sistema->cargar($result);
         }
         // Si no hay mas resultados (terminó bien) devuelve el array de
@@ -263,8 +253,7 @@ class AI_Sistema extends AI_DBObject {
         // Si no, se devuelve el error.
         return $err;
     }
-    // -X2C
 
-} // -X2C Class :AI_Sistema
+}
 
 ?>