* 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 {
*/
var $_espacios;
+ /**
+ * Menu vertical para agregar en la pantalla.
+ *
+ * @var mixed $menuVertical
+ * @access private
+ */
+ var $_menuVertical;
+
// ~X2C
// +X2C Operation 26
* @return void
* @access public
*/
- function Marco($arch_configuracion)// ~X2C
+ function Marco($arch_configuracion) // ~X2C
{
parent::HTML_Page(array ('doctype'=>'HTML 4.01 Transitional',
'charset' => 'iso-8859-1',
$this->_contenido = array ();
$this->_espacios = true;
$this->_titulo2 = '';
+ $this->_menuVertical = null;
}
// -X2C
* @return void
* @access public
*/
- function agregarScript($archivo)// ~X2C
+ function agregarScript($archivo) // ~X2C
{
$tmp = $this->_directorio.SCRIPT_DIR_BASE.$archivo;
$this->addScript($tmp);
* @return void
* @access public
*/
- function agregarEstilo($archivo)// ~X2C
+ function agregarEstilo($archivo) // ~X2C
{
$tmp = $this->_directorio.ESTILO_DIR_BASE.$archivo;
$this->addStyleSheet($tmp);
* @return array
* @access private
*/
- function _obtenerConfiguracion($archivo)// ~X2C
+ function _obtenerConfiguracion($archivo) // ~X2C
{
$this->_configuracion = include $archivo;
//Verifico que existan los directorios, si no es asi los reemplazo por los defaults
* @return string
* @access public
*/
- function display()// ~X2C
+ function display() // ~X2C
{
//Agrego el header
$this->_header_display();
* @return void
* @access public
*/
- function addBody($body)// ~X2C
+ function addBody($body) // ~X2C
{
$this->_contenido[] = $body;
}
* @return void
* @access private
*/
- function _header_display()// ~X2C
+ function _header_display() // ~X2C
{
$tmp = $this->_titulo->darTitulo().$this->_titulo2;
$this->setTitle($tmp);
* @return void
* @access private
*/
- function _body_display()// ~X2C
+ function _body_display() // ~X2C
{
- $body = array ( 'copete' => $this->_copete->toHtml(),
- 'espacios' => $this->_espacios,
- '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());
* @return void
* @access public
*/
- function addTitle($titulo)// ~X2C
+ function addTitle($titulo) // ~X2C
{
$this->_titulo2.= ' - '.$titulo;
}
* @return void
* @access public
*/
- function setEspacios($espacios = true)// ~X2C
+ 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
+
} // -X2C Class :Marco
?>
\ No newline at end of file
/**
* Clase para el manejo de los copetes de los sistemas integrantes de intranet. Recibe el directorio porque debe obtener la imagen del directorio especificado.
*
+ * @package MECON_Marco
* @access public
*/
class Copete {
* @return void
* @access public
*/
- function Copete($directorio)// ~X2C
+ function Copete($directorio) // ~X2C
{
$this->_directorio = $directorio;
}
* @return string
* @access public
*/
- function toHtml()// ~X2C
+ function toHtml() // ~X2C
{
if (!is_null($this->_directorio)) {
return '<img src="'.$this->_directorio.'/copete">';
* @return string
* @access public
*/
- function darCopete()// ~X2C
+ function darCopete() // ~X2C
{
return '<img src="'.$this->_directorio.'/copete.jpg">';
}
/**
* Clase para el manejo de la animacion de las imagenes. Utilizada principalmente en la barra de secciones
*
+ * @package MECON_Marco
* @access public
*/
class ImagenAnimada {
* @return void
* @access public
*/
- function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '')// ~X2C
+ function ImagenAnimada($imagenComun, $imagenMouseOn = '', $imagenSelect = '', $directorio = '', $nombre = '', $link = '') // ~X2C
{
if ($imagenComun !== '') {
$this->_imgComun = $this->_calcularImagen($imagenComun, $directorio);
* @return string
* @access public
*/
- function toHtml()// ~X2C
+ function toHtml() // ~X2C
{
$src = $this->getSeleccionada() ? $this->_imgSelect : $this->_imgComun;
$img = new HTML_Image($src, $this->_nombre, array('name' => $this->_nombre, 'border' => 0));
* @return string
* @access protected
*/
- function _calcularImagen($imagen, $directorio, $modificador = '')// ~X2C
+ function _calcularImagen($imagen, $directorio, $modificador = '') // ~X2C
{
if ($modificador !== '') {
$pos = strrpos($imagen, '.');
} // -X2C Class :ImagenAnimada
-?>
+?>
\ No newline at end of file
/**
* Clase para el manejo de los menues y secciones de los sistemas.
*
+ * @package MECON_Marco
* @access public
*/
class Menu {
* @return void
* @access public
*/
- function Menu($configuracion = 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
* @return void
* @access private
*/
- function _generarArchivo()// ~X2C
+ function _generarArchivo() // ~X2C
{
$s = serialize($this);
$fp = fopen($this->_configuracion['directorios']['root'].'/'.MENU_SERIALIZADO,'w');
* @return string
* @access private
*/
- function _obtenerArchivo($directorio)// ~X2C
+ function _obtenerArchivo($directorio) // ~X2C
{
$s = implode("", @file($this->_configuracion['directorios']['root'].'/'.MENU_SERIALIZADO));
return unserialize($s);
* @return array
* @access private
*/
- function _obtenerConfSecciones()// ~X2C
+ function _obtenerConfSecciones() // ~X2C
{
return $this->_configuracion['secciones'];
}
* @return void
* @access private
*/
- function _armarArraySecciones($confSec)// ~X2C
+ function _armarArraySecciones($confSec) // ~X2C
{
$linksel = $_SERVER['PHP_SELF'];
$ultimo = 0;
* @return void
* @access private
*/
- function _serializarArraySecciones()// ~X2C
+ function _serializarArraySecciones() // ~X2C
{
$secciones = $this->_configuracion['secciones'];
$tmp = array();
* @return void
* @access public
*/
- function agregarComponente($componente)// ~X2C
+ function agregarComponente($componente) // ~X2C
{
array_push($this->_componentes,$componente);
}
* @return string
* @access public
*/
- function toHtml()// ~X2C
+ function toHtml() // ~X2C
{
return $this->_tabla->toHtml();
}
* @return string
* @access public
*/
- function menuToHtml()// ~X2C
+ function menuToHtml() // ~X2C
{
return $this->_menuHtml;
}
/**
* Clase que se encarga del manejo de los menues horizontales
*
+ * @package MECON_Marco
* @access public
*/
class MenuHorizontal extends Menu {
* @return void
* @access public
*/
- function MenuHorizontal($configuracion = null)// ~X2C
+ function MenuHorizontal($configuracion = null) // ~X2C
{
parent::Menu($configuracion);
}
* @param string $body Body para agregar a la pagina
* @param string $titulo Titulo de la seccion seleccionada
* @param bool $espacios Indica si hay que agregar espacios antes y despues del body
+ * @param mixed $menu Menu a mostrar
*
* @return void
* @access public
*/
- function addBody($body, $titulo, $espacios = true)// ~X2C
+ function addBody($body, $titulo, $espacios = true, $menu = null) // ~X2C
{
$c = count($this->_componentes);
$tit = '<font face="Arial, Helvetica, sans-serif" size="3" color="#FFFFFF"><b>'.$titulo.'</b></font>';
} // -X2C Class :MenuHorizontal
-?>
+?>
\ No newline at end of file
/**
* Clase que se encarga del manejo de los menues ocultos.
*
+ * @package MECON_Marco
* @access public
*/
class MenuOculto extends Menu {
* @return void
* @access public
*/
- function MenuOculto($configuracion = null)// ~X2C
+ function MenuOculto($configuracion = null) // ~X2C
{
parent::Menu($configuracion);
}
* @param string $body String con el cuerpo a agregar a la pagina
* @param string $titulo Titulo de la seccion seleccionada
* @param bool $espacios Indica si hay que agregar espacios antes y despues del body
+ * @param mixed $menu Menu a mostrar
*
* @return void
* @access public
*/
- function addBody($body, $titulo, $espacios = true)// ~X2C
+ function addBody($body, $titulo, $espacios = true, $menu = null) // ~X2C
{
+
+ if ($menu) {
+ $colspan = 2;
+ }
+ else {
+ $colspan = 1;
+ }
+
$tit = '<font face="Arial, Helvetica, sans-serif" size="3" color="#FFFFFF"><b>'.$titulo.'</b></font>';
$row = array ($tit);
- $this->_tabla->addRow($row,'align="left" bgcolor="#336699"');
+ $this->_tabla->addRow($row,'align="left" bgcolor="#336699" colspan="'.$colspan.'"');
+
+
//Agrego si corresponde el espacio al inicio
if ($espacios) {
$row = array (' ');
- $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF"');
+ $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF" colspan="'.$colspan.'"');
}
//
-
+
+ //Veo si debo cargar el menu horizontal
+ $row = array();
+ $tmp = '';
+ if ($menu) {
+ if (is_object($menu)) {
+ if (method_exists($menu,'toHtml')) {
+ $tmp.=$menu->toHtml();
+ }
+ else {
+ trigger_error('El metodo no existe!', E_USER_WARNING);
+ }
+ }
+ else {
+ $tmp.=$menu;
+ }
+ $row[] = $tmp;
+ }
+
$tmp='';
foreach ($body as $bod) {
if (is_object($bod)) {
$tmp.=$bod;
}
}
- $row = array ($tmp);
+ $row[] = $tmp;
$this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF"');
//Agrego si corresponde el espacio al final
if ($espacios) {
$row = array (' ');
- $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF"');
+ $this->_tabla->addRow($row,'align="left" bgcolor="#FFFFFF" colspan="'.$colspan.'"');
}
//
}
/**
* Clase que se encarga del manejo de los menues principales. Este menu es el de secciones general del sistema.
*
+ * @package MECON_Marco
* @access public
*/
class MenuPrincipal extends MenuHorizontal {
* @return void
* @access public
*/
- function menuPrincipal($configuracion)// ~X2C
+ function menuPrincipal($configuracion) // ~X2C
{
$this->_seccionSeleccionada = null;
parent::Menu($configuracion);
* @return void
* @access public
*/
- function addBody($body)// ~X2C
+ function addBody($body) // ~X2C
{
$colspan = count($this->_componentes);
}
//Agrego el contenido de la pagina
if (!is_null($this->_seccionSeleccionada) && isset($this->_seccionSeleccionada->_hijos)) {
- $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre, $body['espacios']);
+ $this->_seccionSeleccionada->_hijos->addBody($body['body'],$this->_seccionSeleccionada->_nombre, $body['espacios'], $body['menuVertical']);
$row = array ($this->_seccionSeleccionada->_hijos->toHtml());
$this->_tabla->addRow($row,'align="center" bgcolor="#FFFFFF" colspan="'.$colspan.'"');
}
/**
* Clase que se encarga del manejo de los menues verticales
*
+ * @package MECON_Marco
* @access public
*/
class MenuVertical extends Menu {
* @return void
* @access public
*/
- function MenuVertical($configuracion = null)// ~X2C
+ function MenuVertical($configuracion = null) // ~X2C
{
parent::Menu($configuracion);
}
* @param string $body Cuerpo del mensaje para agregar a la pagina
* @param string $titulo Titulo de la seccion seleccionada
* @param bool $espacios Indica si hay que agregar espacios antes y despues del body
+ * @param mixed $menu Menu a mostrar
*
* @return void
* @access public
*/
- function addBody($body, $titulo, $espacios = true)// ~X2C
+ function addBody($body, $titulo, $espacios = true, $menu = null) // ~X2C
{
$c= count($this->_componentes);
} // -X2C Class :MenuVertical
-?>
+?>
\ No newline at end of file
/**
* Clase para el manejo de las paginas.
*
+ * @package MECON_Marco
* @access public
*/
class Pagina {
* @return void
* @access public
*/
- function Pagina($pagina)// ~X2C
+ function Pagina($pagina) // ~X2C
{
$this->_link = $pagina;
}
* @return string
* @access public
*/
- function link()// ~X2C
+ function link() // ~X2C
{
return $this->_link;
}
/**
* Clase para el manejo de los pie de pagina de los sistemas de la intranet
*
+ * @package MECON_Marco
* @access public
*/
class Pie {
* @return void
* @access public
*/
- function Pie($configuracion)// ~X2C
+ function Pie($configuracion) // ~X2C
{
$this->_configuracion = $configuracion;
}
* @return string
* @access public
*/
- function toHtml()// ~X2C
+ function toHtml() // ~X2C
{
if (array_key_exists('pie_sistema',$this->_configuracion)) {
return $this->_configuracion['pie_sistema'];
* @return string
* @access public
*/
- function darPie()// ~X2C
+ function darPie() // ~X2C
{
return $this->_configuracion['pie_sistema'];
}
/**
* Clase seccion para el manejo de las secciones
*
+ * @package MECON_Marco
* @access public
*/
class Seccion extends Pagina {
* @access public
* @static
*/
- function Seccion($seccion, $configuracion)// ~X2C
+ function Seccion($seccion, $configuracion) // ~X2C
{
$this->_nombre = @strval($seccion['nombre']);
$imgComun = @strval($seccion['imagenComun']);
* @return string
* @access public
*/
- function toHtml($link_sel)// ~X2C
+ function toHtml($link_sel) // ~X2C
{
if (isset($_SESSION['deshabilitar_links']) && $_SESSION['deshabilitar_links']) {
$this->_imagen->setHabilitada(false);
* @return void
* @access private
*/
- function _cargarHijos($hijos)// ~X2C
+ function _cargarHijos($hijos) // ~X2C
{
if ($this->_tipoMenu == 'vertical'){
$tmp = new MenuVertical($this->_configuracion);
* @return void
* @access private
*/
- function _desSerializarArraySecciones()// ~X2C
+ function _desSerializarArraySecciones() // ~X2C
{
$file_cache = strtr($this->_configuracion['directorios']['root'],'/','_');
$tmp = $this->_configuracion['directorios_fs']['cache'].'/'.ARRAYSECCIONES_SERIALIZADO.'_'.$file_cache;
* @return int
* @access public
*/
- function verifSeccionSeleccionada($link_sel)// ~X2C
+ function verifSeccionSeleccionada($link_sel) // ~X2C
{
$tmp = $this->_desSerializarArraySecciones();
$retorno = 0;
* @return string
* @access public
*/
- function toHtmlVertical($link_sel, $ultimo = false)// ~X2C
+ function toHtmlVertical($link_sel, $ultimo = false) // ~X2C
{
$style = "text-decoration:none";
} // -X2C Class :Seccion
-?>
+?>
\ No newline at end of file
/**
* Clase para el manejo del titulo de los sistemas.
*
+ * @package MECON_Marco
* @access public
*/
class Titulo {
* @return void
* @access public
*/
- function Titulo($titulo)// ~X2C
+ function Titulo($titulo) // ~X2C
{
$this->_titulo = $titulo;
}
* @return string
* @access public
*/
- function toHtml()// ~X2C
+ function toHtml() // ~X2C
{
$TEXTO = "\n".'<title>'.$this->_titulo.'</title>'."\n";
return $TEXTO;
* @return string
* @access public
*/
- function darTitulo()// ~X2C
+ function darTitulo() // ~X2C
{
return $this->_titulo;
}