require_once 'PEAR.php';
require_once 'MECON/Marco/Copete.php';
-require_once 'MECON/Marco/Titulo.php';
require_once 'MECON/Marco/Menu.php';
require_once 'MECON/Marco/MenuPrincipal.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');
+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');
+define ('SCRIPT_DIR_BASE', '/MECON/js/' );
+define ('ESTILO_DIR_BASE', '/MECON/css/');
+define ('SCRIPT_GENERICO', 'marco.js' );
+define ('ESTILO_GENERICO', 'marco.css' );
//
// +X2C Class 3 :MECON_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.
+ * Clase encargada del manejo del Marco de los sistemas.
*
* @package MECON
* @access public
var $_configuracion;
/**
- * 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
+ * Mantiene el estado de los espacios
*
* @var bool $espacios
* @access private
var $_menuVertical = null;
/**
- * Mantiene el estado de los links en la pagina
+ * Mantiene el estado de los links en la pagina. (True habilitados, False no)
*
* @var bool $links
* @access private
/**
* Constructor. Recibe como parametro el path del archivo de configuracion
*
- * @param string $arch_configuracion Nombre del directorio en donde se encuentra el sistema.
+ * @param string $arch_configuracion indicacion de la ubicacion y nombre del archivo de configuracion
+ * @param MECON_Perm $obj_permiso Objeto Permisos
*
* @return void
* @access public
*/
- function MECON_Marco($arch_configuracion) // ~X2C
+ function MECON_Marco($arch_configuracion, $obj_permiso = null) // ~X2C
{
//Creo el objeto pagina
parent::HTML_Page(array ('doctype' => 'HTML 4.01 Transitional',
'simple' => 'true' ));
//Obtengo y arreglo la configuracion
$this->_obtenerConfiguracion($arch_configuracion);
+ //Agrego el objeto permiso a la configuracion
+ if (@$obj_permiso) {
+ $this->_configuracion['obj_permiso'] = $obj_permiso;
+ }
//Agrego el estilo y el script genericos
$this->addScript(SCRIPT_DIR_BASE.SCRIPT_GENERICO);
$this->addStyleSheet(ESTILO_DIR_BASE.ESTILO_GENERICO);
//Seteo el titulo
$this->setTitle($this->_configuracion['titulo_sistema']);
+ $this->_configuracion['subtitulo'] = '';
+ $this->_configuracion['titulo_sistema2'] = '';
}
// -X2C
// +X2C Operation 32
/**
- * Funcion que se encarga de la obtencion y generacion del array de configuracion.Recibe como parametro el directorio en donde se encuentra el sistema.
+ * Funcion que se encarga de la obtencion y generacion del array de configuracion. Recibe como parametro el path del archivo de configuracion
*
* @param string $archivo Archivo de configuracion del sistema
*
// +X2C Operation 97
/**
- * Redefinicion de la funcion que permite agregar o adosar elementos o string al body de la pagina
+ * Redefinicion de la funcion que permite agregar objetos o html al body de la pagina
Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCSS.
+@deprecated
*
* @param Mixed $body Mixed. Recibe el contenido a agregar como body de la pagina
*
*/
function addBody($body) // ~X2C
{
- if ((is_object($body)) && (method_exists($body, 'getcss'))) {
- $this->addStyleSheet($body->getCSS());
- }
$this->addBodyContent($body);
}
// -X2C
// +X2C Operation 124
/**
- * Funcion que permite adosar al titulo del sistema el titulo de la pagina.
+ * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
*
- * @param string $titulo Titulo de la pagina.
+ * @param string $titulo String que se quiere agregar al titulo del sistema
*
* @return void
* @access public
*/
function addTitle($titulo) // ~X2C
{
- $this->setTitle($this->_configuracion['titulo_sistema'].' - '.$titulo);
+ $this->_configuracion['titulo_sistema2'].= ' - '.$titulo;
}
// -X2C
// +X2C Operation 207
/**
- * Setea los espacios entre el menu principal el body y el pie de las paginas
+ * Setea la variable que define si hay que separar el body del menu
*
* @param bool $espacios Si es verdadero agrega los espacios, sino los elimina
*
// +X2C Operation 214
/**
- * Agrega un menu vertical a la izquierda en la pantalla. Por ahora solo funciona con MenuOculto
+ * Agrega un menu vertical a la izquierda en la pantalla.
*
* @param mixed $menuVertical Objeto u Html que representa el menu a mostrar.
*
*/
function addMenuVertical($menuVertical) // ~X2C
{
+ if ((is_object($menuVertical)) && (method_exists($menuVertical, 'getcss'))) {
+ $this->addStyleSheet($menuVertical->getCSS());
+ }
$this->_menuVertical = $menuVertical;
}
// -X2C
// +X2C Operation 218
/**
- * Permite deshabilitar la totalidad de los links desde una pagina
+ * Permite habilitar o deshabilitar los links de una pagina (todos)
*
* @param bool $param True habilita los links, False no.
*
*/
function toHTML() // ~X2C
{
+ //Seteo el titulo de la pagina
+ parent::setTitle($this->_configuracion['titulo_sistema'].$this->_configuracion['titulo_sistema2']);
//Agrego la opcion seleccionada de links a la configuracion
$this->_configuracion['links'] = $this->_links;
//Agrego la opcion seleccionada de espacios a la configuracion
}
// -X2C
+ // +X2C Operation 223
+ /**
+ * Redefinicion de la funcion que permite agregar objetos o html al body de la pagina
+Si es un objeto debe tener un metodo toHtml y opcionalmente puede tener un getCSS.
+ *
+ * @param mixed $content Contenido a agregar en la pagina
+ *
+ * @return void
+ * @access public
+ */
+ function addBodyContent($content) // ~X2C
+ {
+ if ((is_object($content)) && (method_exists($content, 'getcss'))) {
+ $this->addStyleSheet($content->getCSS());
+ }
+ parent::addBodyContent($content);
+ }
+ // -X2C
+
+ // +X2C Operation 224
+ /**
+ * Funcion que permite concatenar lo pasado como parametro al titulo del sistema
+ *
+ * @param string $subtitulo Subtitulo a agregar
+ *
+ * @return void
+ * @access public
+ */
+ function addSubTitle($subtitulo) // ~X2C
+ {
+ if (is_a($subtitulo, 'mecon_html_link')) {
+ $subtitulo->updateAttributes(
+ array('class' => 'mecon_marco_subtitle'));
+ }
+ if (method_exists($subtitulo, 'tohtml')) {
+ $subtitulo = $subtitulo->toHtml();
+ }
+ $this->_configuracion['subtitulo'] .= ' - ' . $subtitulo;
+ }
+ // -X2C
+
+ // +X2C Operation 225
+ /**
+ * Concatena lo pasado por parametro al titulo del sistema
+ *
+ * @param string $titulo Titulo a agregar. Si se pasa vacio se borra lo que pudiera estar
+ *
+ * @return void
+ * @access public
+ */
+ function setTitle($titulo = '') // ~X2C
+ {
+ $this->_configuracion['titulo_sistema2'] = ($titulo) ? ' - '.$titulo :
+ '';
+ }
+ // -X2C
+
+ // +X2C Operation 226
+ /**
+ * Concatena lo pasado por parametro al titulo de seccion
+ *
+ * @param string $subtitulo Setea el subtitulo. Si se pasa vacio borra lo que pudiera estar.
+ *
+ * @return void
+ * @access public
+ */
+ function setSubtitle($subtitulo = '') // ~X2C
+ {
+ $this->_configuracion['subtitulo'] = ($subtitulo) ? ' - '.$subtitulo :
+ '';
+ }
+ // -X2C
+
+ // +X2C Operation 243
+ /**
+ * Permite hacer que en el copete aparezca un icono de ayuda, en un lugar predefinido. Sobreescribe lo seteado anteriormente por cualquier metodo.
+ *
+ * @param mixed $ayuda Objeto MECON_HTML_Link o string para utilizar en el map.
+ *
+ * @return void
+ * @access public
+ */
+ function setAyuda($ayuda) // ~X2C
+ {
+ $this->_configuracion['ayuda'] = $ayuda;
+ }
+ // -X2C
+
+ // +X2C Operation 277
+ /**
+ * Permite obtener el array de configuracion completo. En caso de recibir una clave como parametro devuelve su valor. Solo se tienen en cuenta las claves del primer nivel.
+ *
+ * @param string $clave Clave del array de configuracion a obtener.
+ *
+ * @return mixed
+ * @access public
+ */
+ function getConf($clave = null) // ~X2C
+ {
+ if ($clave) {
+ return @$this->_configuracion[$clave];
+ }
+ else {
+ return $this->_configuracion;
+ }
+ }
+ // -X2C
+
} // -X2C Class :MECON_Marco
?>
\ No newline at end of file