]> git.llucax.com Git - mecon/ai.git/commitdiff
- Se crean las versiones iniciales de las clases del modelo.
authorLeandro Lucarella <llucax@gmail.com>
Tue, 24 Jun 2003 23:09:02 +0000 (23:09 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 24 Jun 2003 23:09:02 +0000 (23:09 +0000)
- Se implementa la carga, alta y modificación de grupos de secciones.
- Se hace una prueba para los grupos de secciones.
- Se actualiza el diagrama UML.
- Se corrige la template del xmi2code.
- Se agrega una regla al Makefile para 'limpiar' los backups del código
  generado.

Makefile
doc/uml.xmi
doc/xmi2code.tpl.php
sistema/local_lib/GrupoSecciones.php [new file with mode: 0644]
sistema/local_lib/README [deleted file]
sistema/local_lib/Servicio.php [new file with mode: 0644]
sistema/local_lib/Sistema.php [new file with mode: 0644]
test/grupo_secciones.php [new file with mode: 0644]

index 129f678c8e7429fc51979cb5f10bb404079a1a52..a9ef4978151563eabbc7f23ab17d870dbd11a022 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,5 +6,8 @@
 code:
        @cd doc && xmi2code
 
+code-clean:
+       @find sistema/local_lib -name '*.bak' | xargs rm -fv
+
 clean-readme:
        find -name README | xargs svn rm
index 1ff98e184b383186e1b0f8952aa48932bb4fcd97..bcc38d2f9afff72a5753850b99389ec3306dece9 100644 (file)
@@ -9,61 +9,77 @@
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
-  <docsettings viewid="412" documentation="" uniqueid="449" />
+  <docsettings viewid="412" documentation="" uniqueid="463" />
   <umlobjects>
    <UML:Class stereotype="" package="" xmi.id="413" abstract="0" documentation="" name="Servicio" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="448" type="void" abstract="0" documentation="" name="Servicio" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="428" value="0" type="int" abstract="0" documentation="ID del servicio.
-x2c:get" name="id" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="429" value="''" type="string" abstract="0" documentation="Nombre del servicio.
-x2c:get" name="nombre" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="433" value="''" type="string" abstract="0" documentation="Descripción del servicio.
-x2c:get" name="descripcion" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="430" value="null" type="HTML_Imagen" abstract="0" documentation="Ícono del servicio.
-x2c:get" name="icono" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="431" value="''" type="string" abstract="0" documentation="Enlace a donde el este servicio.
-x2c:get" name="link" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="432" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra la ayuda del servicio.
-x2c:get" name="linkAyuda" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="434" value="false" type="bool" abstract="0" documentation="True si es necesario que el usuario se loguee para usar el servicio.
-x2c:get" name="necesitaLogueo" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="444" value="true" type="bool" abstract="0" documentation="" name="habilitado" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="456" type="bool" abstract="0" documentation="" name="borrar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="DB de donde borrar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="457" type="bool" abstract="0" documentation="" name="cargar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="Base de datos a utilizar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="458" type="bool" abstract="0" documentation="" name="guardar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="DB donde guardar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="463" type="bool" abstract="0" documentation="" name="cargarHijos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="DB de donde cargar los hijos." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="428" value="0" type="int" abstract="0" documentation="ID del servicio." name="servicio" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="452" value="0" type="int" abstract="0" documentation="" name="padre" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="429" value="''" type="string" abstract="0" documentation="Nombre del servicio." name="nombre" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="433" value="''" type="string" abstract="0" documentation="Descripción del servicio." name="descripcion" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="430" value="null" type="HTML_Imagen" abstract="0" documentation="Ícono del servicio." name="icono" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="431" value="''" type="string" abstract="0" documentation="Enlace a donde el este servicio." name="link" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="432" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra la ayuda del servicio." name="linkAyuda" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="434" value="false" type="bool" abstract="0" documentation="True si es necesario que el usuario se loguee para usar el servicio." name="necesitaLogueo" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="444" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
    </UML:Class>
-   <UML:Class stereotype="" package="" xmi.id="414" abstract="0" documentation="" name="GrupoSecciones" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="447" type="void" abstract="0" documentation="" name="GrupoSecciones" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="420" value="0" type="int" abstract="0" documentation="ID del grupo de secciones.
-x2c:get" name="id" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="425" value="''" type="string" abstract="0" documentation="Nombre.
-x2c:get" name="nombre" static="0" scope="202" />
+   <UML:Class stereotype="" package="" xmi.id="414" abstract="0" documentation="Grupo de secciones." name="GrupoSecciones" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="453" type="bool" abstract="0" documentation="" name="cargar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="Base de datos a utilizar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="454" type="bool" abstract="0" documentation="" name="guardar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="DB donde guardar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="455" type="bool" abstract="0" documentation="" name="borrar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="DB de donde borrar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="462" type="bool" abstract="0" documentation="" name="cargarHijos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="DB de donde cargar los hijos." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="420" value="0" type="int" abstract="0" documentation="ID del grupo de secciones." name="groupo" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="425" value="''" type="string" abstract="0" documentation="Nombre." name="nombre" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="450" value="0" type="int" abstract="0" documentation="" name="padre" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="422" value="array()" type="array" abstract="0" documentation="Grupos de secciones que tiene este grupo.
 x2c:get" name="hijos" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="424" value="array()" type="array" abstract="0" documentation="Secciones que pertenecen a este grupo.
-x2c:get" name="secciones" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="426" value="0" type="int" abstract="0" documentation="Antigüedad (en días) de las noticias a mostrar.
-x2c:get" name="antiguedad" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="427" value="false" type="bool" abstract="0" documentation="True si hay que mostrar los grupos hijos (?? FIXME).
-x2c:get" name="mostrarHijos" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="443" value="true" type="bool" abstract="0" documentation="" name="habilitado" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="424" value="array()" type="array" abstract="0" documentation="Secciones que pertenecen a este grupo." name="secciones" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="426" value="0" type="int" abstract="0" documentation="Antigüedad (en días) de las noticias a mostrar." name="antiguedad" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="427" value="false" type="bool" abstract="0" documentation="True si hay que mostrar los grupos hijos (?? FIXME)." name="mostrarHijos" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="443" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
    </UML:Class>
    <UML:Class stereotype="" package="" xmi.id="416" abstract="0" documentation="" name="Sistema" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="449" type="void" abstract="0" documentation="" name="Sistema" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="437" value="0" type="int" abstract="0" documentation="ID del sistema (ID en SAMURAI).
-x2c:get" name="id" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="438" value="null" type="HTML_Imagen" abstract="0" documentation="Ícono del sistema.
-x2c:get" name="icono" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="439" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra el sistema.
-x2c:get" name="link" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="440" value="''" type="string" abstract="0" documentation="Enlace a la ayuda del sistema.
-x2c:get" name="linkAyuda" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="445" value="true" type="bool" abstract="0" documentation="" name="habilitado" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="459" type="bool" abstract="0" documentation="" name="guardar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="DB donde guardar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="460" type="bool" abstract="0" documentation="" name="cargar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="Base de datos a utilizar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="461" type="bool" abstract="0" documentation="" name="borrar" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="DB de donde borrar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="437" value="0" type="int" abstract="0" documentation="ID del sistema (ID en SAMURAI)." name="sistema" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="438" value="null" type="HTML_Imagen" abstract="0" documentation="Ícono del sistema." name="icono" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="439" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra el sistema." name="link" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="440" value="''" type="string" abstract="0" documentation="Enlace a la ayuda del sistema." name="linkAyuda" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="445" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
    </UML:Class>
   </umlobjects>
   <diagrams>
    <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="412" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" font="Helvetica,8,-1,5,50,0,0,0,0,0" linecolor="#ff0000" >
     <widgets>
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="168" showattsigs="601" usesdiagramusefillcolour="0" x="200" linecolour="#ff0000" y="260" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="140" usefillcolor="1" showattributes="1" xmi.id="413" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="156" showattsigs="601" usesdiagramusefillcolour="0" x="20" linecolour="#ff0000" y="260" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="126" usefillcolor="1" showattributes="1" xmi.id="414" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="160" showattsigs="601" usesdiagramusefillcolour="0" x="390" linecolour="#ff0000" y="260" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="98" usefillcolor="1" showattributes="1" xmi.id="416" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="167" showattsigs="601" usesdiagramusefillcolour="0" x="200" linecolour="#ff0000" y="30" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="196" usefillcolor="1" showattributes="1" xmi.id="413" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="163" showattsigs="601" usesdiagramusefillcolour="0" x="20" linecolour="#ff0000" y="30" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="182" usefillcolor="1" showattributes="1" xmi.id="414" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="159" showattsigs="601" usesdiagramusefillcolour="0" x="390" linecolour="#ff0000" y="30" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="126" usefillcolor="1" showattributes="1" xmi.id="416" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
     </widgets>
     <messages/>
     <associations/>
@@ -73,34 +89,44 @@ x2c:get" name="linkAyuda" static="0" scope="202" />
    <listitem open="1" type="800" id="-1" label="Views" >
     <listitem open="1" type="801" id="-1" label="Logical View" >
      <listitem open="0" type="807" id="412" label="Clases" />
-     <listitem open="1" type="813" id="414" label="GrupoSecciones" >
+     <listitem open="0" type="813" id="414" label="GrupoSecciones" >
       <listitem open="0" type="814" id="426" label="antiguedad" />
-      <listitem open="0" type="815" id="447" label="GrupoSecciones" />
+      <listitem open="0" type="815" id="455" label="borrar" />
+      <listitem open="0" type="815" id="453" label="cargar" />
+      <listitem open="0" type="815" id="462" label="cargarHijos" />
+      <listitem open="0" type="814" id="420" label="groupo" />
+      <listitem open="0" type="815" id="454" label="guardar" />
       <listitem open="0" type="814" id="443" label="habilitado" />
       <listitem open="0" type="814" id="422" label="hijos" />
-      <listitem open="0" type="814" id="420" label="id" />
       <listitem open="0" type="814" id="427" label="mostrarHijos" />
       <listitem open="0" type="814" id="425" label="nombre" />
+      <listitem open="0" type="814" id="450" label="padre" />
       <listitem open="0" type="814" id="424" label="secciones" />
      </listitem>
-     <listitem open="1" type="813" id="413" label="Servicio" >
+     <listitem open="0" type="813" id="413" label="Servicio" >
+      <listitem open="0" type="815" id="456" label="borrar" />
+      <listitem open="0" type="815" id="457" label="cargar" />
+      <listitem open="0" type="815" id="463" label="cargarHijos" />
       <listitem open="0" type="814" id="433" label="descripcion" />
+      <listitem open="0" type="815" id="458" label="guardar" />
       <listitem open="0" type="814" id="444" label="habilitado" />
       <listitem open="0" type="814" id="430" label="icono" />
-      <listitem open="0" type="814" id="428" label="id" />
       <listitem open="0" type="814" id="431" label="link" />
       <listitem open="0" type="814" id="432" label="linkAyuda" />
       <listitem open="0" type="814" id="434" label="necesitaLogueo" />
       <listitem open="0" type="814" id="429" label="nombre" />
-      <listitem open="0" type="815" id="448" label="Servicio" />
+      <listitem open="0" type="814" id="452" label="padre" />
+      <listitem open="0" type="814" id="428" label="servicio" />
      </listitem>
-     <listitem open="1" type="813" id="416" label="Sistema" >
+     <listitem open="0" type="813" id="416" label="Sistema" >
+      <listitem open="0" type="815" id="461" label="borrar" />
+      <listitem open="0" type="815" id="460" label="cargar" />
+      <listitem open="0" type="815" id="459" label="guardar" />
       <listitem open="0" type="814" id="445" label="habilitado" />
       <listitem open="0" type="814" id="438" label="icono" />
-      <listitem open="0" type="814" id="437" label="id" />
       <listitem open="0" type="814" id="439" label="link" />
       <listitem open="0" type="814" id="440" label="linkAyuda" />
-      <listitem open="0" type="815" id="449" label="Sistema" />
+      <listitem open="0" type="814" id="437" label="sistema" />
      </listitem>
     </listitem>
     <listitem open="1" type="802" id="-1" label="Use Case View" />
index 23d841bc81ae34f15128ed18564d556cc55968a8..eea3564351f2653f4b08819826fa19d8a6d18324 100644 (file)
@@ -20,9 +20,9 @@
 // | along with Hooks; if not, write to the Free Software Foundation,   |
 // | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
 // +--------------------------------------------------------------------+
-// | Creado: @@date                                                     |
+// | Creado: @@date                                   |
 // | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
 // +--------------------------------------------------------------------+
 //
 // $Id$
-//
\ No newline at end of file
+//
diff --git a/sistema/local_lib/GrupoSecciones.php b/sistema/local_lib/GrupoSecciones.php
new file mode 100644 (file)
index 0000000..1e8e63c
--- /dev/null
@@ -0,0 +1,236 @@
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// |                      Ministerio de Economía                        |
+// |                  AI (Administrador de Intranet)                    |
+// +--------------------------------------------------------------------+
+// | This file is part of AI.                                           |
+// |                                                                    |
+// | AI is free software; you can redistribute it and/or modify         |
+// | it under the terms of the GNU General Public License as published  |
+// | by the Free Software Foundation; either version 2 of the License,  |
+// | or (at your option) any later version.                             |
+// |                                                                    |
+// | AI is distributed in the hope that it will be useful, but          |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of         |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
+// | General Public License for more details.                           |
+// |                                                                    |
+// | You should have received a copy of the GNU General Public License  |
+// | along with Hooks; if not, write to the Free Software Foundation,   |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
+// +--------------------------------------------------------------------+
+// | Creado: Tue Jun 24 16:22:07 2003                                   |
+// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
+// +--------------------------------------------------------------------+
+//
+// $Id$
+//
+
+// +X2C Class 414 :GrupoSecciones
+/**
+ * Grupo de secciones.
+ *
+ * @access public
+ */
+class GrupoSecciones {
+    /**
+     * ID del grupo de secciones.
+     *
+     * @var    int $groupo
+     * @access public
+     */
+    var $groupo = 0;
+
+    /**
+     * Nombre.
+     *
+     * @var    string $nombre
+     * @access public
+     */
+    var $nombre = '';
+
+    /**
+     * @var    int $padre
+     * @access public
+     */
+    var $padre = 0;
+
+    /**
+     * Grupos de secciones que tiene este grupo.
+     *
+     * @var    array $hijos
+     * @access protected
+     */
+    var $_hijos = array();
+
+    /**
+     * Secciones que pertenecen a este grupo.
+     *
+     * @var    array $secciones
+     * @access public
+     */
+    var $secciones = array();
+
+    /**
+     * Antigedad (en d?s) de las noticias a mostrar.
+     *
+     * @var    int $antiguedad
+     * @access public
+     */
+    var $antiguedad = 0;
+
+    /**
+     * True si hay que mostrar los grupos hijos (?? FIXME).
+     *
+     * @var    bool $mostrarHijos
+     * @access public
+     */
+    var $mostrarHijos = false;
+
+    /**
+     * Indica si esta habilitado.
+     *
+     * @var    bool $habilitado
+     * @access public
+     */
+    var $habilitado = true;
+
+    /**
+     * Gets Hijos.
+     *
+     * @return array
+     * @access public
+     */
+    function getHijos()
+    {
+        return $this->_hijos;
+    }
+
+    // ~X2C
+
+
+    // +X2C Operation 453
+    /**
+     * @param  DB &$db Base de datos a utilizar.
+     *
+     * @return bool
+     * @access public
+     */
+    function cargar(&$db)// ~X2C
+    {
+        $data = $db->getRow(
+            "SELECT *
+                FROM grupo_secciones
+                WHERE grupo = {$this->grupo}",
+            array(),
+            DB_FETCHMODE_ASSOC
+        );
+        if (DB::isError($data)) {
+            return $data;
+        } elseif (!$data) {
+            return PEAR::raiseError("No existe el grupo {$this->grupo} en la DB");
+        } else {
+            extract($data);
+            $this->grupo        = $grupo;
+            $this->nombre       = $nombre;
+            $this->padre        = $grupo_padre;
+            $this->antiguedad   = $antiguedad;
+            $this->mostrarHijos = $mostrar_hijos;
+            $data = $db->getCol(
+                "SELECT seccion
+                    FROM grupo_secciones_seccion
+                    WHERE grupo = {$this->grupo}"
+            );
+            if (DB::isError($data)) {
+                return $data;
+            } else {
+                if ($data) {
+                    $this->secciones = $data;
+                } else {
+                    $this->secciones = array();
+                }
+            }
+            return true;
+        }
+    }
+    // -X2C
+
+    // +X2C Operation 454
+    /**
+     * @param  DB &$db DB donde guardar.
+     *
+     * @return bool
+     * @access public
+     */
+    function guardar(&$db)// ~X2C
+    {
+        $grupo = intval($this->grupo);
+        $where = '';
+        $datos = array(
+            'grupo_padre'   => intval($this->padre),
+            'nombre'        => $this->nombre,
+            'habilitado'    => $this->habilitado ? 1 : 0,
+            'antiguedad'    => intval($this->antiguedad),
+            'mostrar_hijos' => $this->mostrar_hijos ? 1 : 0,
+        );
+        if ($grupo) {
+            $accion = DB_AUTOQUERY_UPDATE;
+            $where  = "grupo = $grupo";
+        } else {
+            $accion = DB_AUTOQUERY_INSERT;
+            $grupo = $db->nextId('grupo_secciones');
+            $datos['grupo'] = $grupo;
+            echo "$group\n";
+        }
+        $res = $db->autoExecute('grupo_secciones', $datos, $accion, $where);
+        if (DB::isError($res)) {
+            return $res;
+        }
+        // Falta actualización de secciones.
+        $res = $db->query("DELETE FROM grupo_secciones_seccion WHERE grupo = $grupo");
+        if (DB::isError($res)) {
+            return $res;
+        }
+        $prepare = $db->prepare("INSERT INTO grupo_secciones_seccion
+            (grupo, seccion) VALUES ($grupo, ?)");
+        if (DB::isError($prepare)) {
+            return $prepare;
+        }
+        $res = $db->executeMultiple($prepare, $this->secciones);
+        if (DB::isError($res)) {
+            return $res;
+        }
+        return true;
+    }
+    // -X2C
+
+    // +X2C Operation 455
+    /**
+     * @param  int $db DB de donde borrar.
+     *
+     * @return bool
+     * @access public
+     */
+    function borrar($db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+    // +X2C Operation 462
+    /**
+     * @param  DB &$db DB de donde cargar los hijos.
+     *
+     * @return bool
+     * @access public
+     */
+    function cargarHijos(&$db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+} // -X2C Class :GrupoSecciones
+
+?>
\ No newline at end of file
diff --git a/sistema/local_lib/README b/sistema/local_lib/README
deleted file mode 100644 (file)
index 929b89c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Descripción de los directorios:
-===============================
-
-$Id$
-
-Librerías locales del sistema (sólo para uso interno).
-
diff --git a/sistema/local_lib/Servicio.php b/sistema/local_lib/Servicio.php
new file mode 100644 (file)
index 0000000..8df6c9e
--- /dev/null
@@ -0,0 +1,164 @@
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// |                      Ministerio de Economía                        |
+// |                  AI (Administrador de Intranet)                    |
+// +--------------------------------------------------------------------+
+// | This file is part of AI.                                           |
+// |                                                                    |
+// | AI is free software; you can redistribute it and/or modify         |
+// | it under the terms of the GNU General Public License as published  |
+// | by the Free Software Foundation; either version 2 of the License,  |
+// | or (at your option) any later version.                             |
+// |                                                                    |
+// | AI is distributed in the hope that it will be useful, but          |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of         |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
+// | General Public License for more details.                           |
+// |                                                                    |
+// | You should have received a copy of the GNU General Public License  |
+// | along with Hooks; if not, write to the Free Software Foundation,   |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
+// +--------------------------------------------------------------------+
+// | Creado: Tue Jun 24 16:22:07 2003                                   |
+// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
+// +--------------------------------------------------------------------+
+//
+// $Id$
+//
+
+
+
+
+// +X2C Class 413 :Servicio
+/**
+ * @access public
+ */
+class Servicio {
+    /**
+     * ID del servicio.
+     *
+     * @var    int $servicio
+     * @access public
+     */
+    var $servicio = 0;
+
+    /**
+     * @var    int $padre
+     * @access public
+     */
+    var $padre = 0;
+
+    /**
+     * Nombre del servicio.
+     *
+     * @var    string $nombre
+     * @access public
+     */
+    var $nombre = '';
+
+    /**
+     * Descripcin del servicio.
+     *
+     * @var    string $descripcion
+     * @access public
+     */
+    var $descripcion = '';
+
+    /**
+     * ?ono del servicio.
+     *
+     * @var    HTML_Imagen $icono
+     * @access public
+     */
+    var $icono = null;
+
+    /**
+     * Enlace a donde el este servicio.
+     *
+     * @var    string $link
+     * @access public
+     */
+    var $link = '';
+
+    /**
+     * Enlace a donde se encuentra la ayuda del servicio.
+     *
+     * @var    string $linkAyuda
+     * @access public
+     */
+    var $linkAyuda = '';
+
+    /**
+     * True si es necesario que el usuario se loguee para usar el servicio.
+     *
+     * @var    bool $necesitaLogueo
+     * @access public
+     */
+    var $necesitaLogueo = false;
+
+    /**
+     * Indica si esta habilitado.
+     *
+     * @var    bool $habilitado
+     * @access public
+     */
+    var $habilitado = true;
+
+    // ~X2C
+
+
+    // +X2C Operation 456
+    /**
+     * @param  int $db DB de donde borrar.
+     *
+     * @return bool
+     * @access public
+     */
+    function borrar($db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+    // +X2C Operation 457
+    /**
+     * @param  DB &$db Base de datos a utilizar.
+     *
+     * @return bool
+     * @access public
+     */
+    function cargar(&$db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+    // +X2C Operation 458
+    /**
+     * @param  DB &$db DB donde guardar.
+     *
+     * @return bool
+     * @access public
+     */
+    function guardar(&$db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+    // +X2C Operation 463
+    /**
+     * @param  DB &$db DB de donde cargar los hijos.
+     *
+     * @return bool
+     * @access public
+     */
+    function cargarHijos(&$db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+} // -X2C Class :Servicio
+?>
\ No newline at end of file
diff --git a/sistema/local_lib/Sistema.php b/sistema/local_lib/Sistema.php
new file mode 100644 (file)
index 0000000..552d5f3
--- /dev/null
@@ -0,0 +1,121 @@
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// |                      Ministerio de Economía                        |
+// |                  AI (Administrador de Intranet)                    |
+// +--------------------------------------------------------------------+
+// | This file is part of AI.                                           |
+// |                                                                    |
+// | AI is free software; you can redistribute it and/or modify         |
+// | it under the terms of the GNU General Public License as published  |
+// | by the Free Software Foundation; either version 2 of the License,  |
+// | or (at your option) any later version.                             |
+// |                                                                    |
+// | AI is distributed in the hope that it will be useful, but          |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of         |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
+// | General Public License for more details.                           |
+// |                                                                    |
+// | You should have received a copy of the GNU General Public License  |
+// | along with Hooks; if not, write to the Free Software Foundation,   |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
+// +--------------------------------------------------------------------+
+// | Creado: Tue Jun 24 16:22:07 2003                                   |
+// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
+// +--------------------------------------------------------------------+
+//
+// $Id$
+//
+
+
+
+
+// +X2C Class 416 :Sistema
+/**
+ * @access public
+ */
+class Sistema {
+    /**
+     * ID del sistema (ID en SAMURAI).
+     *
+     * @var    int $sistema
+     * @access public
+     */
+    var $sistema = 0;
+
+    /**
+     * ?ono del sistema.
+     *
+     * @var    HTML_Imagen $icono
+     * @access public
+     */
+    var $icono = null;
+
+    /**
+     * Enlace a donde se encuentra el sistema.
+     *
+     * @var    string $link
+     * @access public
+     */
+    var $link = '';
+
+    /**
+     * Enlace a la ayuda del sistema.
+     *
+     * @var    string $linkAyuda
+     * @access public
+     */
+    var $linkAyuda = '';
+
+    /**
+     * Indica si esta habilitado.
+     *
+     * @var    bool $habilitado
+     * @access public
+     */
+    var $habilitado = true;
+
+    // ~X2C
+
+
+    // +X2C Operation 459
+    /**
+     * @param  DB &$db DB donde guardar.
+     *
+     * @return bool
+     * @access public
+     */
+    function guardar(&$db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+    // +X2C Operation 460
+    /**
+     * @param  DB &$db Base de datos a utilizar.
+     *
+     * @return bool
+     * @access public
+     */
+    function cargar(&$db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+    // +X2C Operation 461
+    /**
+     * @param  int $db DB de donde borrar.
+     *
+     * @return bool
+     * @access public
+     */
+    function borrar($db)// ~X2C
+    {
+        trigger_error('Not implemented!', E_USER_WARNING);
+    }
+    // -X2C
+
+} // -X2C Class :Sistema
+?>
\ No newline at end of file
diff --git a/test/grupo_secciones.php b/test/grupo_secciones.php
new file mode 100644 (file)
index 0000000..b788713
--- /dev/null
@@ -0,0 +1,35 @@
+<?
+
+require_once 'DB.php';
+require_once '../sistema/local_lib/GrupoSecciones.php';
+
+$db =& DB::connect('mysql://intranet:intranet@bal747f/intranet');
+
+if (DB::isError($db)) {
+    var_dump($db);
+    exit;
+}
+
+$grupo =& new GrupoSecciones;
+
+$grupo->grupo = 3;
+$err =& $grupo->cargar($db);
+if (PEAR::isError($err)) {
+    var_dump($err);
+} else {
+    var_dump($grupo);
+}
+
+echo "\n\n\nAlta:\n";
+
+// Alta.
+$grupo->grupo = 0;
+$grupo->secciones = array(1, 4, 6, 8);
+$err = $grupo->guardar($db);
+if (PEAR::isError($err)) {
+    var_dump($err);
+} else {
+    var_dump($err);
+}
+
+?>