root/trunk/tools/oak-genweb

Revision 12, 4.4 KB (checked in by bombadil, 4 years ago)

preparada la primera liberación

  • Property svn:executable set to *
Line 
1#!/bin/bash
2
3if [ ! -d modules ]; then
4    echo "Ejecuta desde 'framework'"
5    exit
6fi
7
8if [ -z "$1" ]; then
9    echo "Sintaxis: $(basename $0) action"
10    echo
11    echo "La sintaxis de action debe de ser, por ejemplo, así: "
12    echo "cableOperadores::clientes::clientes::GestionClientes"
13    echo
14    exit
15fi
16
17ACCION=$1
18VERSION=$(cat index.php | grep '$version = ' | cut -d\" -f2)
19RUTA=$(echo $ACCION | tr -s '::' '/')
20DIR="modules/$(dirname $RUTA)"
21NAME=$(basename $RUTA)
22FILE="$(basename $RUTA).php"
23
24if [ ! -d "$DIR" ]; then
25    printf "¿Desea crear el directorio \"$DIR\" (S/N)? "
26    read RET
27    if [ "$RET" == "S" ]; then
28        mkdir -p $DIR
29    else
30        echo "No se puede continuar sin \"$DIR\""
31        exit
32    fi
33else
34    if [ -f "$DIR/$FILE" ]; then
35        printf "El fichero \"$DIR/$FILE\" existe, ¿Desea sobreescribirlo (S/N)? "
36        read RET
37        if [ "$RET" != "S" ]; then
38            echo "Abortado por el usuario"
39            exit
40        fi
41    fi
42fi
43
44echo "Escriba una BREVE descripción de la clase:"
45read DESC
46
47echo "<?php # -*- coding: utf-8 -*-
48
49/**
50 *  @class $NAME
51 *  $DESC
52 *
53 *  @author       Manuel Angel Rubio Jimenez
54 *  @version      $VERSION
55 *
56 */
57class $NAME extends Action {
58
59    /**
60     *  TODO: describir lo que se presentará en el form.
61     *
62     *  @param args argumentos para la ejecución de la acción.
63     *  @param post datos del formulario.
64     */
65    public function form( \$args, \$post ) {
66        \$access =& \$this->session->get(\"access\");
67
68        /** TODO: contenido de form */
69
70        \$this->menu = new Menu(\$access);
71        \$this->menu->setTemplate(\$this->template);
72
73        print \$this->template->render();
74        return true;
75    }
76
77
78    /**
79     *  TODO: describir lo que se presentará en el post.
80     *
81     *  @param args argumentos para la ejecución de la acción.
82     *  @param post datos del formulario.
83     *  @return verdadero si todo hay ido bien, falso sino, y cadena si
84     *          hay que ejecutar otra acción.
85     */
86    public function post( \$args, \$post ) {
87        /** TODO: contenido en caso de post */
88    }
89
90}
91
92?>" > $DIR/$FILE
93echo "Generado $DIR/$FILE"
94
95TDIR=$DIR
96MENU=""
97
98while [ "$TDIR" != "." ] && [ "$MENU" == "" ]; do
99    if [ -f "$TDIR/menu.php" ]; then
100        MENU="$TDIR/menu.php"
101    else
102        TDIR=$(dirname $TDIR)
103    fi
104done
105
106echo
107echo "Encontrado \"$TDIR/menu.php\""
108echo "puede agregar la opción de menú ahí, o crear un menu.php nuevo."
109printf "¿Desea crear \"$DIR/menu.php\" (S/N)? "
110read MENU
111
112if [ "$MENU" == "S" ]; then
113    echo "<?php # -*- coding: utf-8 -*-
114
115/*
116    dato: logout
117    tipo: array
118    desc: indica qué plantilla tiene en menú la opción 'Salir'
119    ejemplo:
120
121    \$logout = array (
122        \"templateA\" => true
123    );
124*/
125\$logout = array (
126);
127
128/*
129    dato: cut
130    tipo: array
131    desc: situar cada plantilla junto con el menú principal a cortar
132    ejemplo:
133
134    \$cut = array (
135        \"templateA\" => _(\"Template Option\")
136    );
137*/
138\$cut = array (
139);
140
141/*
142    dato: sort
143    tipo: array
144    desc: situar los elementos asignándoles un número de orden (0-99)
145    ejemplo:
146
147    \$sort = array (
148        _(\"Gestión Clientes\") => 20,
149        _(\"Facturas\") => 21,
150        _(\"Tarifas\") => 22,
151    );
152*/
153\$sort = array (
154);
155
156/*
157    dato: optimize
158    tipo: array
159    desc: si los elementos únicos son escalados a la opción superior o no.
160    ejemplo:
161
162    \$optimize = array (
163        \"templateA\" => false
164    );
165*/
166\$optimize = array (
167);
168
169/*
170    dato: menu
171    tipo: array
172    desc: situar elementos de menú de forma jerárquica, con sus acciones.
173    ejemplo:
174
175    \$menu = array (
176        _(\"Gestión Clientes\") => array (
177            _(\"Búsqueda\") => 'cableOperadores::clientes::clientes::FindCliente',
178            _(\"Alta\") => 'cableOperadores::clientes::clientes::GestionCliente'
179        ),
180        _(\"Facturas\") => array (
181            _(\"Cableoperadores\") => 'cableOperadores::facturas::FactDistribuidor',
182            _(\"Clientes\") => 'cableOperadores::facturas::FactCliente'
183        )
184    );
185*/
186\$menu = array (
187    _(\"$NAME\") => '$ACCION'
188);
189
190?>" > "$DIR/menu.php"
191    echo "Generado $DIR/menu.php"
192fi
193
194echo "
195Pasos a seguir:
196
1971.- Agregue accesos en algún Access para poder tener acceso a esta acción.
1982.- Edite el fichero para desarrollar la funcionalidad del formulario y post.
1993.- Revise el fichero menu.php para asegurarse de que las opciones son correctas.
200"
Note: See TracBrowser for help on using the browser.