]> git.llucax.com Git - mecon/ai.git/commitdiff
Se termina de implementar las local_lib. Solo falta obtener datos del
authorLeandro Lucarella <llucax@gmail.com>
Fri, 27 Jun 2003 21:11:46 +0000 (21:11 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 27 Jun 2003 21:11:46 +0000 (21:11 +0000)
SAMURAI en Sistema.

sistema/local_lib/GrupoSecciones.php
sistema/local_lib/Servicio.php
sistema/local_lib/Sistema.php

index a9985214832046392be58e14868657774d63aaaa..30b2620ecb6e63b44440f63529ee7b99994a38f9 100644 (file)
@@ -254,7 +254,7 @@ class GrupoSecciones {
             }
             return true;
         }
-        return PEAR::raiseError("No hay un grupo valido para borrar");
+        return PEAR::raiseError("No hay un grupo válido para borrar");
     }
     // -X2C
 
@@ -274,7 +274,7 @@ class GrupoSecciones {
         }
         $this->_hijos = array();
         $hijo = new GrupoSecciones;
-        $err  = $hijo->cargar($result);
+        $err = $hijo->cargar($result);
         while (!PEAR::isError($err)) {
             $this->_hijos[] = $hijo->__clone();
             $err = $hijo->cargar($result);
index 3f5685a001d5b063143a6ebb935571bb14d418a2..d1caa5591a2362ba238490cd720b834262f147ae 100644 (file)
@@ -27,8 +27,7 @@
 // $Id$
 //
 
-
-
+require_once 'AIError.php';
 
 // +X2C Class 413 :Servicio
 /**
@@ -113,19 +112,29 @@ class Servicio {
      */
     var $habilitado = true;
 
-    // ~X2C
+    /**
+     * Gets Hijos.
+     *
+     * @return array
+     * @access public
+     */
+    function getHijos()
+    {
+        return $this->_hijos;
+    }
 
+    // ~X2C
 
-    // +X2C Operation 456
+    // +X2C Operation 465
     /**
-     * @param  DB $db DB de donde borrar.
+     * @param  int $servicio ID del servicio.
      *
-     * @return PEAR_Error
+     * @return void
      * @access public
      */
-    function borrar($db)// ~X2C
+    function Servicio($servicio = 0)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $this->servicio = $servicio;
     }
     // -X2C
 
@@ -138,7 +147,38 @@ class Servicio {
      */
     function cargar($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $servicio = intval($this->servicio);
+        if (is_a($db, 'db_result')) {
+            $result = $db;
+        // Si no es un resultado, hago el query.
+        } else {
+            $result = $db->query(
+                "SELECT *
+                    FROM servicio
+                    WHERE servicio = $servicio"
+            );
+            if (DB::isError($result)) {
+                return $result;
+            }
+        }
+        // Obtengo la fila.
+        $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+        if (!$row) {
+            return new AIError(AIERROR_NO_RESULTADOS,
+                "No hay más resultados en la DB [servicio=$servicio]");
+        }
+        // Asigno valores al objeto.
+        extract($row);
+        $this->servicio         = $servicio;
+        $this->padre            = $servicio_padre;
+        $this->nombre           = $nombre;
+        $this->descripcion      = $descripcion;
+        $this->icono            = $icono; # FIXME - new HTML_Icono (o no?)
+        $this->link             = $link;
+        $this->linkAyuda        = $link_ayuda;
+        $this->necesitaLogueo   = $necesita_logueo;
+        $this->habilitado       = $habilitado;
+        return true;
     }
     // -X2C
 
@@ -151,33 +191,89 @@ class Servicio {
      */
     function guardar($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $servicio = intval($this->servicio);
+        $where    = '';
+        $datos    = array(
+            'servicio_padre'    => intval($this->padre),
+            'nombre'            => $this->nombre,
+            'descripcion'       => $this->descripcion,
+            'icono'             => $this->icono,
+            'link'              => $this->link,
+            'link_ayuda'        => $this->linkAyuda,
+            'necesita_logueo'   => $this->necesitaLogueo ? 1 : 0,
+            'habilitado'        => $this->habilitado ? 1 : 0,
+        );
+        if ($servicio) {
+            $accion = DB_AUTOQUERY_UPDATE;
+            $where  = "servicio = $servicio";
+        } else {
+            $accion   = DB_AUTOQUERY_INSERT;
+            $servicio = $db->nextId('servicio');
+            if (DB::isError($servicio)) {
+                return $servicio;
+            }
+            // Asigno el nuevo id de servicio.
+            $this->servicio    = $servicio;
+            $datos['servicio'] = $servicio;
+        }
+        $res = $db->autoExecute('servicio', $datos, $accion, $where);
+        if (DB::isError($res)) {
+            return $res;
+        }
+        return true;
     }
     // -X2C
 
-    // +X2C Operation 463
+    // +X2C Operation 456
     /**
-     * @param  DB $db DB de donde cargar los hijos.
+     * @param  DB $db DB de donde borrar.
      *
      * @return PEAR_Error
      * @access public
      */
-    function cargarHijos($db)// ~X2C
+    function borrar($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $servicio = intval($this->servicio);
+        if ($servicio) {
+            $res = $db->query(
+                "DELETE FROM servicio WHERE servicio = $servicio");
+            if (DB::isError($res)) {
+                return $res;
+            }
+            return true;
+        }
+        return PEAR::raiseError("No hay un servicio válido para borrar");
     }
     // -X2C
 
-    // +X2C Operation 465
+    // +X2C Operation 463
     /**
-     * @param  int $servicio ID del servicio.
+     * @param  DB $db DB de donde cargar los hijos.
      *
-     * @return void
+     * @return PEAR_Error
      * @access public
      */
-    function Servicio($servicio = 0)// ~X2C
+    function cargarHijos($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $servicio = intval($this->servicio);
+        $result   = $db->query("SELECT * FROM servicio WHERE servicio_padre = $servicio");
+        if (DB::isError($result)) {
+            return $result;
+        }
+        $this->_hijos = array();
+        $hijo = new Servicio;
+        $err  = $hijo->cargar($result);
+        while (!PEAR::isError($err)) {
+            $this->_hijos[] = $hijo->__clone();
+            $err = $hijo->cargar($result);
+        }
+        // Si no hay mas resultados, entonces terminó bien.
+        if (is_a($err, 'aierror')
+                and $err->getCode() == AIERROR_NO_RESULTADOS) {
+            return true;
+        }
+        // Si no, se devuelve el error.
+        return $err;
     }
     // -X2C
 
@@ -188,9 +284,10 @@ class Servicio {
      */
     function __clone()// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        return $this;
     }
     // -X2C
 
 } // -X2C Class :Servicio
-?>
\ No newline at end of file
+
+?>
index 7725ca8e74e36c04522537e0a760dccdd378d396..746be87feba429f3f7ef048e26f8069284e9f1e4 100644 (file)
@@ -27,8 +27,7 @@
 // $Id$
 //
 
-
-
+require_once 'AIError.php';
 
 // +X2C Class 416 :Sistema
 /**
@@ -77,17 +76,16 @@ class Sistema {
 
     // ~X2C
 
-
-    // +X2C Operation 459
+    // +X2C Operation 466
     /**
-     * @param  DB $db DB donde guardar.
+     * @param  int $sistema ID del sistema.
      *
-     * @return PEAR_Error
+     * @return void
      * @access public
      */
-    function guardar($db)// ~X2C
+    function Sistema($sistema = 0)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $this->sistema = $sistema;
     }
     // -X2C
 
