//
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';
-define ('SCRIPT_DIR_BASE' , '/www/js/');
-define ('ESTILO_DIR_BASE' , '/www/css/');
-define ('SCRIPT_GENERICO' , 'script.js');
-define ('ESTILO_GENERICO' , 'estilos.css');
-
+//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' , '/MECON/js/');
+define ('ESTILO_DIR_BASE' , '/MECON/css/');
+define ('SCRIPT_GENERICO' , 'general_script.js');
+define ('ESTILO_GENERICO' , 'general_estilos.css');
+//
// +X2C Class 3 :Marco
/**
* Clase que se encarga del manejo del marco en general en los sistemas de intranet.
Trabaja de forma general, llamando a los demas objetos para la realizacion del marco.
*
+ * @package MECON
* @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.
*
*/
var $_contenido;
+ /**
+ * Indica si hay que agregar espacios o no entre los componentes del menu de secciones y el contenido de la pagina, asi como entre la pagina y el pie de pagina
+ *
+ * @var bool $espacios
+ * @access private
+ */
+ var $_espacios;
+
+ /**
+ * Menu vertical para agregar en la pantalla.
+ *
+ * @var mixed $menuVertical
+ * @access private
+ */
+ var $_menuVertical;
+
// ~X2C
// +X2C Operation 26
'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 ();
-
+ $this->_espacios = true;
$this->_titulo2 = '';
+ $this->_menuVertical = null;
}
// -X2C
// +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['directorios']['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
*/
function _body_display() // ~X2C
{
- $body = array ( 'copete' => $this->_copete->toHtml(),
- 'body' => $this->_contenido,
- 'pie' => $this->_pie->toHtml(),
+ $body = array ( 'copete' => $this->_copete->toHtml(),
+ 'espacios' => $this->_espacios,
+ 'body' => $this->_contenido,
+ 'menuVertical' => $this->_menuVertical,
+ 'pie' => $this->_pie->toHtml(),
);
$this->_menu->addBody($body);
$this->addBodyContent($this->_menu->toHtml());
*/
function addTitle($titulo) // ~X2C
{
- $this->_titulo2 = ' - '.$titulo;
+ $this->_titulo2.= ' - '.$titulo;
+ }
+ // -X2C
+
+ // +X2C Operation 207
+ /**
+ * Setea los espacios entre el menu principal el body y el pie de las paginas
+ *
+ * @param bool $espacios Si es verdadero agrega los espacios, sino los elimina
+ *
+ * @return void
+ * @access public
+ */
+ function setEspacios($espacios = true) // ~X2C
+ {
+ $this->_espacios = $espacios;
+ }
+ // -X2C
+
+ // +X2C Operation 214
+ /**
+ * Agrega un menu vertical a la izquierda en la pantalla. Por ahora solo funciona con MenuOculto
+ *
+ * @param mixed $menuVertical Objeto u Html que representa el menu a mostrar.
+ *
+ * @return void
+ * @access public
+ */
+ function addMenuVertical($menuVertical) // ~X2C
+ {
+ $this->_menuVertical = $menuVertical;
}
// -X2C