- Se separan librerias locales de generales.
code:
@cd doc && xmi2code
+ @cd doc/local_lib && xmi2code
code-clean:
@find lib -name '*.bak' | xargs rm -fv
+ @find sistema/local_lib -name '*.bak' | xargs rm -fv
clean-readme:
find -name README | xargs svn rm
$Id$
-- Mover listarImagenes() y arbol2array() de Form.php a un lugar más apropiado y
- con un nombre más apropiado.
- Ordenar todo mejor (index.php no da más).
-- No crear una DB on-the-fly en Form.php.
- Agregar links para agregar un elemento nuevo sin tener que tocar en el
ícono de la sección que es poco intuitivo.
- Ver que se hace con sistemas borrados de SAMURAI con baja lógica.
- Resolver tema de JOIN con SAMURAI.
+- Hacer que filtre los no habilitados para gonzalo.
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-INPUT = ../sistema/local_lib
+INPUT = ../sistema/local_lib ../lib
FILE_PATTERNS = *.php
RECURSIVE = YES
EXCLUDE =
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<XMI xmlns:UML="org.omg/standards/UML" verified="false" timestamp="" xmi.version="1.2" >
+ <XMI.header>
+ <XMI.documentation>
+ <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
+ <XMI.exporterVersion>1.1</XMI.exporterVersion>
+ </XMI.documentation>
+ <XMI.model xmi.name="uml" href="/home/luca/public_html/ai/doc/local_lib/uml.xmi" />
+ <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
+ </XMI.header>
+ <XMI.content>
+ <docsettings viewid="412" documentation="" uniqueid="533" />
+ <umlobjects>
+ <UML:Class stereotype="" package="AI_Local" 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="&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. Si no se especifica se toma uno por defecto del directorio de configuración." name="confFile" 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="AI_Local" 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="&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="" type="int" abstract="0" documentation="Accion que realizará el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIFICACION." name="accion" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="6" value="" type="HTML_Arbol" abstract="0" documentation="Árbol de donde sacar los padres." name="arbol" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="7" value="" type="DB" abstract="0" documentation="Base de datos." name="db" static="0" scope="200" />
+ </UML:Operation>
+ <UML:Operation stereotype="" package="" xmi.id="510" type="void" abstract="0" documentation="Llena un objeto con los datos del formulario." name="llenarObjeto" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&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="" xmi.id="508" abstract="0" documentation="x2c:extern" name="MECON_HTML_QuickForm" static="0" scope="200" />
+ <UML:Class stereotype="" package="AI_Local" xmi.id="532" abstract="0" documentation="Funciones generales.
+x2c:noclass" name="general" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="533" type="array" abstract="0" documentation="Lista archivos devolviendo un array apropiado para un SELECT." name="listarArchivos" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="'.'" type="string" abstract="0" documentation="Directorio donde estan las imagenes." name="dir" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Prefijo del archivo." name="prepend" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Postfijo del archivo." name="append" static="0" scope="200" />
+ </UML:Operation>
+ </UML:Class>
+ </umlobjects>
+ <diagrams>
+ <diagram snapgrid="0" 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="210" showattsigs="601" usesdiagramusefillcolour="0" x="23" linecolour="#ff0000" y="100" 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="105" linecolour="#ff0000" y="30" 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="358" showattsigs="601" usesdiagramusefillcolour="0" x="250" linecolour="#ff0000" y="100" 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="356" linecolour="#ff0000" y="30" 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" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="410" showattsigs="601" usesdiagramusefillcolour="0" x="81" linecolour="#ff0000" y="183" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="532" showoperations="1" 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="508" widgetaid="507" documentation="" type="500" >
+ <linepath>
+ <startpoint startx="429" starty="100" />
+ <endpoint endx="429" endy="54" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
+ <linepath>
+ <startpoint startx="128" starty="100" />
+ <endpoint endx="128" endy="54" />
+ </linepath>
+ </UML:AssocWidget>
+ </associations>
+ </diagram>
+ </diagrams>
+ <listview>
+ <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 Local" >
+ <listitem open="0" type="813" id="503" label="AI_DB" >
+ <listitem open="0" type="815" id="506" label="connect" />
+ </listitem>
+ <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="532" label="general" >
+ <listitem open="0" type="815" id="533" label="listarArchivos" />
+ </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="1" type="813" id="508" label="MECON_HTML_QuickForm" />
+ </listitem>
+ </listitem>
+ <listitem open="1" type="802" id="-1" label="Use Case View" />
+ </listitem>
+ </listview>
+ </XMI.content>
+</XMI>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ! 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: lun jun 23 15:21:18 ART 2003 *
+ ! * Autor: Leandro Lucarella <llucar@mecon.gov.ar> *
+ ! **********************************************************************
+ !
+ ! $Id$
+ !
+ !-->
+
+<xmi2code>
+ <option key="target" value="*"/>
+ <option key="xmi-input" value="uml.xmi"/>
+ <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="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="false"/>
+ <option key="php.pear.underscore-in-nonpublic" value="true"/>
+</xmi2code>
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="DB" abstract="0" documentation="Base de datos de la cual obtener los sistemas." name="db" static="0" scope="200" />
<UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Clausula WHERE para filtrar resultados." name="where" 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).
-FIXME - preguntar a gonzalo si le sirve." name="sistema" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="513" value="''" type="string" abstract="0" documentation="Nombre del sistema (sólo de lectura, extraído de SAMURAI).
-FIXME - preguntar a gonzalo si le sirve." name="nombre" static="0" scope="200" />
+ <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="513" value="''" type="string" abstract="0" documentation="Nombre del sistema (sólo de lectura, extraído de SAMURAI)." name="nombre" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="514" value="''" type="string" abstract="0" documentation="Descripción del sistema (sólo de lectura, extraído de SAMURAI)." name="descripcion" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="438" value="''" type="string" 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="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="AI_Error" static="0" scope="200" >
+ <UML:Class stereotype="" package="AI" 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: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="AI_DB" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="506" type="&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="&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="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="&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="AI_ALTA" type="int" abstract="0" documentation="Accion que realizará el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIFICACION." name="accion" static="0" scope="200" />
- </UML:Operation>
- <UML:Operation stereotype="" package="" xmi.id="510" type="void" abstract="0" documentation="Llena un objeto con los datos del formulario." name="llenarObjeto" static="0" scope="200" >
- <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&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="" xmi.id="508" abstract="0" documentation="x2c:extern" name="MECON_HTML_QuickForm" static="0" scope="200" />
<UML:Class stereotype="" package="AI" xmi.id="516" abstract="1" documentation="Objecto con capacidad de guardarse, cargarse y borrarse de una base de datos." name="AI_DBObject" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="519" type="void" abstract="0" documentation="" name="AI_DBObject" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="Identificador del objeto a cargar." name="id" static="0" scope="200" />
<diagrams>
<diagram snapgrid="0" 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="170" showattsigs="601" usesdiagramusefillcolour="0" x="267" linecolour="#ff0000" y="310" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="168" 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="287" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="139" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="168" 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="410" linecolour="#ff0000" y="543" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" 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="505" linecolour="#ff0000" y="487" 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="277" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="296" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="182" 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="53" linecolour="#ff0000" y="379" 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="126" linecolour="#ff0000" y="316" 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="271" showattsigs="601" usesdiagramusefillcolour="0" x="16" linecolour="#ff0000" y="529" 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="78" linecolour="#ff0000" y="454" 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" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="346" showattsigs="601" usesdiagramusefillcolour="0" x="145" linecolour="#ff0000" y="6" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="98" usefillcolor="1" showattributes="1" xmi.id="516" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="297" showattsigs="601" usesdiagramusefillcolour="0" x="324" linecolour="#ff0000" y="139" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="70" usefillcolor="1" showattributes="1" xmi.id="524" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="170" showattsigs="601" usesdiagramusefillcolour="0" x="309" linecolour="#ff0000" y="360" showopsigs="600" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="168" 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="287" showattsigs="601" usesdiagramusefillcolour="0" x="29" linecolour="#ff0000" y="162" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="168" 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="30" linecolour="#ff0000" y="441" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" 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="125" linecolour="#ff0000" y="385" 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="277" showattsigs="601" usesdiagramusefillcolour="0" x="492" linecolour="#ff0000" y="360" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="182" 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="346" showattsigs="601" usesdiagramusefillcolour="0" x="144" linecolour="#ff0000" y="29" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="98" usefillcolor="1" showattributes="1" xmi.id="516" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="297" showattsigs="601" usesdiagramusefillcolour="0" x="350" linecolour="#ff0000" y="162" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="70" usefillcolor="1" showattributes="1" xmi.id="524" showoperations="1" 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="541" starty="543" />
- <endpoint endx="541" endy="511" />
- </linepath>
- </UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="508" widgetaid="507" documentation="" type="500" >
- <linepath>
- <startpoint startx="151" starty="529" />
- <endpoint endx="151" endy="478" />
+ <startpoint startx="161" starty="441" />
+ <endpoint endx="161" endy="409" />
</linepath>
</UML:AssocWidget>
<UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="516" widgetaid="416" documentation="" type="500" >
<linepath>
- <startpoint startx="173" starty="139" />
- <endpoint endx="260" endy="104" />
+ <startpoint startx="172" starty="162" />
+ <endpoint endx="259" endy="127" />
</linepath>
</UML:AssocWidget>
<UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="516" widgetaid="524" documentation="" type="500" >
<linepath>
- <startpoint startx="472" starty="139" />
- <endpoint endx="375" endy="104" />
- </linepath>
- </UML:AssocWidget>
- <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
- <linepath>
- <startpoint startx="149" starty="379" />
- <endpoint endx="149" endy="340" />
+ <startpoint startx="498" starty="162" />
+ <endpoint endx="374" endy="127" />
</linepath>
</UML:AssocWidget>
<UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="524" widgetaid="486" documentation="" type="500" >
<linepath>
- <startpoint startx="588" starty="296" />
- <endpoint endx="522" endy="209" />
+ <startpoint startx="630" starty="360" />
+ <endpoint endx="548" endy="232" />
</linepath>
</UML:AssocWidget>
<UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="524" widgetaid="413" documentation="" type="500" >
<linepath>
- <startpoint startx="352" starty="310" />
- <endpoint endx="423" endy="209" />
+ <startpoint startx="394" starty="360" />
+ <endpoint endx="449" endy="232" />
</linepath>
</UML:AssocWidget>
</associations>
<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="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="516" label="AI_DBObject" >
<listitem open="0" type="815" id="519" label="AI_DBObject" />
<listitem open="0" type="815" id="522" label="borrar" />
<listitem open="0" type="815" id="527" label="cargarHijos" />
<listitem open="0" type="814" id="525" label="hijos" />
</listitem>
- <listitem open="1" type="813" id="469" label="AI_Error" >
+ <listitem open="0" type="813" id="469" label="AI_Error" >
<listitem open="0" type="815" id="470" label="AI_Error" />
<listitem open="0" type="815" id="530" label="isError" />
</listitem>
- <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="AI_GrupoSecciones" >
<listitem open="0" type="815" id="495" label="AI_GrupoSecciones" />
<listitem open="0" type="814" id="492" label="antiguedad" />
</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="1" type="813" id="508" label="MECON_HTML_QuickForm" />
+ <listitem open="1" type="803" id="-1" label="Externo" >
<listitem open="0" type="813" id="471" label="PEAR_Error" />
</listitem>
</listitem>
// +X2C Class 469 :AI_Error
/**
+ * @package AI
* @access public
*/
class AI_Error extends PEAR_Error {
class AI_Sistema extends AI_DBObject {
/**
* ID del sistema (ID en SAMURAI).
-FIXME - preguntar a gonzalo si le sirve.
*
* @var int $sistema
* @access public
/**
* Nombre del sistema (slo de lectura, extra?o de SAMURAI).
-FIXME - preguntar a gonzalo si le sirve.
*
* @var string $nombre
* @access public
} // -X2C Class :AI_Sistema
-?>
+?>
\ No newline at end of file
/**
* Base de datos del Administrador de Intranet.
*
+ * @package AI_Local
* @access public
*/
class AI_DB extends DB {
// +X2C Operation 506
/**
- * @param string $confFile Archivo de configuracin de la base de datos.
+ * @param string $confFile Archivo de configuracin de la base de datos. Si no se especifica se toma uno por defecto del directorio de configuracin.
*
* @return &mixed
* @access public
*/
- function &connect($confFile) // ~X2C
+ function &connect($confFile = '') // ~X2C
{
+ if (!$confFile) {
+ $confFile = dirname(realpath(__FILE__)).'../conf/DB.ini';
+ }
$conf = parse_ini_file($confFile, true);
return DB::connect($conf['dsn'], $conf['opciones']);
}
// -X2C
- // +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
require_once 'MECON/HTML/QuickForm.php';
// ~X2C
+require_once 'general.php';
+
// Definicion de acciones.
define('AI_ALTA', 1);
define('AI_BAJA', 2);
/**
* Formularios para el Administrador de Intranet.
*
+ * @package AI_Local
* @access public
*/
class AI_Form extends MECON_HTML_QuickForm {
*
* @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 AI_ALTA, AI_BAJA o AI_MODIFICACION.
+ * @param HTML_Arbol $arbol ?bol de donde sacar los padres.
+ * @param DB $db Base de datos.
*
* @return void
* @access public
*/
- function iniciar(&$obj, $accion = AI_ALTA) // ~X2C
+ function iniciar(&$obj, $accion, $arbol, $db) // ~X2C
{
- # FIXME - Tomar la db desde afuera.
- $db = AI_DB::connect('../conf/DB.ini');
$tipo = substr(get_class($obj), 3);
$s_tipo = ucfirst($tipo);
if ($tipo == 'gruposecciones') {
}
if ($tipo == 'grupo' or $tipo == 'servicio') {
$tipos = array('' => '--', '0' => 'Página Principal')
- + arbol2array($db, ($tipo == 'grupo') ? 'grupo_secciones' : $tipo,
- 0, $tipo, 'nombre', $tipo . '_padre', 'ASC');
+ + $arbol->toArray();
// Saco el elemento actual si hay uno cargado (no puede ser padre de si mismo).
if ($accion & (AI_BAJA | AI_MODIF)) {
unset($tipos[$obj->$tipo]);
$fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
//$fIcono =& $this->addElement('text', 'icono', 'Ícono');
$fIcono =& $this->addElement('select', 'icono', 'Ícono',
- listaImagenes('/var/www/sistemas/intranet/www/images', $tipo . '_', '\.gif'));
+ listarArchivos('/var/www/sistemas/intranet/www/images', $tipo . '_', '\.gif'));
// Carga datos.
if ($accion & (AI_BAJA | AI_MODIF)) {
$fLink->setValue($obj->link);
} // -X2C Class :AI_Form
-// FIXME - Poner esto en algun lugar mejor.
-function listaImagenes($dir = '.', $prepend = '', $append = '')
-{
- $lista = array('' => '--');
- $d = dir($dir);
- while (($file = $d->read()) !== false) {
- if (preg_match("/$prepend(.*)$append/", $file, $m)) {
- $nombre = ucwords(join(' ', preg_split('/_/', $m[1])));
- $lista[$file] = $nombre;
- }
- }
- return $lista;
-}
-
-// FIXME - Poner esto en algun lugar mejor.
-function arbol2array(&$db, $tabla, $actual, $id, $nombre, $padre, $order = '', $indent = ' ')
-{
- // Para llevar el nivel de indentación
- static $nivel = 0;
- $nivel++;
- $sql = "SELECT $id, $nombre
- FROM $tabla";
- if (!is_null($padre)) {
- $sql .= " WHERE $padre = ".$db->quote($actual);
- }
- if ($order) {
- $sql .= " ORDER BY $nombre $order";
- }
- $array = $db->getAssoc($sql);
- if (DB::isError($array)) {
- return $array;
- }
- $ret = array();
- foreach ($array as $key => $val) {
- $ret[$key] = str_repeat($indent, $nivel) . $val;
- $ret += arbol2array($db, $tabla, $key, $id, $nombre, $padre, $order, $indent);
- }
- $nivel--;
- return $ret;
-}
-
?>
\ No newline at end of file
--- /dev/null
+<?php
+// vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+// +--------------------------------------------------------------------+
+// | 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: Thu Jul 24 20:17:47 2003 |
+// | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $Id$
+//
+
+// +X2C Class 532 :general
+/**
+ * Funciones generales.
+ *
+ * @package AI_Local
+ * @access public
+ */
+ // ~X2C
+
+ // +X2C Operation 533
+ /**
+ * Lista archivos devolviendo un array apropiado para un SELECT.
+ *
+ * @param string $dir Directorio donde estan las imagenes.
+ * @param string $prepend Prefijo del archivo.
+ * @param string $append Postfijo del archivo.
+ *
+ * @return array
+ */
+ function listarArchivos($dir = '.', $prepend = '', $append = '') // ~X2C
+ {
+ $lista = array('' => '--');
+ $d = dir($dir);
+ while (($file = $d->read()) !== false) {
+ if (preg_match("/$prepend(.*)$append/", $file, $m)) {
+ $nombre = ucwords(join(' ', preg_split('/_/', $m[1])));
+ $lista[$file] = $nombre;
+ }
+ }
+ return $lista;
+ }
+ // -X2C
+
+// -X2C Class :general
+?>
\ No newline at end of file
//
require_once 'MECON/HTML/Error.php';
+require_once 'MECON/general.php';
+prepend_include_path('/var/www/sistemas/ai/sistema/local_lib');
// Debug. {{{
require_once 'PEAR.php';
}
// }}}
+ // Creo el árbol con el tipo de objeto que manejo y lo agrego a la página. {{{
+ require_once 'MECON/HTML/Arbol/ArbolDB.php';
+ $dbdata = array(
+ 'db' => &$db,
+ 'tabla' => $tabla,
+ 'id' => $tipo,
+ 'nombre' => 'nombre',
+ 'order' => 'asc',
+ );
+ // Activo el id del objeto que estamos modificando.
+ if ($accion & (AI_BAJA | AI_MODIF)) {
+ $dbdata['id_activo'] = $obj->$tipo;
+ }
+ if ($tipo == 'grupo' or $tipo == 'servicio') {
+ $dbdata['id_padre'] = $tipo . '_padre';
+ } elseif ($tipo == 'sistema') { // FIXME - horrible!!!
+ $dbdata =
+ array(
+ 'tabla' => "intranet.$tabla as A, samurai.sistema as S",
+ 'id' => "A.$tipo",
+ 'nombre' => 'S.nombre_sistema',
+ 'where' => 'S.id_sistema = A.sistema AND S.estado = 1',
+ )
+ + $dbdata;
+ }
+ $arbol = new HTML_ArbolDB($dbdata, $arbol, $tipo.'?accion='.AI_MODIF.'&id=');
+ // }}}
+
// Inicio el formulario, cargando datos de ser necesario. {{{
if ($accion & (AI_BAJA | AI_MODIF)) {
$err =& $obj->cargar($db);
if (PEAR::isError($err)) {
die($err->getMessage());
}
- $form->iniciar($obj, $accion);
+ $form->iniciar($obj, $accion, $arbol, $db);
} else {
$accion = AI_ALTA;
- $form->iniciar($obj);
+ $form->iniciar($obj, $accion, $arbol, $db);
}
// }}}
}
// }}}
- // Agrego el menu y el formulario a la página. {{{
-
- // Creo el árbol con el tipo de objeto que manejo y lo agrego a la página. {{{
- require_once 'MECON/HTML/Arbol/ArbolDB.php';
- $dbdata = array(
- 'db' => &$db,
- 'tabla' => $tabla,
- 'id' => $tipo,
- 'nombre' => 'nombre',
- 'prepend_link' => $tipo.'?accion='.AI_MODIF.'&id=',
- 'order' => 'asc',
- );
- if ($tipo == 'grupo' or $tipo == 'servicio') {
- $dbdata['id_padre'] = $tipo . '_padre';
- } elseif ($tipo == 'sistema') { // FIXME - horrible!!!
- $dbdata =
- array(
- 'tabla' => "intranet.$tabla as A, samurai.sistema as S",
- 'id' => "A.$tipo",
- 'nombre' => 'S.nombre_sistema',
- 'where' => 'S.id_sistema = A.sistema AND S.estado = 1',
- )
- + $dbdata;
- }
- $arbol = new HTML_ArbolDB($dbdata, $arbol);
+ // Agrego el menu y formulario a la página. {{{
$marco->addMenuVertical($arbol);
- // }}}
-
- // Agrego el formulario a la página. {{{
$marco->addBody($form);
// }}}
- // }}}
-
// }}}
// No se está editando nada, agrego la imágen de bienvenida a la página. {{{