From f1e8dd28b05b78b0992493d8508bddaab2bd13d6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Thu, 19 Jun 2003 20:00:37 +0000 Subject: [PATCH] - Se adapto el sistema a la nueva estructura de directorios y a la disposicion de los mismos al estilo pear. - Se cambio la interfaz. A partir de ahora al constructor de marco hay que pasarle el path del archivo de configuracion --- doc/Marco/uml/Marco.xmi | 128 +++++++++++---------- doc/Marco/uml/xmi2code.tpl.php | 27 +++++ lib/MECON/Marco.php | 68 +++++++---- lib/MECON/Marco/Copete.php | 7 +- lib/MECON/Marco/Imagen.php | 20 +++- lib/MECON/Marco/ImagenAnimada.php | 31 ++--- lib/MECON/Marco/Menu.php | 51 ++++---- lib/MECON/Marco/MenuHorizontal.php | 8 +- lib/MECON/Marco/MenuOculto.php | 12 +- lib/MECON/Marco/MenuPrincipal.php | 16 ++- lib/MECON/Marco/MenuVertical.php | 12 +- lib/MECON/Marco/Seccion.php | 64 +++++------ lib/MECON/Marco/Titulo.php | 16 +-- test/Marco/prueba/conf/confSecciones.php | 24 ++-- test/Marco/prueba/www/include/prepend.php | 4 +- test/Marco/prueba/www/index.php | 2 +- test/Marco/prueba/www/perfiles.php | 2 +- test/Marco/prueba/www/sarasa1.php | 2 +- test/Marco/prueba/www/usuarios-abm.php | 2 +- test/Marco/prueba/www/usuarios-filtrar.php | 3 +- test/Marco/prueba/www/usuarios.php | 4 +- 21 files changed, 284 insertions(+), 219 deletions(-) create mode 100644 doc/Marco/uml/xmi2code.tpl.php diff --git a/doc/Marco/uml/Marco.xmi b/doc/Marco/uml/Marco.xmi index 6534db8..a4249c2 100644 --- a/doc/Marco/uml/Marco.xmi +++ b/doc/Marco/uml/Marco.xmi @@ -9,9 +9,9 @@ - + - @@ -23,7 +23,9 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - + + + @@ -32,7 +34,6 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - @@ -41,7 +42,7 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - + @@ -49,7 +50,7 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - + @@ -57,23 +58,23 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - - - + + + - + - + - + - + @@ -83,14 +84,14 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - + - + @@ -99,10 +100,10 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m - + - + @@ -123,7 +124,7 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0." name="verifSeccionSe - + + - + + @@ -147,30 +150,31 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0." name="verifSeccionSe + - + - + - + - + - + - + @@ -179,9 +183,9 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + - + @@ -192,45 +196,45 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + - - + + - + - - - - + + + + - + - + - + - + - - + + @@ -241,32 +245,32 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + - - + + - + - + - + - - + + @@ -283,20 +287,20 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + - + - - + + - - + + @@ -355,6 +359,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> + @@ -365,6 +370,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> + @@ -374,7 +380,6 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - @@ -384,13 +389,12 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - - + @@ -415,8 +419,8 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + @@ -430,7 +434,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + @@ -442,7 +446,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + @@ -450,7 +454,7 @@ x2c:include: HTML/Page.php" name="HTML_Page" static="0" scope="200" /> - + diff --git a/doc/Marco/uml/xmi2code.tpl.php b/doc/Marco/uml/xmi2code.tpl.php new file mode 100644 index 0000000..521d350 --- /dev/null +++ b/doc/Marco/uml/xmi2code.tpl.php @@ -0,0 +1,27 @@ + +// +----------------------------------------------------------------------+ +// +// $Id$ +// $Author$ +// $URL$ +// $Date$ +// $Rev$ +// + +@@system-base-include diff --git a/lib/MECON/Marco.php b/lib/MECON/Marco.php index 69c2125..4153536 100644 --- a/lib/MECON/Marco.php +++ b/lib/MECON/Marco.php @@ -25,21 +25,29 @@ // require_once 'PEAR.php'; -require_once 'Marco/Copete.php'; -require_once 'Marco/Titulo.php'; -require_once 'Marco/Pie.php'; -require_once 'Marco/Menu.php'; -require_once 'Marco/MenuPrincipal.php'; +require_once 'MECON/Marco/Copete.php'; +require_once 'MECON/Marco/Titulo.php'; +require_once 'MECON/Marco/Pie.php'; +require_once 'MECON/Marco/Menu.php'; +require_once 'MECON/Marco/MenuPrincipal.php'; //Agregado para el uso de HTML_Page (Uso la version Original de Pear) require_once 'HTML/Page.php'; require_once 'HTML/Table.php'; +//Defino los directorios por default +define ('DIR_IMAGENES' , 'images'); +define ('DIR_ESTILOS' , 'css'); +define ('DIR_JS' , 'js'); +define ('DIR_WWW' , 'www'); +define ('DIR_CACHE' , '/tmp'); +// +//Defino las constantes define ('SCRIPT_DIR_BASE' , '/www/js/'); define ('ESTILO_DIR_BASE' , '/www/css/'); define ('SCRIPT_GENERICO' , 'script.js'); define ('ESTILO_GENERICO' , 'estilos.css'); - +// // +X2C Class 3 :Marco /** @@ -49,14 +57,6 @@ Trabaja de forma general, llamando a los demas objetos para la realizacion del m * @access public */ class Marco extends HTML_Page { - /** - * Array con los diferentes directorios necesarios para el funcionamiento. Solo el root es obligatorio. - * - * @var array $directorio - * @access private - */ - var $_directorio; - /** * Array con los datos de configuracion del sistema. * @@ -132,11 +132,12 @@ class Marco extends HTML_Page { 'language' => 'es', 'cache' => 'false', 'simple' => 'true')); - $this->_directorio = $directorio; - $this->_obtenerConfiguracion(); - $this->_titulo = new Titulo ($this->_configuracion); - $this->_copete = new Copete ($this->_directorio); - $this->_menu = new MenuPrincipal ($this->_directorio); + + $this->_obtenerConfiguracion($arch_configuracion); + + $this->_titulo = new Titulo ($this->_configuracion['titulo_sistema']); + $this->_copete = new Copete ($this->_configuracion['directorios']['imagenes']); + $this->_menu = new MenuPrincipal ($this->_configuracion); $this->_pie = new Pie ($this->_configuracion); $this->_contenido = array (); @@ -180,14 +181,35 @@ class Marco extends HTML_Page { // +X2C Operation 32 /** - * Funcion que se encarga de la obtencion y generacion del array de configuracion. + * Funcion que se encarga de la obtencion y generacion del array de configuracion.Recibe como parametro el directorio en donde se encuentra el sistema. + * + * @param string $archivo Archivo de configuracion del sistema * * @return array * @access private */ - function _obtenerConfiguracion() // ~X2C + function _obtenerConfiguracion($archivo) // ~X2C { - $this->_configuracion = include $this->_directorio.SISTEMA_CONF_BASE; + $this->_configuracion = include $archivo; + //Verifico que existan los directorios, si no es asi los reemplazo por los defaults + if (!@$this->_configuracion['directorios']['root']) { + trigger_error('Es obligatorio ingresar el directorio root!', E_USER_ERROR); + } + if (!@$this->_configuracion['directorios']['imagenes']){ + $this->_configuracion['directorios']['imagenes'] = $this->_configuracion['directorio']['root'].'/'.DIR_IMAGENES; + } + if (!@$this->_configuracion['directorios']['estilos']){ + $this->_configuracion['directorios']['estilos'] = $this->_configuracion['directorios']['root'].'/'.DIR_ESTILOS; + } + if (!@$this->_configuracion['directorios']['js']){ + $this->_configuracion['directorios']['js'] = $this->_configuracion['directorios']['root'].'/'.DIR_JS; + } + if (!@$this->_configuracion['directorios']['www']){ + $this->_configuracion['directorios']['www'] = $this->_configuracion['directorios']['root'].'/'.DIR_WWW; + } + if (!@$this->_configuracion['directorios_fs']['cache']){ + $this->_configuracion['directorios_fs']['cache'] = DIR_CACHE; + } } // -X2C @@ -278,4 +300,4 @@ class Marco extends HTML_Page { } // -X2C Class :Marco -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/Copete.php b/lib/MECON/Marco/Copete.php index bd6e84e..5ba73ce 100644 --- a/lib/MECON/Marco/Copete.php +++ b/lib/MECON/Marco/Copete.php @@ -26,7 +26,6 @@ // require_once 'PEAR.php'; -require_once 'MECON/HTML/Tabla.php'; // +X2C Class 9 :Copete @@ -71,7 +70,7 @@ class Copete { function toHtml() // ~X2C { if (!is_null($this->_directorio)) { - return ''; + return ''; } else { return ''; @@ -88,10 +87,10 @@ class Copete { */ function darCopete() // ~X2C { - return ''; + return ''; } // -X2C } // -X2C Class :Copete -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/Imagen.php b/lib/MECON/Marco/Imagen.php index f2e8961..8e6c5f4 100644 --- a/lib/MECON/Marco/Imagen.php +++ b/lib/MECON/Marco/Imagen.php @@ -51,6 +51,14 @@ class Imagen { */ var $_alt; + /** + * Directorio en donde se encuentran las imagenes + * + * @var string $directorio + * @access private + */ + var $_directorio; + // ~X2C // +X2C Operation 73 @@ -58,19 +66,21 @@ class Imagen { * Constructor. Recibe como parametro el nombre del archivo imagen. * * @param string $imagen Nombre del archivo imagen + * @param string $directorio Directorio en donde se encuentra las imagenes * * @return void * @access public */ - function Imagen($imagen) // ~X2C + function Imagen($imagen, $directorio) // ~X2C { - if (file_exists('images/'.$imagen.'.gif')) { - $this->_imgComun = 'images/'.$imagen; + if (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagen.'.gif')) { + $this->_imgComun = $directorio.'/'.$imagen; } else { - $this->_imgComun = $imagen; + $this->_imgComun = '/www/images/'.$imagen; } $this->_alt = $imagen; + $this->_directorio = $directorio; } // -X2C @@ -102,4 +112,4 @@ class Imagen { } // -X2C Class :Imagen -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/ImagenAnimada.php b/lib/MECON/Marco/ImagenAnimada.php index 379ea12..fbdd28c 100644 --- a/lib/MECON/Marco/ImagenAnimada.php +++ b/lib/MECON/Marco/ImagenAnimada.php @@ -63,43 +63,44 @@ class ImagenAnimada extends Imagen { * @param string $imagenComun Nombre del archivo imagen. * @param string $imagenMouseOn Imagen alterna con el mouse por arriba * @param string $imagenSelect Imagen alterna cuando esta seleccionada la seccion + * @param string $directorio Directorio en donde se encuentran las imagenes * * @return void * @access public */ - function ImagenAnimada($imagenComun, $imagenMouseOn = null, $imagenSelect = null) // ~X2C + function ImagenAnimada($imagenComun, $imagenMouseOn = null, $imagenSelect = null, $directorio = null) // ~X2C { if (!is_null($imagenComun) && $imagenComun != '') { - parent::Imagen($imagenComun); + parent::Imagen($imagenComun, $directorio); if (!is_null($imagenMouseOn) && $imagenMouseOn != ''){ - if (file_exists('images/'.$imagenMouseOn.'.gif')) { - $this->_imgMouseOn = 'images/'.$imagenMouseOn; + if (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenMouseOn.'.gif')) { + $this->_imgMouseOn = $directorio.'/'.$imagenMouseOn; } else { - $this->_imgMouseOn = $imagenMouseOn; + $this->_imgMouseOn = '/www/images/'.$imagenMouseOn; } } - elseif (file_exists('images/'.$imagenComun.'_f2.gif')) { - $this->_imgMouseOn = 'images/'.$imagenComun.'_f2'; + elseif (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenComun.'_f2.gif')) { + $this->_imgMouseOn = $directorio.'/'.$imagenComun.'_f2'; } else { - $this->_imgMouseOn = $imagenComun.'_f2'; + $this->_imgMouseOn = '/www/images/'.$imagenComun.'_f2'; } if (!is_null($imagenSelect) && $imagenSelect != ''){ - if (file_exists('images/'.$imagenSelect.'.gif')) { - $this->_imgSelect = 'images/'.$imagenSelect; + if (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenSelect.'.gif')) { + $this->_imgSelect = $directorio.'/'.$imagenSelect; } else { - $this->_imgSelect = $imagenSelect; + $this->_imgSelect = '/www/images/'.$imagenSelect; } } - elseif (file_exists('images/'.$imagenComun.'_f3.gif')) { - $this->_imgSelect = 'images/'.$imagenComun.'_f3'; + elseif (is_readable($_SERVER['DOCUMENT_ROOT'].$directorio.'/'.$imagenComun.'_f3.gif')) { + $this->_imgSelect = $directorio.'/'.$imagenComun.'_f3'; } else { - $this->_imgSelect = $imagenComun.'_f3'; + $this->_imgSelect = '/www/images/'.$imagenComun.'_f3'; } } } @@ -120,4 +121,4 @@ class ImagenAnimada extends Imagen { } // -X2C Class :ImagenAnimada -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/Menu.php b/lib/MECON/Marco/Menu.php index a827721..c2eddac 100644 --- a/lib/MECON/Marco/Menu.php +++ b/lib/MECON/Marco/Menu.php @@ -24,13 +24,10 @@ // $Rev$ // -require_once 'Seccion.php'; -require_once 'ImagenAnimada.php'; +require_once 'MECON/Marco/Seccion.php'; +require_once 'MECON/Marco/ImagenAnimada.php'; require_once 'HTML/Table.php'; -define ('PRE_DIR' , '/var/www/intranet/www/sistemas/'); -define ('POST_DIR' , '/conf/'); -define ('SISTEMA_CONF_SECCIONES' , 'confSecciones.php'); define ('MENU_SERIALIZADO' , 'MenuSerializado'); define ('ARRAYSECCIONES_SERIALIZADO', 'ArraySeccionesSerializado'); @@ -42,12 +39,12 @@ define ('ARRAYSECCIONES_SERIALIZADO', 'ArraySeccionesSerializado'); */ class Menu { /** - * Nombre del directorio en donde se encuentra el sistema;. + * Array con la configuracion de las secciones del sistema;. * - * @var string $directorio + * @var array $configuracion * @access private */ - var $_directorio; + var $_configuracion; /** * Array de array con los componentes del menu @@ -93,18 +90,18 @@ class Menu { /** * Constructor. Recibe como parametro el directorio en donde se encuentra el sistema. * - * @param string $directorio Nombre del directorio en donde se encuentra el sistema. + * @param array $configuracion Array con los datos de las secciones * * @return void * @access public */ - function Menu($directorio = null) // ~X2C + function Menu($configuracion = null) // ~X2C { $this->_componentes = array (); //Inicializo vacio el array de componentes del menu $this->_componentesVertical = array (); //Inicializo vacio el array de componentes del menu $this->_secciones = array (); //Inicializo vacio el array de los objetos secciones $this->_tabla = new HTML_Table('width=760 align="center" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" border="0"'); - $this->_directorio = $directorio; + $this->_configuracion = $configuracion; } // -X2C @@ -118,7 +115,7 @@ class Menu { function _generarArchivo() // ~X2C { $s = serialize($this); - $fp = fopen(PRE_DIR.$this->_directorio.POST_DIR.MENU_SERIALIZADO,'w'); + $fp = fopen($this->_configuracion['directorios']['root'].'/'.MENU_SERIALIZADO,'w'); fputs($fp, $s); fclose($fp); } @@ -135,7 +132,7 @@ class Menu { */ function _obtenerArchivo($directorio) // ~X2C { - $s = implode("", @file(PRE_DIR.$directorio.POST_DIR.MENU_SERIALIZADO)); + $s = implode("", @file($this->_configuracion['directorios']['root'].'/'.MENU_SERIALIZADO)); return unserialize($s); } // -X2C @@ -143,15 +140,14 @@ class Menu { // +X2C Operation 76 /** - * Funcion que obtiene el archivo de configuracion de secciones. + * Funcion que obtiene el arrayde configuracion de secciones. * * @return array * @access private */ function _obtenerConfSecciones() // ~X2C { - $archivo = include SISTEMA_CONF_SECCIONES; - return $archivo; + return $this->_configuracion['secciones']; } // -X2C @@ -171,7 +167,7 @@ class Menu { $cuenta = count ($confSec); $i = 1; foreach ($confSec as $sec) { - $tmp = new Seccion ($sec, $this->_directorio); + $tmp = new Seccion ($sec, $this->_configuracion); array_push($this->_componentes,$tmp->toHtml($linksel)); if ($cuenta == $i) { $ultimo = 1; @@ -193,22 +189,22 @@ class Menu { */ function _serializarArraySecciones() // ~X2C { - $secciones = include SISTEMA_CONF_SECCIONES; + $secciones = $this->_configuracion['secciones']; $tmp = array(); $tmp2 = array(); - $PATH = '/www/sistemas/'.$this->_directorio.'/www/'; + $PATH = $this->_configuracion['directorios']['www']; foreach ($secciones as $sec) { //Chequeo las secciones - $tmp[$sec['nombre']] = array ($PATH.$sec['link']); + $tmp[$sec['nombre']] = array ($PATH.'/'.$sec['link']); if (array_key_exists('hijos',$sec)) { foreach ($sec['hijos'] as $hijo) { //Chequeo las subsecciones - array_push($tmp[$sec['nombre']],$PATH.$hijo['link']); - $tmp2[$hijo['nombre']] = array ($PATH.$hijo['link']); + array_push($tmp[$sec['nombre']],$PATH.'/'.$hijo['link']); + $tmp2[$hijo['nombre']] = array ($PATH.'/'.$hijo['link']); if (array_key_exists('subhijos',$hijo)) { foreach ($hijo['subhijos'] as $subhijo) { //Chequeo las subsubsecciones - array_push($tmp[$sec['nombre']],$PATH.$subhijo); - array_push($tmp2[$hijo['nombre']],$PATH.$subhijo); + array_push($tmp[$sec['nombre']],$PATH.'/'.$subhijo); + array_push($tmp2[$hijo['nombre']],$PATH.'/'.$subhijo); } } } @@ -216,7 +212,8 @@ class Menu { } $tmp = array_merge($tmp,$tmp2); $s = serialize($tmp); - $fp = fopen(PRE_DIR.$this->_directorio.POST_DIR.ARRAYSECCIONES_SERIALIZADO,'w'); + $file_cache = strtr( $this->_configuracion['directorios']['root'], '/','_'); + $fp = fopen($this->_configuracion['directorios_fs']['cache'].'/'.ARRAYSECCIONES_SERIALIZADO.'_'.$file_cache,'w'); fputs($fp, $s); fclose($fp); } @@ -247,7 +244,7 @@ class Menu { * @access public */ function toHtml() // ~X2C - { + { return $this->_tabla->toHtml(); } // -X2C @@ -268,4 +265,4 @@ class Menu { } // -X2C Class :Menu -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/MenuHorizontal.php b/lib/MECON/Marco/MenuHorizontal.php index ab6b8fc..6b3d889 100644 --- a/lib/MECON/Marco/MenuHorizontal.php +++ b/lib/MECON/Marco/MenuHorizontal.php @@ -28,7 +28,7 @@ // +X2C includes -require_once 'Marco/Menu.php'; +require_once 'MECON/Marco/Menu.php'; // ~X2C // +X2C Class 100 :MenuHorizontal @@ -45,14 +45,14 @@ class MenuHorizontal extends Menu { /** * Constructor. Recibe el nombre del directorio en donde esta instalado el sistema * - * @param string $directorio Directorio en donde se encuentra la aplicacion + * @param array $configuracion Configuracion del sistema * * @return void * @access public */ - function MenuHorizontal($directorio = null) // ~X2C + function MenuHorizontal($configuracion = null) // ~X2C { - parent::Menu($directorio); + parent::Menu($configuracion); } // -X2C diff --git a/lib/MECON/Marco/MenuOculto.php b/lib/MECON/Marco/MenuOculto.php index 09fb80a..09f9483 100644 --- a/lib/MECON/Marco/MenuOculto.php +++ b/lib/MECON/Marco/MenuOculto.php @@ -28,11 +28,13 @@ // +X2C includes -require_once 'Marco/Menu.php'; +require_once 'MECON/Marco/Menu.php'; // ~X2C // +X2C Class 136 :MenuOculto /** + * Clase que se encarga del manejo de los menues ocultos. + * * @access public */ class MenuOculto extends Menu { @@ -43,14 +45,14 @@ class MenuOculto extends Menu { /** * Constructor. Recibe el nombre del directorio en donde esta instalado el sistema * - * @param string $directorio Directorio en donde se encuentra el sistema + * @param array $configuracion Configuracion del sistema * * @return void * @access public */ - function MenuOculto($directorio = null) // ~X2C + function MenuOculto($configuracion = null) // ~X2C { - parent::Menu($directorio); + parent::Menu($configuracion); } // -X2C @@ -91,4 +93,4 @@ class MenuOculto extends Menu { } // -X2C Class :MenuOculto -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/MenuPrincipal.php b/lib/MECON/Marco/MenuPrincipal.php index 723f320..71f8c54 100644 --- a/lib/MECON/Marco/MenuPrincipal.php +++ b/lib/MECON/Marco/MenuPrincipal.php @@ -28,7 +28,7 @@ // +X2C includes -require_once 'Marco/MenuHorizontal.php'; +require_once 'MECON/Marco/MenuHorizontal.php'; // ~X2C // +X2C Class 193 :MenuPrincipal @@ -50,20 +50,20 @@ class MenuPrincipal extends MenuHorizontal { // +X2C Operation 195 /** - * @param string $directorio Path en donde se encuentra el sistema. + * @param array $configuracion Configuracion del sistema * * @return void * @access public */ - function menuPrincipal($directorio) // ~X2C + function menuPrincipal($configuracion) // ~X2C { $this->_seccionSeleccionada = null; - parent::Menu($directorio); + parent::Menu($configuracion); - if (!is_null($directorio)) { + if (!is_null($configuracion['secciones'] || $configuracion['secciones'] == '')) { $this->_armarArraySecciones($this->_obtenerConfSecciones()); //Serializo el array asociativo de paginas-secciones -// if (!file_exists(PRE_DIR.$directorio.POST_DIR.ARRAYSECCIONES_SERIALIZADO)) { +// if (!file_exists($this->_configuracion['directorios']['root'].'/'.ARRAYSECCIONES_SERIALIZADO)) { $this->_serializarArraySecciones(); // } } @@ -102,7 +102,6 @@ class MenuPrincipal extends MenuHorizontal { $this->_seccionSeleccionada = $sec; } } - //Agrego el contenido de la pagina if (!is_null($this->_seccionSeleccionada)) { $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre); @@ -115,10 +114,9 @@ class MenuPrincipal extends MenuHorizontal { $row = array ($body['pie']); $this->_tabla->addRow($row,'align="center" bgcolor="#CCCCCC" colspan="'.$colspan.'"'); - } // -X2C } // -X2C Class :MenuPrincipal -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/MenuVertical.php b/lib/MECON/Marco/MenuVertical.php index 4b254a6..7e91148 100644 --- a/lib/MECON/Marco/MenuVertical.php +++ b/lib/MECON/Marco/MenuVertical.php @@ -28,11 +28,13 @@ // +X2C includes -require_once 'Marco/Menu.php'; +require_once 'MECON/Marco/Menu.php'; // ~X2C // +X2C Class 103 :MenuVertical /** + * Clase que se encarga del manejo de los menues verticales + * * @access public */ class MenuVertical extends Menu { @@ -43,14 +45,14 @@ class MenuVertical extends Menu { /** * Constructor. Recibe el nombre del directorio en donde esta instalado el sistema * - * @param string $directorio Directorio en donde se encuentra el sistema + * @param array $configuracion Configuracion del sistema * * @return void * @access public */ - function MenuVertical($directorio = null) // ~X2C + function MenuVertical($configuracion = null) // ~X2C { - parent::Menu($directorio); + parent::Menu($configuracion); } // -X2C @@ -113,4 +115,4 @@ class MenuVertical extends Menu { } // -X2C Class :MenuVertical -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/Seccion.php b/lib/MECON/Marco/Seccion.php index 86b20a9..19c1712 100644 --- a/lib/MECON/Marco/Seccion.php +++ b/lib/MECON/Marco/Seccion.php @@ -28,15 +28,15 @@ // +X2C includes -require_once 'Marco/Pagina.php'; +require_once 'MECON/Marco/Pagina.php'; // ~X2C //Require Agregados por MMARRE, no pasan por el xmi2code -require_once 'ImagenAnimada.php'; -require_once 'Menu.php'; -require_once 'MenuHorizontal.php'; -require_once 'MenuVertical.php'; -require_once 'MenuOculto.php'; +require_once 'MECON/Marco/ImagenAnimada.php'; +require_once 'MECON/Marco/Menu.php'; +require_once 'MECON/Marco/MenuHorizontal.php'; +require_once 'MECON/Marco/MenuVertical.php'; +require_once 'MECON/Marco/MenuOculto.php'; // +X2C Class 16 :Seccion @@ -79,12 +79,12 @@ class Seccion extends Pagina { var $_tipoMenu; /** - * Lugar en donde esta el sistema. + * Array con la configuracion del sistema * - * @var string $directorio + * @var array $configuracion * @access private */ - var $_directorio; + var $_configuracion; /** * @var string $menuHtml @@ -99,42 +99,41 @@ class Seccion extends Pagina { * Constructor. Recibe como parametro el nombre de la seccion * * @param array $seccion Array con la informacion de la seccion - * @param string $directorio Dir en donde esta el sistema + * @param array $configuracion Array con la configuracion del sistema * * @return void * @access public * @static */ - function Seccion($seccion, $directorio) // ~X2C + function Seccion($seccion, $configuracion) // ~X2C { if (array_key_exists('nombre',$seccion)) { - $this->_nombre = $seccion['nombre']; - } - - if (array_key_exists('imagenComun' ,$seccion)) - $imgComun =$seccion['imagenComun']; + $this->_nombre = $seccion['nombre']; + } + if (array_key_exists('imagenComun', $seccion)) + $imgComun = $seccion['imagenComun']; else unset($imgComun); - if (array_key_exists('imagenMouseOn',$seccion)) - $imgMouseOn=$seccion['imagenMouseOn']; + if (array_key_exists('imagenMouseOn', $seccion)) + $imgMouseOn = $seccion['imagenMouseOn']; else unset($imgMouseOn); - if (array_key_exists('imagenSelect' ,$seccion)) - $imgSelect =$seccion['imagenSelect']; + if (array_key_exists('imagenSelect', $seccion)) + $imgSelect = $seccion['imagenSelect']; else unset($imgSelect); - $this->_imagen = new ImagenAnimada($imgComun,$imgMouseOn,$imgSelect); + $this->_imagen = new ImagenAnimada($imgComun, $imgMouseOn, $imgSelect, $configuracion['directorios']['imagenes']); - if (array_key_exists('tipoMenu',$seccion)) { + if (array_key_exists('tipoMenu', $seccion)) { $this->_tipoMenu = $seccion['tipoMenu']; } - if (!is_null($directorio)) { - $this->_directorio = $directorio; + if (!is_null($configuracion)) { + $this->_configuracion = $configuracion; } - if (array_key_exists('link',$seccion)) { + if (array_key_exists('link', $seccion)) { parent::Pagina($seccion['link']); } - if (array_key_exists('hijos',$seccion)) { + if (array_key_exists('hijos', $seccion)) { $this->_cargarHijos($seccion['hijos']); } } @@ -185,13 +184,13 @@ class Seccion extends Pagina { function _cargarHijos($hijos) // ~X2C { if ($this->_tipoMenu == 'vertical'){ - $tmp = new MenuVertical($this->_directorio); + $tmp = new MenuVertical($this->_configuracion); } elseif ($this->_tipoMenu == 'horizontal') { - $tmp = new MenuHorizontal($this->_directorio); + $tmp = new MenuHorizontal($this->_configuracion); } else { - $tmp = new MenuOculto($this->_directorio); + $tmp = new MenuOculto($this->_configuracion); } foreach ($hijos as $hijo) { $tmp->agregarComponente($hijo); @@ -209,8 +208,9 @@ class Seccion extends Pagina { */ function _desSerializarArraySecciones() // ~X2C { - $tmp = PRE_DIR.$this->_directorio.POST_DIR.ARRAYSECCIONES_SERIALIZADO; - + $file_cache = strtr($this->_configuracion['directorios']['root'],'/','_'); + $tmp = $this->_configuracion['directorios_fs']['cache'].'/'.ARRAYSECCIONES_SERIALIZADO.'_'.$file_cache; + if (file_exists($tmp)) { $s = implode("", @file($tmp)); return unserialize($s); @@ -294,4 +294,4 @@ Devuelve 1 si pertenece a la seccion, en caso contrario 0. } // -X2C Class :Seccion -?> \ No newline at end of file +?> diff --git a/lib/MECON/Marco/Titulo.php b/lib/MECON/Marco/Titulo.php index fbee3c9..0a823d7 100644 --- a/lib/MECON/Marco/Titulo.php +++ b/lib/MECON/Marco/Titulo.php @@ -36,25 +36,25 @@ class Titulo { /** * Array con los datos de configuracion del sistema. * - * @var array $configuracion + * @var string $titulo * @access private */ - var $_configuracion; + var $_titulo; // ~X2C // +X2C Operation 52 /** - * Constructor. Recibe como parametro el array de configuracion del sistema. + * Constructor. Recibe como parametro el titulo del sistema. * - * @param array $configuracion + * @param string $titulo Titulo del sistema * * @return void * @access public */ - function Titulo($configuracion) // ~X2C + function Titulo($titulo) // ~X2C { - $this->_configuracion = $configuracion; + $this->_titulo = $titulo; } // -X2C @@ -67,7 +67,7 @@ class Titulo { */ function toHtml() // ~X2C { - $TEXTO = "\n".''.$this->_configuracion['titulo_sistema'].''."\n"; + $TEXTO = "\n".''.$this->_titulo.''."\n"; return $TEXTO; } // -X2C @@ -81,7 +81,7 @@ class Titulo { */ function darTitulo() // ~X2C { - return $this->_configuracion['titulo_sistema']; + return $this->_titulo; } // -X2C diff --git a/test/Marco/prueba/conf/confSecciones.php b/test/Marco/prueba/conf/confSecciones.php index 7de687a..96d22e1 100644 --- a/test/Marco/prueba/conf/confSecciones.php +++ b/test/Marco/prueba/conf/confSecciones.php @@ -39,16 +39,20 @@ */ return array ( - //Directorios del sistema, salvo el root, todos son opcionales + //Directorios web del sistema, salvo el root, todos son opcionales //Si no se ponen, o estan vacias se asume lo que dice el comentario al lado de cada una - 'directorios' = array ('root' => 'www/sistemas/prueba/www', //obligatorio - 'imagenes' => 'www/sistemas/prueba/www/images', //www/sistema//www/images - 'estilos' => '', //www/sistema//www/css - 'js' => '', //www/sistema//www/js - ), - 'titulo_sistema' = 'Prueba del Objeto Marco', - 'pie_sistema' = 'Prueba Objeto Marco - Ministerio de Economia' - 'secciones' = array ( + 'directorios' => array ('root' => '/www/sistemas/prueba', // obligatorio + 'imagenes' => '/www/sistemas/prueba/www/images', // /www/images + 'estilos' => '', // /www/css + 'js' => '', // /www/js + 'www' => '', // /www/ + ), + //Directorios del file system. Si no se pone se asume lo que esta comentado. Son opcionales + 'directorios_fs' => array ('cache' => '', // /tmp + ), + 'titulo_sistema' => 'Prueba del Objeto Marco', + 'pie_sistema' => 'Prueba Objeto Marco - Ministerio de Economia', + 'secciones' => array ( // SECCION 1 {{{ // LAS UNICAS CLAVES OBLIGATORIAS SON NOMBRE, IMAGENCOMUN Y LINK array ( @@ -98,7 +102,7 @@ ), ), // }}} FIN SECCION 2 - ), + ), ); ?> diff --git a/test/Marco/prueba/www/include/prepend.php b/test/Marco/prueba/www/include/prepend.php index 640f441..67dbbce 100644 --- a/test/Marco/prueba/www/include/prepend.php +++ b/test/Marco/prueba/www/include/prepend.php @@ -4,9 +4,9 @@ //ARCHIVO DE PRUEBA DEL OBJETO MARCO require_once '/var/www/meconlib/MECON/general.php'; -prepend_include_path('/home/mmarrese/public_html/meconlib/tronco/lib/'); +prepend_include_path('/home/mmarrese/public_html/meconlib/tronco/lib'); -require_once 'Marco.php'; +require_once 'MECON/Marco.php'; //session_start(); diff --git a/test/Marco/prueba/www/index.php b/test/Marco/prueba/www/index.php index 6cac8e5..8561061 100644 --- a/test/Marco/prueba/www/index.php +++ b/test/Marco/prueba/www/index.php @@ -1,5 +1,5 @@ addBody(''); $MARCO->display(); ?> diff --git a/test/Marco/prueba/www/perfiles.php b/test/Marco/prueba/www/perfiles.php index 9091317..fcd2fb8 100644 --- a/test/Marco/prueba/www/perfiles.php +++ b/test/Marco/prueba/www/perfiles.php @@ -1,5 +1,5 @@ addBody('A MI ME REBOTA Y A VOS TE EXPLOTA'); $MARCO->addTitle('PERFILES PRUEBA'); $MARCO->addBody('
Actitud Maria Marta
'); diff --git a/test/Marco/prueba/www/sarasa1.php b/test/Marco/prueba/www/sarasa1.php index e01c753..9bb6630 100644 --- a/test/Marco/prueba/www/sarasa1.php +++ b/test/Marco/prueba/www/sarasa1.php @@ -1,5 +1,5 @@ addBody('ESTO ES EL NIETO'); $MARCO->addBody('ESTO ES EL NIETO'); $MARCO->addBody('ESTO ES EL NIETO'); diff --git a/test/Marco/prueba/www/usuarios-abm.php b/test/Marco/prueba/www/usuarios-abm.php index 243023b..7d3bfba 100644 --- a/test/Marco/prueba/www/usuarios-abm.php +++ b/test/Marco/prueba/www/usuarios-abm.php @@ -1,5 +1,5 @@ addTitle('USUARIOS - ABM'); $MARCO->addBody('
ESTO ES UNA PRUEBA PARA LOS HIJOS DE LAS SECCIONES
USUARIOS - ABM
'); $MARCO->display(); diff --git a/test/Marco/prueba/www/usuarios-filtrar.php b/test/Marco/prueba/www/usuarios-filtrar.php index 5eda3ac..c6a7e29 100644 --- a/test/Marco/prueba/www/usuarios-filtrar.php +++ b/test/Marco/prueba/www/usuarios-filtrar.php @@ -1,8 +1,7 @@ addTitle('USUARIOS - FILTRAR'); $MARCO->addBody('
ESTO ES UNA PRUEBA PARA LOS HIJOS DE LAS SECCIONES
USUARIO - FILTRAR
'); $MARCO->addBody('
sarasa1
'); diff --git a/test/Marco/prueba/www/usuarios.php b/test/Marco/prueba/www/usuarios.php index af7958b..97376ec 100644 --- a/test/Marco/prueba/www/usuarios.php +++ b/test/Marco/prueba/www/usuarios.php @@ -1,6 +1,6 @@ addBody('Y NO ES FELIZ, AUNQUE SONRIA'); + $MARCO = new Marco ('../conf/confSecciones.php'); + $MARCO->addBody('Y NO ES FELIZ, AUNQUE SONRIA'); $MARCO->addTitle('USUARIOS - PRUEBA'); $MARCO->addBody('
HIJO DE DESAPARECIDO - Actitud Maria Marta
'); $MARCO->addBody('
USUARIOS-FILTRAR
'); -- 2.43.0