]> git.llucax.com Git - mecon/ai.git/commitdiff
- Se pasan las librerias de locales a generales.
authorLeandro Lucarella <llucax@gmail.com>
Mon, 7 Jul 2003 23:38:44 +0000 (23:38 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Mon, 7 Jul 2003 23:38:44 +0000 (23:38 +0000)
- Se eliminan el .htaccess, prepend.php, sistema.php, noticias.php,
  servicios.php porque ahora todo está hecho en el index.php.
- Se hace una primera implementación de la obtencion de la lista de
  sistemas del SAMURAI.
- Se arreglan BUGs.
- Se crean nuevos BUGs.

16 files changed:
Makefile
doc/uml.xmi
doc/xmi2code.config
lib/AI/DB.php [moved from sistema/local_lib/AIDB.php with 79% similarity]
lib/AI/Error.php [moved from sistema/local_lib/AIError.php with 92% similarity]
lib/AI/Form.php [moved from sistema/local_lib/AIForm.php with 78% similarity]
lib/AI/GrupoSecciones.php [moved from sistema/local_lib/GrupoSecciones.php with 95% similarity]
lib/AI/Servicio.php [moved from sistema/local_lib/Servicio.php with 96% similarity]
lib/AI/Sistema.php [moved from sistema/local_lib/Sistema.php with 94% similarity]
sistema/conf/DB.ini [moved from sistema/conf/AIDB.ini with 100% similarity]
sistema/local_lib/prepend.php [deleted file]
sistema/www/.htaccess [deleted file]
sistema/www/index.php
sistema/www/noticias.php [deleted file]
sistema/www/servicios.php [deleted file]
sistema/www/sistemas.php [deleted file]

index a9ef4978151563eabbc7f23ab17d870dbd11a022..2279eedb5613a383673ce410343798f858836229 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ code:
        @cd doc && xmi2code
 
 code-clean:
-       @find sistema/local_lib -name '*.bak' | xargs rm -fv
+       @find lib -name '*.bak' | xargs rm -fv
 
 clean-readme:
        find -name README | xargs svn rm
index 6b1092cde844d559b1c30fa96aa429e266a2b629..01bdac0251156702d757293474a7ef24a1b985a3 100644 (file)
@@ -9,10 +9,10 @@
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
-  <docsettings viewid="412" documentation="" uniqueid="510" />
+  <docsettings viewid="412" documentation="" uniqueid="511" />
   <umlobjects>
-   <UML:Class stereotype="" package="" xmi.id="413" abstract="0" documentation="Servicio." name="Servicio" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="465" type="void" abstract="0" documentation="" name="Servicio" static="0" scope="200" >
+   <UML:Class stereotype="" package="AI" xmi.id="413" abstract="0" documentation="Servicio." name="AI_Servicio" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="465" type="void" abstract="0" documentation="" name="AI_Servicio" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="ID del servicio." name="servicio" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="457" type="PEAR_Error" abstract="0" documentation="" name="cargar" static="0" scope="200" >
@@ -40,8 +40,8 @@ x2c:get" name="hijos" 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." name="necesita_logueo" 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="416" abstract="0" documentation="Sistema." name="Sistema" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="466" type="void" abstract="0" documentation="" name="Sistema" static="0" scope="200" >
+   <UML:Class stereotype="" package="AI" xmi.id="416" abstract="0" documentation="Sistema." name="AI_Sistema" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="466" type="void" abstract="0" documentation="" name="AI_Sistema" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="ID del sistema." name="sistema" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="460" type="PEAR_Error" abstract="0" documentation="" name="cargar" static="0" scope="200" >
@@ -60,16 +60,16 @@ x2c:get" name="hijos" static="0" scope="202" />
     <UML:Attribute stereotype="" package="" xmi.id="440" value="''" type="string" abstract="0" documentation="Enlace a la ayuda del sistema." name="link_ayuda" 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>
-   <UML:Class stereotype="" package="" xmi.id="469" abstract="0" documentation="" name="AIError" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="470" type="void" abstract="0" documentation="" name="AIError" static="0" scope="200" >
+   <UML:Class stereotype="" package="" xmi.id="469" abstract="0" documentation="" name="AI_Error" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="470" type="void" abstract="0" documentation="" name="AI_Error" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Código de error." name="codigo" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Mensaje para mostrar" name="mensaje" static="0" scope="200" />
     </UML:Operation>
    </UML:Class>
    <UML:Class stereotype="" package="" xmi.id="471" abstract="0" documentation="x2c:extern
 x2c:include: PEAR.php" name="PEAR_Error" static="0" scope="200" />
-   <UML:Class stereotype="" package="" xmi.id="486" abstract="0" documentation="Grupo de secciones." name="GrupoSecciones" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="495" type="void" abstract="0" documentation="" name="GrupoSecciones" static="0" scope="200" >
+   <UML:Class stereotype="" package="AI" xmi.id="486" abstract="0" documentation="Grupo de secciones." name="AI_GrupoSecciones" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="495" type="void" abstract="0" documentation="" name="AI_GrupoSecciones" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="ID del grupo." name="grupo" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="496" type="PEAR_Error" abstract="0" documentation="" name="cargar" static="0" scope="200" >
@@ -95,11 +95,16 @@ x2c:get" name="hijos" static="0" scope="202" />
     <UML:Attribute stereotype="" package="" xmi.id="493" value="false" type="bool" abstract="0" documentation="True si hay que mostrar los grupos hijos (?? FIXME)." name="mostrar_hijos" static="0" scope="200" />
     <UML:Attribute stereotype="" package="" xmi.id="494" 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="503" abstract="0" documentation="Base de datos del Administrador de Intranet." name="AIDB" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="506" type="&amp;mixed" abstract="0" documentation="" name="connect" static="0" scope="200" />
+   <UML:Class stereotype="" package="" xmi.id="503" abstract="0" documentation="Base de datos del Administrador de Intranet." name="AI_DB" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="506" type="&amp;mixed" abstract="0" documentation="" name="connect" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="string" abstract="0" documentation="Archivo de configuración de la base de datos." name="confFile" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="511" type="bool" abstract="0" documentation="Verifica si un objeto es un error." name="isError" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Variable a chequear si es un error." name="var" static="0" scope="200" />
+    </UML:Operation>
    </UML:Class>
    <UML:Class stereotype="" package="" xmi.id="504" abstract="0" documentation="x2c:extern" name="DB" static="0" scope="200" />
-   <UML:Class stereotype="" package="" xmi.id="507" abstract="0" documentation="Formularios para el Administrador de Intranet." name="AIForm" static="0" scope="200" >
+   <UML:Class stereotype="" package="" xmi.id="507" abstract="0" documentation="Formularios para el Administrador de Intranet." name="AI_Form" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="509" type="void" abstract="0" documentation="Construye un formulario para el objecto especificado." name="iniciar" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="&amp;object" abstract="0" documentation="Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="5" value="ALTA" type="int" abstract="0" documentation="Accion que realizará el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION." name="accion" static="0" scope="200" />
@@ -108,39 +113,39 @@ x2c:get" name="hijos" static="0" scope="202" />
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Objeto a llenar con los datos del formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
     </UML:Operation>
    </UML:Class>
-   <UML:Class stereotype="" package="MECON/HTML" xmi.id="508" abstract="0" documentation="x2c:extern" name="QuickForm" static="0" scope="200" />
+   <UML:Class stereotype="" package="" xmi.id="508" abstract="0" documentation="x2c:extern" name="MECON_HTML_QuickForm" static="0" scope="200" />
   </umlobjects>
   <diagrams>
    <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="0" 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="193" showattsigs="601" usesdiagramusefillcolour="0" x="270" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="238" 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="184" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="250" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="154" 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="256" showattsigs="601" usesdiagramusefillcolour="0" x="233" linecolour="#ff0000" y="347" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="469" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="73" showattsigs="601" usesdiagramusefillcolour="0" x="325" linecolour="#ff0000" y="273" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="471" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="211" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="210" usefillcolor="1" showattributes="1" xmi.id="486" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="117" showattsigs="601" usesdiagramusefillcolour="0" x="57" linecolour="#ff0000" y="481" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="503" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="46" showattsigs="601" usesdiagramusefillcolour="0" x="92" linecolour="#ff0000" y="418" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="504" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="254" showattsigs="601" usesdiagramusefillcolour="0" x="233" linecolour="#ff0000" y="467" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" usefillcolor="1" showattributes="1" xmi.id="507" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="66" showattsigs="601" usesdiagramusefillcolour="0" x="327" linecolour="#ff0000" y="399" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="508" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="199" showattsigs="601" usesdiagramusefillcolour="0" x="270" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="238" 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="201" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="250" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="154" 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="262" showattsigs="601" usesdiagramusefillcolour="0" x="243" linecolour="#ff0000" y="347" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="469" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="73" showattsigs="601" usesdiagramusefillcolour="0" x="338" linecolour="#ff0000" y="273" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="24" usefillcolor="1" showattributes="0" xmi.id="471" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="228" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="210" usefillcolor="1" showattributes="1" xmi.id="486" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="192" showattsigs="601" usesdiagramusefillcolour="0" x="309" linecolour="#ff0000" y="480" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" usefillcolor="1" showattributes="1" xmi.id="503" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="46" showattsigs="601" usesdiagramusefillcolour="0" x="382" linecolour="#ff0000" y="417" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="24" usefillcolor="1" showattributes="0" xmi.id="504" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="254" showattsigs="601" usesdiagramusefillcolour="0" x="29" linecolour="#ff0000" y="481" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" usefillcolor="1" showattributes="1" xmi.id="507" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="146" showattsigs="601" usesdiagramusefillcolour="0" x="83" linecolour="#ff0000" y="416" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#dcdcdc" height="24" usefillcolor="1" showattributes="0" xmi.id="508" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
     </widgets>
     <messages/>
     <associations>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="471" widgetaid="469" documentation="" type="500" >
       <linepath>
-       <startpoint startx="361" starty="347" />
-       <endpoint endx="361" endy="297" />
+       <startpoint startx="374" starty="347" />
+       <endpoint endx="374" endy="297" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="508" widgetaid="507" documentation="" type="500" >
       <linepath>
-       <startpoint startx="115" starty="481" />
-       <endpoint endx="115" endy="442" />
+       <startpoint startx="156" starty="481" />
+       <endpoint endx="156" endy="440" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="508" widgetaid="507" documentation="" type="500" >
+     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
       <linepath>
-       <startpoint startx="360" starty="467" />
-       <endpoint endx="360" endy="423" />
+       <startpoint startx="405" starty="480" />
+       <endpoint endx="405" endy="441" />
       </linepath>
      </UML:AssocWidget>
     </associations>
@@ -150,17 +155,18 @@ x2c:get" name="hijos" 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="1" type="803" id="-1" label="AI" >
-      <listitem open="0" type="813" id="503" label="AIDB" >
+      <listitem open="0" type="813" id="503" label="AI_DB" >
        <listitem open="0" type="815" id="506" label="connect" />
+       <listitem open="0" type="815" id="511" label="isError" />
       </listitem>
-      <listitem open="0" type="813" id="469" label="AIError" >
-       <listitem open="0" type="815" id="470" label="AIError" />
+      <listitem open="0" type="813" id="469" label="AI_Error" >
+       <listitem open="0" type="815" id="470" label="AI_Error" />
       </listitem>
-      <listitem open="0" type="813" id="507" label="AIForm" >
+      <listitem open="0" type="813" id="507" label="AI_Form" >
        <listitem open="0" type="815" id="509" label="iniciar" />
        <listitem open="0" type="815" id="510" label="llenarObjeto" />
       </listitem>
-      <listitem open="0" type="813" id="486" label="GrupoSecciones" >
+      <listitem open="0" type="813" id="486" label="AI_GrupoSecciones" >
        <listitem open="0" type="814" id="492" label="antiguedad" />
        <listitem open="0" type="815" id="498" label="borrar" />
        <listitem open="0" type="815" id="496" label="cargar" />
@@ -168,7 +174,7 @@ x2c:get" name="hijos" static="0" scope="202" />
        <listitem open="0" type="815" id="500" label="__clone" />
        <listitem open="0" type="814" id="487" label="grupo" />
        <listitem open="0" type="814" id="489" label="grupo_padre" />
-       <listitem open="0" type="815" id="495" label="GrupoSecciones" />
+       <listitem open="0" type="815" id="495" label="AI_GrupoSecciones" />
        <listitem open="0" type="815" id="497" label="guardar" />
        <listitem open="0" type="814" id="494" label="habilitado" />
        <listitem open="0" type="814" id="490" label="hijos" />
@@ -176,7 +182,7 @@ x2c:get" name="hijos" static="0" scope="202" />
        <listitem open="0" type="814" id="488" label="nombre" />
        <listitem open="0" type="814" id="491" label="secciones" />
       </listitem>
-      <listitem open="0" type="813" id="413" label="Servicio" >
+      <listitem open="0" type="813" id="413" label="AI_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" />
@@ -191,10 +197,10 @@ x2c:get" name="hijos" static="0" scope="202" />
        <listitem open="0" type="814" id="434" label="necesita_logueo" />
        <listitem open="0" type="814" id="429" label="nombre" />
        <listitem open="0" type="814" id="428" label="servicio" />
-       <listitem open="0" type="815" id="465" label="Servicio" />
+       <listitem open="0" type="815" id="465" label="AI_Servicio" />
        <listitem open="0" type="814" id="452" label="servicio_padre" />
       </listitem>
-      <listitem open="0" type="813" id="416" label="Sistema" >
+      <listitem open="0" type="813" id="416" label="AI_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="502" label="__clone" />
@@ -204,14 +210,14 @@ x2c:get" name="hijos" static="0" scope="202" />
        <listitem open="0" type="814" id="439" label="link" />
        <listitem open="0" type="814" id="440" label="link_ayuda" />
        <listitem open="0" type="814" id="437" label="sistema" />
-       <listitem open="0" type="815" id="466" label="Sistema" />
+       <listitem open="0" type="815" id="466" label="AI_Sistema" />
       </listitem>
      </listitem>
      <listitem open="0" type="807" id="412" label="Clases" />
      <listitem open="0" type="803" id="-1" label="Externo" >
       <listitem open="1" type="813" id="504" label="DB" />
       <listitem open="0" type="813" id="471" label="PEAR_Error" />
-      <listitem open="1" type="813" id="508" label="QuickForm" />
+      <listitem open="1" type="813" id="508" label="MECON_HTML_QuickForm" />
      </listitem>
     </listitem>
     <listitem open="1" type="802" id="-1" label="Use Case View" />
index 048c33ff293366a7494696f3cabd0064b1a97426..b937425c398e9e230b1b9038e6ac6d8d1ed40218 100644 (file)
   <option key="config-file" value="xmi2code.config"/>
   <option key="config-file-set" value="false"/>
   <option key="handler" value="umbrello"/>
-  <option key="generator-path" value="../sistema/local_lib"/>
-  <option key="use-package-as-dir" value="true"/>
+  <option key="generator-path" value="../lib"/>
+  <option key="use-package-as-dir" value="false"/>
+  <option key="use-underscores-as-dirs" value="true"/>
   <option key="indent" value="    "/>
   <option key="files-case" value="preserve"/>
   <option key="generator" value="php.pear"/>
   <option key="template-path" value="."/>
   <option key="php.template" value="xmi2code.tpl.php"/>
   <option key="php.default-code" value="trigger_error('Not implemented!', E_USER_WARNING);"/>
-  <option key="php.pear.use-package-in-classnames" value="true"/>
+  <option key="php.pear.use-package-in-classnames" value="false"/>
   <option key="php.pear.underscore-in-nonpublic" value="true"/>
 </xmi2code>
similarity index 79%
rename from sistema/local_lib/AIDB.php
rename to lib/AI/DB.php
index 82d07c768c6399e4d44e0526562d63a7ffc07c3c..cd66f1d6c42da03fd8ce23adb09200de406d5ee0 100644 (file)
 require_once 'DB.php';
 // ~X2C
 
-// +X2C Class 503 :AIDB
+// +X2C Class 503 :AI_DB
 /**
  * Base de datos del Administrador de Intranet.
  *
  * @access public
  */
-class AIDB extends DB {
+class AI_DB extends DB {
     // ~X2C
 
     // +X2C Operation 506
     /**
+     * @param  string $confFile Archivo de configuracin de la base de datos.
+     *
      * @return &mixed
      * @access public
      */
-    function &connect() // ~X2C
+    function &connect($confFile) // ~X2C
     {
-        $conf = parse_ini_file(dirname(__FILE__) . '/../conf/AIDB.ini', true);
+        $conf = parse_ini_file($confFile, true);
         return DB::connect($conf['dsn'], $conf['opciones']);
     }
     // -X2C
 
-} // -X2C Class :AIDB
+    // +X2C Operation 511
+    /**
+     * Verifica si un objeto es un error.
+     *
+     * @param  mixed &$var Variable a chequear si es un error.
+     *
+     * @return bool
+     * @access public
+     */
+    function isError(&$var) // ~X2C
+    {
+        return is_a($var, 'ai_error');
+    }
+    // -X2C
+
+} // -X2C Class :AI_DB
 
-?>
\ No newline at end of file
+?>
similarity index 92%
rename from sistema/local_lib/AIError.php
rename to lib/AI/Error.php
index 71d4e786af573c526d4823862330efd141e46fbf..b4a221a977492a96253b438bbd0d9e0f1aa2c304 100644 (file)
@@ -37,13 +37,13 @@ require_once 'PEAR.php';
  * Es un error esperado y poco grave que sucede cada vez que se itera
  * sobre un resultado de una base de datos.
  */
-define('AIERROR_NO_RESULTADOS', 1);
+define('AI_ERROR_NO_RESULTADOS', 1);
 
-// +X2C Class 469 :AIError
+// +X2C Class 469 :AI_Error
 /**
  * @access public
  */
-class AIError extends PEAR_Error {
+class AI_Error extends PEAR_Error {
     // ~X2C
 
     // +X2C Operation 470
@@ -54,12 +54,12 @@ class AIError extends PEAR_Error {
      * @return void
      * @access public
      */
-    function AIError($codigo, $mensaje = '') // ~X2C
+    function AI_Error($codigo, $mensaje = '') // ~X2C
     {
         $this->PEAR_Error($mensaje, $codigo);
     }
     // -X2C
 
-} // -X2C Class :AIError
+} // -X2C Class :AI_Error
 
 ?>
\ No newline at end of file
similarity index 78%
rename from sistema/local_lib/AIForm.php
rename to lib/AI/Form.php
index e931aa5ad99e1b0f94549ad73952bbbc644da4ce..5cc482e6f7b6cac818c9375289415c2d88a183bc 100644 (file)
@@ -32,17 +32,17 @@ require_once 'MECON/HTML/QuickForm.php';
 // ~X2C
 
 // Definicion de acciones.
-define('ALTA',          1);
-define('BAJA',          2);
-define('MODIFICACION',  4);
+define('AI_ALTA',   1);
+define('AI_BAJA',   2);
+define('AI_MODIF',  4);
 
-// +X2C Class 507 :AIForm
+// +X2C Class 507 :AI_Form
 /**
  * Formularios para el Administrador de Intranet.
  *
  * @access public
  */
-class AIForm extends MECON_HTML_QuickForm {
+class AI_Form extends MECON_HTML_QuickForm {
     // ~X2C
 
     // +X2C Operation 509
@@ -50,42 +50,50 @@ class AIForm extends MECON_HTML_QuickForm {
      * Construye un formulario para el objecto especificado.
      *
      * @param  object &$obj Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema.
-     * @param  int $accion Accion que realizar?el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION.
+     * @param  int $accion Accion que realizar?el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIF.
      *
      * @return void
      * @access public
      */
-    function iniciar(&$obj, $accion = ALTA) // ~X2C
+    function iniciar(&$obj, $accion = AI_ALTA) // ~X2C
     {
-        $clase   = get_class($obj);
-        $tipo    = $clase;
-        $s_clase = ucfirst($clase);
-        if ($clase == 'gruposecciones') {
-            $tipo    = 'grupo';
-            $s_clase = 'Grupo de Secciones';
+        $tipo   = substr(get_class($obj), 3);
+        $s_tipo = ucfirst($tipo);
+        if ($tipo == 'gruposecciones') {
+            $tipo   = 'grupo';
+            $s_tipo = 'Grupo de Secciones';
         }
         $padre = $tipo.'_padre';
         switch ($accion) {
-            case BAJA:
+            case AI_BAJA:
                 $s_accion = 'Borrar';
                 break;
-            case MODIFICACION:
+            case AI_MODIF:
                 $s_accion = 'Modificar';
                 break;
             default:
-                $accion   = ALTA;
+                $accion   = AI_ALTA;
                 $s_accion = 'Agregar';
         }
         // Construyo con el padre y seteos generales.
         $this->setRendererOpts(array('width' => '400'));
-        $this->addElement('header','cabecera', $s_accion . ' ' . $s_clase);
+        $this->addElement('header','cabecera', $s_accion . ' ' . $s_tipo);
         // Elementos.
-        if ($accion & (BAJA | MODIFICACION)) {
-            $fId =& $this->addElement('text', $tipo, 'Identificador');
-            $fId->setValue($obj->$tipo);
+        if ($tipo == 'sistema') {
+            require_once 'SAMURAI/Sistema.php';
+            $sistemas = SAMURAI_Sistema::getArraySistemas(AI_DB::connect('../conf/DB.ini'));
+            $fId =& $this->addElement('select', $tipo, 'Sistema', $sistemas);
+        }
+        if ($accion & (AI_BAJA | AI_MODIF)) {
+            if ($tipo == 'sistema') {
+                $fId->setSelected($obj->$tipo);
+            } else {
+                $fId =& $this->addElement('text', $tipo, 'Identificador');
+                $fId->setValue($obj->$tipo);
+            }
             $fId->freeze();
         }
-        if ($clase == 'gruposecciones' or $clase == 'servicio') {
+        if ($tipo == 'grupo' or $tipo == 'servicio') {
             $fPadre  =& $this->addElement('text', $padre, 'Padre');
             $fNombre =& $this->addElement('text', 'nombre', 'Nombre');
             // Validación.
@@ -94,12 +102,12 @@ class AIForm extends MECON_HTML_QuickForm {
             $this->addRule($padre, 'El padre debe ser un número natural.',
                 'regex', '/^\d*$/');
             // Carga datos.
-            if ($accion & (BAJA | MODIFICACION)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fPadre->setValue($obj->$padre);
                 $fNombre->setValue($obj->nombre);
             }
         }
-        if ($clase == 'gruposecciones') {
+        if ($tipo == 'grupo') {
             $fAntiguedad   =& $this->addElement('text', 'antiguedad', 'Antigüedad');
             $fSecciones    =& $this->addElement('select', 'secciones', 'Secciones',
                 array(1=>'test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8'),
@@ -109,52 +117,52 @@ class AIForm extends MECON_HTML_QuickForm {
             $this->addRule('antiguedad', 'La antigüedad debe ser un número natural.',
                 'regex', '/^\d*$/');
             // Carga datos.
-            if ($accion & (BAJA | MODIFICACION)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fAntiguedad->setValue($obj->antiguedad);
                 $fSecciones->setSelected($obj->secciones);
                 $fMostrarHijos->setChecked($obj->mostrar_hijos);
             }
         }
-        if ($clase == 'servicio') {
+        if ($tipo == 'servicio') {
             $fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción');
             $fLogueo      =& $this->addElement('checkbox','logueo', 'Necesita login');
             // Validación
             $this->addRule('descripcion',   'Debe ingresar una descripción.',   'required');
             // Carga datos.
-            if ($accion & (BAJA | MODIFICACION)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fDescripcion->setValue($obj->descripcion);
                 $fLogueo->setChecked($obj->necesita_logueo);
             }
         }
-        if ($clase == 'servicio' or $clase == 'sistema') {
+        if ($tipo == 'servicio' or $tipo == 'sistema') {
             $fLink      =& $this->addElement('text', 'link', 'Enlace');
             $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
             $fIcono     =& $this->addElement('text', 'icono', 'Ícono');
             // Carga datos.
-            if ($accion & (BAJA | MODIFICACION)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fLink->setValue($obj->link);
                 $fLinkAyuda->setValue($obj->link_ayuda);
                 $fIcono->setValue($obj->icono);
             }
             // Validación.
-            if ($clase == 'sistema') {
+            if ($tipo == 'sistema') {
                 $this->addRule('link',  'Debe ingresar un nombre.', 'required');
-                $this->addRule('icono', 'Debe ingresar un padre.',  'required');
+                $this->addRule('icono', 'Debe ingresar un ícono.',  'required');
             }
         }
         $fHabilitado =& $this->addElement('checkbox','habilitado', 'Está habilitado',
             '', array('checked' => 'checked'));
         // Carga datos.
-        if ($accion & (BAJA | MODIFICACION)) {
+        if ($accion & (AI_BAJA | AI_MODIF)) {
             $fHabilitado->setChecked($obj->habilitado);
         }
         // Botones.
         $fBtnAccion =& parent::createElement('submit', 'aceptar' , $s_accion);
-        if ($accion & MODIFICACION) {
+        if ($accion & AI_MODIF) {
             $fBtnCancelar =& parent::createElement('submit', 'modificar' , 'Borrar');
-        } elseif ($accion & ALTA) {
+        } elseif ($accion & AI_ALTA) {
             $fBtnCancelar =& parent::createElement('reset', 'agregar', 'Limpiar');
-        } elseif ($accion & BAJA) {
+        } elseif ($accion & AI_BAJA) {
             $fBtnCancelar =& parent::createElement('submit', 'borrar', 'Cancelar');
         }
         $grupo = array(
@@ -176,30 +184,28 @@ class AIForm extends MECON_HTML_QuickForm {
      */
     function llenarObjeto(&$obj) // ~X2C
     {
-        $clase = get_class($obj);
-        $tipo  = $clase;
-        if ($clase == 'gruposecciones') {
+        $tipo  = substr(get_class($obj), 3);
+        if ($tipo == 'gruposecciones') {
             $tipo = 'grupo';
         }
         $padre = $tipo.'_padre';
         // Elementos.
         $obj->$tipo = $this->getSubmitValue($tipo);
         $obj->habilitado = $this->getSubmitValue('habilitado');
-        if ($clase == 'gruposecciones' or $clase == 'servicio') {
+        if ($tipo == 'grupo' or $tipo == 'servicio') {
             $obj->$padre = $this->getSubmitValue($padre);
             $obj->nombre = $this->getSubmitValue('nombre');
         }
-        if ($clase == 'gruposecciones') {
+        if ($tipo == 'grupo') {
             $obj->antiguedad    = $this->getSubmitValue('antiguedad');
             $obj->secciones     = $this->getSubmitValue('secciones');
-var_dump($obj->secciones);
             $obj->mostrar_hijos = $this->getSubmitValue('mostrar_hijos');
         }
-        if ($clase == 'servicio') {
+        if ($tipo == 'servicio') {
             $obj->descripcion     = $this->getSubmitValue('descripcion');
             $obj->necesita_logueo = $this->getSubmitValue('logueo');
         }
-        if ($clase == 'servicio' or $clase == 'sistema') {
+        if ($tipo == 'servicio' or $tipo == 'sistema') {
             $obj->link       = $this->getSubmitValue('link');
             $obj->link_ayuda = $this->getSubmitValue('link_ayuda');
             $obj->icono      = $this->getSubmitValue('icono');
@@ -207,6 +213,6 @@ var_dump($obj->secciones);
     }
     // -X2C
 
-} // -X2C Class :AIForm
+} // -X2C Class :AI_Form
 
 ?>
similarity index 95%
rename from sistema/local_lib/GrupoSecciones.php
rename to lib/AI/GrupoSecciones.php
index 3b49711dcabbb040d464467206ff4697181de268..5914549768e53218991e2388e657588a92a6e404 100644 (file)
 // $Id$
 //
 
-require_once 'AIError.php';
+require_once 'AI/Error.php';
 
-// +X2C Class 486 :GrupoSecciones
+// +X2C Class 486 :AI_GrupoSecciones
 /**
  * Grupo de secciones.
  *
+ * @package AI
  * @access public
  */
-class GrupoSecciones {
+class AI_GrupoSecciones {
     /**
      * ID del grupo de secciones.
      *
@@ -118,7 +119,7 @@ class GrupoSecciones {
      * @return void
      * @access public
      */
-    function GrupoSecciones($grupo = 0) // ~X2C
+    function AI_GrupoSecciones($grupo = 0) // ~X2C
     {
         $this->grupo = $grupo;
     }
@@ -151,7 +152,7 @@ class GrupoSecciones {
         // Obtengo la fila.
         $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
         if (!$row) {
-            return new AIError(AIERROR_NO_RESULTADOS,
+            return new AI_Error(AI_ERROR_NO_RESULTADOS,
                 "No hay más resultados en la DB [grupo=$grupo]");
         }
         // Asigno valores al objeto.
@@ -281,8 +282,8 @@ class GrupoSecciones {
             $err = $hijo->cargar($result);
         }
         // Si no hay mas resultados, entonces terminó bien.
-        if (is_a($err, 'aierror')
-                and $err->getCode() == AIERROR_NO_RESULTADOS) {
+        if (AI_Error::isError($err)
+                and $err->getCode() == AI_ERROR_NO_RESULTADOS) {
             return true;
         }
         // Si no, se devuelve el error.
@@ -301,6 +302,6 @@ class GrupoSecciones {
     }
     // -X2C
 
-} // -X2C Class :GrupoSecciones
+} // -X2C Class :AI_GrupoSecciones
 
-?>
+?>
\ No newline at end of file
similarity index 96%
rename from sistema/local_lib/Servicio.php
rename to lib/AI/Servicio.php
index 6792359fb51cc168a409943d0d8698c67c2c5342..d4bcf0a5204eec06001e489819ada0be7913d8f3 100644 (file)
 // $Id$
 //
 
-require_once 'AIError.php';
+require_once 'AI/Error.php';
 
-// +X2C Class 413 :Servicio
+// +X2C Class 413 :AI_Servicio
 /**
  * Servicio.
  *
+ * @package AI
  * @access public
  */
-class Servicio {
+class AI_Servicio {
     /**
      * ID del servicio.
      *
@@ -134,7 +135,7 @@ class Servicio {
      * @return void
      * @access public
      */
-    function Servicio($servicio = 0) // ~X2C
+    function AI_Servicio($servicio = 0) // ~X2C
     {
         $this->servicio = $servicio;
     }
@@ -166,7 +167,7 @@ class Servicio {
         // Obtengo la fila.
         $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
         if (!$row) {
-            return new AIError(AIERROR_NO_RESULTADOS,
+            return new AI_Error(AI_ERROR_NO_RESULTADOS,
                 "No hay más resultados en la DB [servicio=$servicio]");
         }
         // Asigno valores al objeto.
@@ -270,7 +271,7 @@ class Servicio {
             $err = $hijo->cargar($result);
         }
         // Si no hay mas resultados, entonces terminó bien.
-        if (is_a($err, 'aierror')
+        if (AI_Error::isError($err)
                 and $err->getCode() == AIERROR_NO_RESULTADOS) {
             return true;
         }
@@ -290,6 +291,6 @@ class Servicio {
     }
     // -X2C
 
-} // -X2C Class :Servicio
+} // -X2C Class :AI_Servicio
 
-?>
\ No newline at end of file
+?>
similarity index 94%
rename from sistema/local_lib/Sistema.php
rename to lib/AI/Sistema.php
index 2d2f63a826b2f15a7e49e5fd19d954fb56ff998f..7a547765feb1c2d5629e0548bea6cf23ebe6c733 100644 (file)
 // $Id$
 //
 
-require_once 'AIError.php';
+require_once 'AI/Error.php';
 
-// +X2C Class 416 :Sistema
+// +X2C Class 416 :AI_Sistema
 /**
  * Sistema.
  *
+ * @package AI
  * @access public
  */
-class Sistema {
+class AI_Sistema {
     /**
      * ID del sistema (ID en SAMURAI).
      *
@@ -85,7 +86,7 @@ class Sistema {
      * @return void
      * @access public
      */
-    function Sistema($sistema = 0) // ~X2C
+    function AI_Sistema($sistema = 0) // ~X2C
     {
         $this->sistema = $sistema;
     }
@@ -117,7 +118,7 @@ class Sistema {
         // Obtengo la fila.
         $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
         if (!$row) {
-            return new AIError(AIERROR_NO_RESULTADOS,
+            return new AI_Error(AI_ERROR_NO_RESULTADOS,
                 "No hay más resultados en la DB [sistema=$sistema]");
         }
         // Asigno valores al objeto.
@@ -148,6 +149,7 @@ class Sistema {
             'link_ayuda' => $this->link_ayuda,
             'habilitado' => $this->habilitado ? 1 : 0,
         );
+        // FIXME - buscar otra forma de distinguir entre INSERT y UPDATE.
         if ($sistema) {
             $accion = DB_AUTOQUERY_UPDATE;
             $where  = "sistema = $sistema";
@@ -202,6 +204,6 @@ class Sistema {
     }
     // -X2C
 
-} // -X2C Class :Sistema
+} // -X2C Class :AI_Sistema
 
-?>
\ No newline at end of file
+?>
similarity index 100%
rename from sistema/conf/AIDB.ini
rename to sistema/conf/DB.ini
diff --git a/sistema/local_lib/prepend.php b/sistema/local_lib/prepend.php
deleted file mode 100644 (file)
index 2f859d5..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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: vie jun 27 16:49:40 ART 2003                               |
-// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-
-// Debug.
-require_once 'PEAR.php';
-PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);
-
-// Directorio raíz real del sistema.
-$ROOTDIR = '/var/www/sistemas/ai';
-
-// Agrego un include path.
-require_once 'MECON/general.php';
-prepend_include_path("$ROOTDIR/local_lib");
-
-// Uso siempre a Marco.
-require_once 'MECON/Marco.php';
-$MARCO = new Marco("$ROOTDIR/conf/Marco.php");
-
-// Siempre le agrego una barra al costado.
-require_once 'HTML/Table.php';
-$LAYOUT = new HTML_Table(
-    array(
-        'width'         => '100%',
-        'align'         => 'center',
-        'valign'        => 'top',
-        'border'        => 0,
-        'cellspacing'   => 0,
-        'cellpadding'   => 0,
-    )
-);
-$LAYOUT->setAutoGrow(true);
-$LAYOUT->setCellAttributes(0, 0, array('width' => '1'));
-$LAYOUT->setCellAttributes(0, 1, array('width' => '10'));
-$LAYOUT->setCellContents(0, 1, '&nbsp;');
-
-// Siempre uso mi base de datos.
-require_once 'AIDB.php';
-$DB =& AIDB::connect();
-
-?>
diff --git a/sistema/www/.htaccess b/sistema/www/.htaccess
deleted file mode 100644 (file)
index d93430d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-php_value auto_prepend_file "/var/www/sistemas/ai/local_lib/prepend.php"
index fd28d80ea2b6b455cfab4b4763d7a00158742755..5b5c97e8fd8e8c2f417d024a4a79fb45395e2bd1 100644 (file)
 // $Id$
 //
 
-// Requires generales. {{{
-require_once 'MECON/HTML/Arbol/ArbolDB.php';
-require_once 'AIForm.php';
+// Debug. {{{
+require_once 'PEAR.php';
+PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);
+// }}}
+
+// Creo el Marco. {{{
+require_once 'MECON/Marco.php';
+$marco = new Marco('../conf/Marco.php');
+// }}}
+
+// Agrego una barra al costado con el listado de objetos (XXX - va a ir en Marco). {{{
+require_once 'HTML/Table.php';
+$layout = new HTML_Table(
+    array(
+        'width'         => '100%',
+        'align'         => 'center',
+        'valign'        => 'top',
+        'border'        => 0,
+        'cellspacing'   => 0,
+        'cellpadding'   => 0,
+    )
+);
+$layout->setAutoGrow(true);
+$layout->setCellAttributes(0, 0, array('width' => '1'));
+$layout->setCellAttributes(0, 1, array('width' => '10'));
+$layout->setCellContents(0, 1, '&nbsp;');
 // }}}
 
 // Averiguo si estoy administrando algún tipo de objeto. {{{
@@ -37,58 +60,48 @@ $tipo = null;
 if (@$_SERVER['PATH_INFO']) {
     $tmp = ltrim($_SERVER['PATH_INFO'], '/');
     if ($tmp == 'grupo') {
-        $tipo  = $tmp;
-        $clase = 'GrupoSecciones';
-        $tabla = 'grupo_secciones';
+        $tipo    = $tmp;
+        $clase   = "AI_GrupoSecciones";
+        $require = 'AI/GrupoSecciones.php';
+        $tabla   = 'grupo_secciones';
     } elseif ($tmp == 'servicio') {
-        $tipo  = $tmp;
-        $clase = 'Servicio';
-        $tabla = $tipo;
+        $tipo    = $tmp;
+        $clase   = 'AI_Servicio';
+        $require = 'AI/Servicio.php';
+        $tabla   = $tipo;
     } elseif ($tmp == 'sistema') {
-        $tipo  = $tmp;
-        $clase = 'Sistema';
-        $tabla = $tipo;
+        $tipo    = $tmp;
+        $clase   = 'AI_Sistema';
+        $require = 'AI/Sistema.php';
+        $tabla   = $tipo;
     } else { // No hay un objeto válido para administrar.
         header('Location: '.$_SERVER['SCRIPT_NAME']);
     }
 }
 // }}}
 
-// Si tiene una clase, estamos editando algo. {{{
+// Si tiene un tipo, estamos editando algo. {{{
 if ($tipo) {
-    // Creo el árbol con los servicios. {{{
-    $dbdata = array(
-        'db'            => &$DB,
-        'tabla'         => $tabla,
-        'id'            => $tipo,
-        'nombre'        => $tipo,
-        'prepend_link'  => $tipo . '?accion='.MODIFICACION.'&id='
-    );
-    if ($tipo == 'grupo' or $tipo == 'servicio') {
-        $dbdata['nombre']   = 'nombre';
-        $dbdata['id_padre'] = $tipo . '_padre';
-    }
-    $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
+
+    // Creo formulario. {{{
+    require_once 'AI/Form.php';
+    $form =& new AI_Form;
     // }}}
 
     // Creo un objeto y seteo su id. {{{
-    require_once "$clase.php";
+    require_once $require;
     $obj = new $clase;
     $obj->$tipo = @$_REQUEST['id'];
     // }}}
 
-    // Creo formulario. {{{
-    $form =& new AIForm;
-    // }}}
-
     // Verifico que la acción sea válida. {{{
     switch(@$_REQUEST['accion']) {
-        case BAJA:
-        case MODIFICACION:
+        case AI_BAJA:
+        case AI_MODIF:
             $accion = $_REQUEST['accion'];
             break;
         default:
-            $accion = ALTA;
+            $accion = AI_ALTA;
     }
     // }}}
 
@@ -99,34 +112,42 @@ if ($tipo) {
     }
     switch ($boton) {
         case 'aceptar_agregar':
-            $accion = ALTA;
+            $accion = AI_ALTA;
             break;
         case 'modificar_borrar':
             // Viene de modificar,  hay que confirmar primero.
             $a_confirmar = true;
         case 'aceptar_borrar':
-            $accion = BAJA;
+            $accion = AI_BAJA;
             $obj->$tipo = $form->getSubmitValue($tipo);
             break;
         case 'borrar_cancelar':
             // Indico que viene de un formulario cancelado.
             $cancelado = true;
         case 'aceptar_modificar':
-            $accion = MODIFICACION;
+            $accion = AI_MODIF;
             $obj->$tipo = $form->getSubmitValue($tipo);
             break;
     }
     // }}}
 
+    // Creo la base de datos. {{{
+    require_once 'AI/DB.php';
+    $db =& AI_DB::connect('../conf/DB.ini');
+    if (DB::isError($db)) {
+        die($db->getMessage());
+    }
+    // }}}
+
     // Inicio el formulario, cargando datos de ser necesario. {{{
-    if ($accion & (BAJA | MODIFICACION)) {
-        $err =& $obj->cargar($DB);
+    if ($accion & (AI_BAJA | AI_MODIF)) {
+        $err =& $obj->cargar($db);
         if (PEAR::isError($err)) {
             die($err->getMessage());
         }
         $form->iniciar($obj, $accion);
     } else {
-        $accion = ALTA;
+        $accion = AI_ALTA;
         $form->iniciar($obj);
     }
     // }}}
@@ -137,24 +158,25 @@ if ($tipo) {
     }
     // }}}
 
-    // Me fijo si se cargo un formulalrio y si es válido. {{{
+    // Me fijo si se cargo un formulalrio y si es válido hago el ABM. {{{
     if ($form->validate()) {
+
         switch ($accion) {
-            case ALTA: // {{{
+            case AI_ALTA: // {{{
                 $form->llenarObjeto($obj);
-                $err =& $obj->guardar($DB);
+                $err =& $obj->guardar($db);
                 if (PEAR::isError($err)) {
                     die($err->getMessage());
                 }
                 header(sprintf('Location: %s?accion=%d&id=%d',
-                    $tipo, MODIFICACION, $obj->$tipo));
+                    $tipo, AI_MODIF, $obj->$tipo));
                 exit;
                 break;
                 // }}}
-            case BAJA: // {{{
+            case AI_BAJA: // {{{
                 if (!@$a_confirmar) {
                     $form->llenarObjeto($obj);
-                    $err =& $obj->borrar($DB);
+                    $err =& $obj->borrar($db);
                     if (PEAR::isError($err)) {
                         die($err->getMessage());
                     }
@@ -163,15 +185,15 @@ if ($tipo) {
                 }
                 break;
                 // }}}
-            case MODIFICACION: // {{{
+            case AI_MODIF: // {{{
                 if (!@$cancelado) {
                     $form->llenarObjeto($obj);
-                    $err =& $obj->guardar($DB);
+                    $err =& $obj->guardar($db);
                     if (PEAR::isError($err)) {
                         die($err->getMessage());
                     }
                     header(sprintf('Location: %s?accion=%d&id=%d',
-                        $tipo, MODIFICACION, $obj->$tipo));
+                        $tipo, AI_MODIF, $obj->$tipo));
                     exit;
                 }
                 break;
@@ -180,23 +202,39 @@ if ($tipo) {
     }
     // }}}
 
+    // Creo el árbol con el tipo de objeto que manejo. {{{
+    require_once 'MECON/HTML/Arbol/ArbolDB.php';
+    $dbdata = array(
+        'db'            => &$db,
+        'tabla'         => $tabla,
+        'id'            => $tipo,
+        'nombre'        => $tipo,
+        'prepend_link'  => $tipo.'?accion='.AI_MODIF.'&id='
+    );
+    if ($tipo == 'grupo' or $tipo == 'servicio') {
+        $dbdata['nombre']   = 'nombre';
+        $dbdata['id_padre'] = $tipo . '_padre';
+    }
+    $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
+    // }}}
+
     // Agrego al cuerpo de la página las cosas que voy a dibujar. {{{
-    $LAYOUT->setCellContents(0, 0, $arbol);
-    $LAYOUT->setCellContents(0, 2, $form);
-    $MARCO->addBody($LAYOUT);
+    $layout->setCellContents(0, 0, $arbol);
+    $layout->setCellContents(0, 2, $form);
+    $marco->addBody($layout);
     // }}}
 // }}}
 
 // No se está editando nada, agrego al cuerpo de la página la pantalla de entrada {{{
 } else {
     require_once 'HTML/Image.php';
-    $MARCO->setEspacios(false);
-    $MARCO->addBody(new HTML_Image('images/home', 'Adminitrador de Intranet'));
+    $marco->setEspacios(false);
+    $marco->addBody(new HTML_Image('images/home', 'Adminitrador de Intranet'));
 }
 // }}}
 
 // Dibujo. {{{
-$MARCO->display();
+$marco->display();
 // }}}
 
 ?>
diff --git a/sistema/www/noticias.php b/sistema/www/noticias.php
deleted file mode 100644 (file)
index ee69823..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-<?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: vie jun 27 17:08:18 ART 2003                               |
-// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-
-require_once 'MECON/HTML/Arbol/ArbolDB.php';
-require_once 'GrupoSecciones.php';
-
-$dbdata = array(
-    'db'            => &$db,
-    'tabla'         => 'grupo_secciones',
-    'id'            => 'grupo',
-    'nombre'        => 'nombre',
-    'id_padre'      => 'grupo_padre',
-    'prepend_link'  => 'noticias?grupo='
-);
-$arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
-
-if (@$_REQUEST['grupo']) {
-    $grupo = new GrupoSecciones($_REQUEST['grupo']);
-    $grupo->cargar($db);
-    $body = '';
-    foreach ($grupo as $key => $val) {
-        if (is_array($val)) {
-            $val = join(',', $val);
-        }
-        $body .= "$key = $val<BR>";
-    }
-} else {
-    $body = 'Seleccione un grupo de secciones de noticias para trabajar.';
-}
-
-$LAYOUT->setCellContents(0, 0, $arbol);
-$LAYOUT->setCellContents(0, 2, $body);
-$MARCO->addBody($LAYOUT);
-$MARCO->display();
-
-?>
diff --git a/sistema/www/servicios.php b/sistema/www/servicios.php
deleted file mode 100644 (file)
index 417dd2a..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<?php
-// vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker:
-// +--------------------------------------------------------------------+
-// |                      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: vie jun 27 17:08:18 ART 2003                               |
-// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-
-// Requires. {{{
-require_once 'MECON/HTML/Arbol/ArbolDB.php';
-require_once 'AIForm.php';
-require_once 'Servicio.php';
-// }}}
-
-// Creo el árbol con los servicios. {{{
-$dbdata = array(
-    'db'            => &$DB,
-    'tabla'         => 'servicio',
-    'id'            => 'servicio',
-    'nombre'        => 'nombre',
-    'id_padre'      => 'servicio_padre',
-    'prepend_link'  => 'servicios?accion='.MODIFICACION.'&id='
-);
-$arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
-// }}}
-
-// Creo un servicio y seteo su id. {{{
-$servicio = new Servicio;
-$servicio->servicio = @$_REQUEST['id'];
-// }}}
-
-// Creo formulario. {{{
-$form =& new AIForm;
-// }}}
-
-// Verifico que la accion sea válida. {{{
-switch(@$_REQUEST['accion']) {
-    case BAJA:
-    case MODIFICACION:
-        $accion = $_REQUEST['accion'];
-        break;
-    default:
-        $accion = ALTA;
-}
-// }}}
-
-// Verifico si ya se envio el formulario. {{{
-$botones = $form->getSubmitValue('botones');
-if ($boton = @join('', array_keys($botones))) {
-    $boton = $boton . '_' . strtolower($botones[$boton]);
-}
-switch ($boton) {
-    case 'aceptar_agregar':
-        $accion = ALTA;
-        break;
-    case 'modificar_borrar':
-        // Viene de modificar,  hay que confirmar primero.
-        $a_confirmar = true;
-    case 'aceptar_borrar':
-        $accion = BAJA;
-        $servicio->servicio = $form->getSubmitValue('servicio');
-        break;
-    case 'borrar_cancelar':
-        // Indico que viene de un formulario cancelado.
-        $cancelado = true;
-    case 'aceptar_modificar':
-        $accion = MODIFICACION;
-        $servicio->servicio = $form->getSubmitValue('servicio');
-        break;
-}
-// }}}
-
-// Inicio el formulario, cargando datos de ser necesario. {{{
-if ($accion & (BAJA | MODIFICACION)) {
-    $err =& $servicio->cargar($DB);
-    if (PEAR::isError($err)) {
-        die($err->getMessage());
-    }
-    $form->iniciar($servicio, $accion);
-} else {
-    $accion = ALTA;
-    $form->iniciar($servicio);
-}
-// }}}
-
-// Freezo de ser necesario. {{{
-if (@$a_confirmar) {
-    $form->freeze();
-}
-// }}}
-
-// Me fijo si se cargo un formulalrio y si es válido. {{{
-if ($form->validate()) {
-    switch ($accion) {
-        case ALTA:
-            $form->llenarObjeto($servicio);
-            $err =& $servicio->guardar($DB);
-            if (PEAR::isError($err)) {
-                die($err->getMessage());
-            }
-            header(sprintf('Location: servicios?accion=%d&id=%d',
-                MODIFICACION, $servicio->servicio));
-            exit;
-            break;
-        case BAJA:
-            if (!@$a_confirmar) {
-                $form->llenarObjeto($servicio);
-                $err =& $servicio->borrar($DB);
-                if (PEAR::isError($err)) {
-                    die($err->getMessage());
-                }
-                header('Location: servicios');
-                exit;
-            }
-            break;
-        case MODIFICACION:
-            if (!@$cancelado) {
-                $form->llenarObjeto($servicio);
-                $err =& $servicio->guardar($DB);
-                if (PEAR::isError($err)) {
-                    die($err->getMessage());
-                }
-                header(sprintf('Location: servicios?accion=%d&id=%d',
-                    MODIFICACION, $servicio->servicio));
-                exit;
-            }
-            break;
-    }
-}
-$body =& $form;
-// }}}
-
-// Dibujo. {{{
-$LAYOUT->setCellContents(0, 0, $arbol);
-$LAYOUT->setCellContents(0, 2, $body);
-$MARCO->addBody($LAYOUT);
-$MARCO->display();
-// }}}
-
-?>
diff --git a/sistema/www/sistemas.php b/sistema/www/sistemas.php
deleted file mode 100644 (file)
index 60a4630..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-// vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker:
-// +--------------------------------------------------------------------+
-// |                      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: vie jun 27 17:08:18 ART 2003                               |
-// | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-
-// Requires. {{{
-require_once 'MECON/HTML/Arbol/ArbolDB.php';
-require_once 'AIForm.php';
-require_once 'Sistema.php';
-// }}}
-
-// Creo el árbol con los servicios. {{{
-$dbdata = array(
-    'db'            => &$DB,
-    'tabla'         => 'sistema',
-    'id'            => 'sistema',
-    'nombre'        => 'sistema',
-    'prepend_link'  => 'sistema?accion='.MODIFICACION.'&id='
-);
-$arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
-// }}}
-
-// Creo un servicio y seteo su id. {{{
-$sistema = new Sistema;
-$sistema->sistema = @$_REQUEST['id'];
-// }}}
-
-// Creo formulario. {{{
-$form =& new AIForm;
-// }}}
-
-// Verifico que la accion sea válida. {{{
-switch(@$_REQUEST['accion']) {
-    case BAJA:
-    case MODIFICACION:
-        $accion = $_REQUEST['accion'];
-        break;
-    default:
-        $accion = ALTA;
-}
-// }}}
-
-// Verifico si ya se envio el formulario. {{{
-$botones = $form->getSubmitValue('botones');
-if ($boton = @join('', array_keys($botones))) {
-    $boton = $boton . '_' . strtolower($botones[$boton]);
-}
-switch ($boton) {
-    case 'aceptar_agregar':
-        $accion = ALTA;
-        break;
-    case 'modificar_borrar':
-        // Viene de modificar,  hay que confirmar primero.
-        $a_confirmar = true;
-    case 'aceptar_borrar':
-        $accion = BAJA;
-        $sistema->sistema = $form->getSubmitValue('sistema');
-        break;
-    case 'borrar_cancelar':
-        // Indico que viene de un formulario cancelado.
-        $cancelado = true;
-    case 'aceptar_modificar':
-        $accion = MODIFICACION;
-        $sistema->sistema = $form->getSubmitValue('sistema');
-        break;
-}
-// }}}
-
-// Inicio el formulario, cargando datos de ser necesario. {{{
-if ($accion & (BAJA | MODIFICACION)) {
-    $err =& $sistema->cargar($DB);
-    if (PEAR::isError($err)) {
-        die($err->getMessage());
-    }
-    $form->iniciar($sistema, $accion);
-} else {
-    $accion = ALTA;
-    $form->iniciar($sistema);
-}
-// }}}
-
-// Freezo de ser necesario. {{{
-if (@$a_confirmar) {
-    $form->freeze();
-}
-// }}}
-
-// Me fijo si se cargo un formulalrio y si es válido. {{{
-if ($form->validate()) {
-    switch ($accion) {
-        case ALTA:
-            $form->llenarObjeto($sistema);
-            $err =& $sistema->guardar($DB);
-            if (PEAR::isError($err)) {
-                die($err->getMessage());
-            }
-            header(sprintf('Location: sistema?accion=%d&id=%d',
-                MODIFICACION, $sistema->sistema));
-            exit;
-            break;
-        case BAJA:
-            if (!@$a_confirmar) {
-                $form->llenarObjeto($sistema);
-                $err =& $sistema->borrar($DB);
-                if (PEAR::isError($err)) {
-                    die($err->getMessage());
-                }
-                header('Location: sistema');
-                exit;
-            }
-            break;
-        case MODIFICACION:
-            if (!@$cancelado) {
-                $form->llenarObjeto($sistema);
-                $err =& $sistema->guardar($DB);
-                if (PEAR::isError($err)) {
-                    die($err->getMessage());
-                }
-                header(sprintf('Location: sistema?accion=%d&id=%d',
-                    MODIFICACION, $sistema->sistema));
-                exit;
-            }
-            break;
-    }
-}
-$body =& $form;
-// }}}
-
-// Dibujo. {{{
-$LAYOUT->setCellContents(0, 0, $arbol);
-$LAYOUT->setCellContents(0, 2, $body);
-$MARCO->addBody($LAYOUT);
-$MARCO->display();
-// }}}
-
-?>