@@ -100,33 +98,94 @@ class Sistema {
      */
     function cargar($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $sistema = intval($this->sistema);
+        if (is_a($db, 'db_result')) {
+            $result = $db;
+        // Si no es un resultado, hago el query.
+        } else {
+            $result = $db->query(
+                "SELECT *
+                    FROM sistema
+                    WHERE sistema = $sistema"
+            );
+            if (DB::isError($result)) {
+                return $result;
+            }
+        }
+        // Obtengo la fila.
+        $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+        if (!$row) {
+            return new AIError(AIERROR_NO_RESULTADOS,
+                "No hay más resultados en la DB [sistema=$sistema]");
+        }
+        // Asigno valores al objeto.
+        extract($row);
+        $this->sistema    = $sistema;
+        $this->icono      = $icono; # FIXME - new HTML_Icono (o no?)
+        $this->link       = $link;
+        $this->linkAyuda  = $link_ayuda;
+        $this->habilitado = $habilitado;
+        return true;
     }
     // -X2C
 
-    // +X2C Operation 461
+    // +X2C Operation 459
     /**
-     * @param  DB $db DB de donde borrar.
+     * @param  DB $db DB donde guardar.
      *
      * @return PEAR_Error
      * @access public
      */
-    function borrar($db)// ~X2C
+    function guardar($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $sistema = intval($this->sistema);
+        $where    = '';
+        $datos    = array(
+            'icono'      => $this->icono,
+            'link'       => $this->link,
+            'link_ayuda' => $this->linkAyuda,
+            'habilitado' => $this->habilitado ? 1 : 0,
+        );
+        if ($sistema) {
+            $accion = DB_AUTOQUERY_UPDATE;
+            $where  = "sistema = $sistema";
+        } else {
+            $accion  = DB_AUTOQUERY_INSERT;
+            $sistema = $db->nextId('sistema');
+            if (DB::isError($sistema)) {
+                return $sistema;
+            }
+            // Asigno el nuevo id de sistema.
+            $this->sistema    = $sistema;
+            $datos['sistema'] = $sistema;
+        }
+        $res = $db->autoExecute('sistema', $datos, $accion, $where);
+        if (DB::isError($res)) {
+            return $res;
+        }
+        return true;
     }
     // -X2C
 
-    // +X2C Operation 466
+    // +X2C Operation 461
     /**
-     * @param  int $sistema ID del sistema.
+     * @param  DB $db DB de donde borrar.
      *
-     * @return void
+     * @return PEAR_Error
      * @access public
      */
-    function Sistema($sistema = 0)// ~X2C
+    function borrar($db)// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        $sistema = intval($this->sistema);
+        if ($sistema) {
+            $res = $db->query(
+                "DELETE FROM sistema WHERE sistema = $sistema");
+            if (DB::isError($res)) {
+                return $res;
+            }
+            return true;
+        }
+        return PEAR::raiseError("No hay un sistema válido para borrar");
     }
     // -X2C
 
@@ -137,9 +196,10 @@ class Sistema {
      */
     function __clone()// ~X2C
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        return $this;
     }
     // -X2C
 
 } // -X2C Class :Sistema
-?>
\ No newline at end of file
+
+?>