Viewing file: tp_admin_lte_horiz.php (28 KB) -rw-rw-r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class tp_admin_lte_horiz extends toba_tp_normal
{
protected $titulo;
protected $s__item;
protected $s__foto;
function __construct()
{
//$this->menu = toba::menu();
$info['basica'] = toba::solicitud()->get_datos_item();
$this->s__item = new toba_item_info($info);
$this->s__item->cargar_rama();
//user info -----------------------------------------------------------
if(is_file("img/fotos/".toba::usuario()->get_id().".jpg")){
$this->s__picture = "img/fotos/".toba::usuario()->get_id().".jpg";
}elseif(is_file("img/fotos/".toba::usuario()->get_id().".JPG")){
$this->s__picture = "img/fotos/".toba::usuario()->get_id().".JPG";
}elseif(is_file("img/fotos/".toba::usuario()->get_id().".gif")){
$this->s__picture = "img/fotos/".toba::usuario()->get_id().".gif";
}elseif(is_file("img/fotos/".toba::usuario()->get_id().".png")){
$this->s__picture = "img/fotos/".toba::usuario()->get_id().".png";
}else{
$this->s__picture = "img/fotos/unnamed.png";
}
}
function encabezado()
{
$this->cabecera_html();
$this->comienzo_cuerpo();
$this->barra_superior();
//--- No se cierra el div de encabezado para dar lugar a la zona...
}
protected function cabecera_html()
{
echo "<!DOCTYPE html>";
echo "<HTML>\n";
echo "<HEAD>\n";
echo "<title>".$this->titulo_pagina()."</title>\n";
$this->metas();
$this->plantillas_css();
$this->estilos_css();
toba_js::cargar_consumos_basicos();
echo '<script type="text/javascript" src="https://www.google.com/jsapi"></script>';
echo "</HEAD>\n";
}
protected function metas()
{
echo '<meta charset="utf-8">';
echo '<meta http-equiv="X-UA-Compatible" content="IE=edge">';
echo '<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" >';
echo '<meta name="description" content="-----" />';
echo '<meta name="author" content="PUNTOCOM" />';
}
protected function plantillas_css()
{
if (isset($this->menu)) {
$estilo = $this->menu->plantilla_css();
if ($estilo != '') {
#echo toba_recurso::link_css($estilo, 'screen', false);
}
}
#echo toba_recurso::link_css('toba', 'screen');
#echo toba_recurso::link_css('toba_impr', 'print');
$ico = toba_recurso::imagen_proyecto('favicon.ico');
echo '<link rel="icon" href="'.$ico.'" type="image/x-icon" /><link rel="shortcut icon" href="'.$ico.'" type="image/x-icon" />';
}
protected function estilos_css()
{
#echo "<link rel='stylesheet' href='".toba_recurso::url_toba()."/js/formalize/stylesheets/formalize.css' />";
echo "<link rel='stylesheet' href='css/toba_basico.css' />";
echo "
<style type='text/css'>
#overlay, #capa_espera {
background-image:url('". toba_recurso::imagen_toba('nucleo/overlay.gif'). "');
}
#barra_superior {
display:none;
}
</style>
";
//admin_lte_2.1.1
echo '
<!-- Bootstrap 3.3.4 -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<!-- Font Awesome Icons -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<!-- Ionicons -->
<link href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet" type="text/css" />
<!-- Theme style -->
<link href="dist/css/AdminLTE.min.css" rel="stylesheet" type="text/css" />
<!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. -->
<link href="dist/css/skins/_all-skins.min.css" rel="stylesheet" type="text/css" />
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesnt work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
';
if($this->s__item->get_id() == 3485){
echo '
<style>
.ef-radio {
white-space: normal;
display: block;
font-weight: normal;
width: 300px;
padding-top: 2px;
padding-bottom: 2px;
font-size: 90%;
}
</style>
';
}
}
protected function comienzo_cuerpo()
{
$this->comienzo_cuerpo_basico();
#echo "<div id='barra_fija'>"; //se cierra sola luego del nav
//echo "<nav class='navbar horizontal-menu navbar-fixed-top'>";
#$this->sector_barra_superior();
}
protected function comienzo_cuerpo_basico()
{
echo '<body class="skin-red-light layout-top-nav">'; //skin-turquoise skin-green
#echo "<div id='contenedor'>\n"; //si lo abre se cierra solo sobre el body
toba_js::cargar_consumos_globales(array('basicos/tipclick'));
echo "\n<div id='overlay'><div id='overlay_contenido' class='modal-content'></div></div>";
$wait = toba_recurso::imagen_toba('wait.gif');
$wait_grande = toba_recurso::imagen_toba('waitbig.gif');
echo "<div id='div_toba_esperar' class='div-esperar' style='display:none'>";
echo "<img src='$wait' style='vertical-align: middle;' alt='' /> Procesando...";
echo "</div>\n";
echo "<div id='capa_espera'>
<div><p>Procesando...</p><img src='$wait_grande'></div>
</div>";
}
function barra_superior()
{
echo "<div id='barra_superior' class='barra-superior'>\n";
//echo "<div id='barra_superior' class='barra-superior barra-superior-tit'>\n";
//$this->info_version();
//echo "<div class='item-barra'>";
//$this->generar_ayuda();
//echo "<div class='item-barra-tit'>".$this->titulo_item()."</div>";
//echo "</div>\n\n";
}
function pre_contenido()
{
$et_bn = 'BARRA NAVEGACIÓN';
$et_op = 'Operación';
echo '
<!-- Site wrapper -->
<div class="wrapper">
<header class="main-header">
<nav class="navbar navbar-static-top">';
#sin container echo '<div class="container">';
echo '<div class="navbar-header">
<a href="aplicacion.php?ai=led||3468" class="navbar-brand"><b>Admin</b>LED</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<i class="fa fa-bars"></i>
</button>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse pull-left" id="navbar-collapse">
' ;
$padre='1'; $nivel=0;
$this->armar_menu($padre, $nivel, $this->s__item->get_id());
echo $this->s__menu;
/*echo '
<form class="navbar-form navbar-left" role="search" action="aplicacion.php?ai=led||3510" method="get">
<div class="form-group">
<input type="text" class="form-control" id="navbar-search-input" placeholder="'.$et_op.'...">
</div>
</form>';*/
echo '</div><!-- /.navbar-collapse -->
<!-- Navbar Right Menu -->
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
';
//$this->sector_mailbox();
echo '
<!-- User Account Menu -->
<li class="dropdown user user-menu">
<!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<!-- The user image in the navbar-->
<img src="'.$this->s__picture.'" class="user-image" alt="'.texto_plano(toba::usuario()->get_nombre()).'"/>
<!-- hidden-xs hides the username on small devices so only the image appears. -->
<span class="hidden-xs">'.texto_plano(toba::usuario()->get_nombre()).'</span>
</a>
<ul class="dropdown-menu">
<!-- The user image in the menu -->
<li class="user-header">
<img src="'.$this->s__picture.'" class="img-circle" alt="'.texto_plano(toba::usuario()->get_nombre()).'" />
<p>
'.texto_plano(toba::usuario()->get_nombre()).'
<small>'.toba::usuario()->get_id().'</small>
</p>
</li>
<!-- Menu Footer-->
<li class="user-footer">
<div class="pull-left">
<a href="aplicacion.php?ai=led||3482" class="btn btn-default btn-flat">Mi Cuenta</a>
</div>
<div class="pull-right">
<a href="#" onclick="javascript:salir()" class="btn btn-default btn-flat">Salir</a>
</div>
</li>
</ul>
</li>
</ul>
</div><!-- /.navbar-custom-menu -->';
#sin container echo '</div><!-- /.container-fluid -->';
echo '</nav>
</header>
';
echo '
<!-- Full Width Column -->
<div class="content-wrapper">';
#sin container echo '<div class="container">';
echo '<section class="content-header">';
$this->titulo_item();
echo '</section><!-- /.content-header -->';
echo "<!-- contenido toba -->\n";
echo '<section class="content">';
}
function post_contenido()
{
echo '
</section><!-- /.content -->
';
echo "<!-- fin contenido toba -->";
#sin container echo '</div><!-- /.container -->';
echo'
</div><!-- /.content-wrapper -->';
$this->sector_footer();
echo '</div><!-- ./wrapper -->';
}
function sector_footer(){
echo '<footer class="main-footer"><div class="container">
<div class="pull-right hidden-xs">
<b>Versión</b> 1.0
</div>
<strong>Copyright © 2016-'.date("Y").' PuntoCom S.A. Todos los derechos reservados.</strong><br>Sistema desarrollado por <a target="_blank" href="http://www.puntocomsa.com">PuntoCom S.A.</a> con <a target="_blank" href="http://toba.siu.edu.ar">SIU-Toba</a> y otros leguajes de código abierto. Plantilla desarrollada por <a target="_blank" href="http://almsaeedstudio.com">Almsaeed Studio</a>.
</div><!-- /.container -->
</footer>';
}
function sector_rastro($nivel=0)
{
$item = $this->s__item;
$nombre = $item->get_nombre();
$camino = '<li class="active ms-hover"><strong>('.$nombre.')</strong></li>';
$cont = 1;
while ($item->get_padre() != null) {
$item = $item->get_padre();
if (!$item->es_raiz()) {
$datos_item = toba::tabla('apex_item')->get_item($item->get_id());
if(!empty($datos_item['linecons'])){ $icon = '<i class="'.$datos_item['linecons'].'"></i>'; }
$nombre = $item->get_nombre();
if($datos_item['carpeta'] == 1){ //es menu
$camino = '<li class="ms-hover">'.$icon.$nombre.'</li>'.$camino;
}else{
$camino = '<li class="ms-hover"><a href="aplicacion.php?ai=led||'.$item->get_id().'">(('.$icon.$nombre.'))</a></li>'.$camino;
}
}
$cont++;
}
if($cont > 2){
echo '
<div class="breadcrumb-env">
<ol class="breadcrumb bc-1">';
echo $camino;
echo '
</ol>
</div>';
}
}
private function sector_mailbox()
{
//mailbox --------------------------------
$filtro['usuario_destino'] = toba::usuario()->get_id();
$filtro['no_abierto'] = true;
$filtro['visible_usuario_destino'] = 'si';
$datos_mailbox = toba::tabla('mailbox')->get_listado($filtro);
$cantidad = count($datos_mailbox);
if($cantidad > 0){
echo '<li>
<a href="aplicacion.php?ai=waybate||3558" class="dropdown-toggle">
<i class="fa fa-envelope-o"></i>
<span class="badge badge-green">'.$cantidad.'</span>
</a>
</li>';
}else{
echo '<li class="dropdown messages-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-envelope-o"></i>
<span class="label label-success">4</span>
</a>
<ul class="dropdown-menu">
<li class="header">You have 4 messages</li>
<li>
<!-- inner menu: contains the actual data -->
<div class="slimScrollDiv" style="position: relative; overflow: hidden; width: auto; height: 200px;"><ul class="menu" style="overflow: hidden; width: 100%; height: 200px;">
<li><!-- start message -->
<a href="#">
<div class="pull-left">
<img src="dist/img/user2-160x160.jpg" class="img-circle" alt="User Image">
</div>
<h4>
Support Team
<small><i class="fa fa-clock-o"></i> 5 mins</small>
</h4>
<p>Why not buy a new awesome theme?</p>
</a>
</li><!-- end message -->
<li>
<a href="#">
<div class="pull-left">
<img src="dist/img/user3-128x128.jpg" class="img-circle" alt="user image">
</div>
<h4>
AdminLTE Design Team
<small><i class="fa fa-clock-o"></i> 2 hours</small>
</h4>
<p>Why not buy a new awesome theme?</p>
</a>
</li>
<li>
<a href="#">
<div class="pull-left">
<img src="dist/img/user4-128x128.jpg" class="img-circle" alt="user image">
</div>
<h4>
Developers
<small><i class="fa fa-clock-o"></i> Today</small>
</h4>
<p>Why not buy a new awesome theme?</p>
</a>
</li>
<li>
<a href="#">
<div class="pull-left">
<img src="dist/img/user3-128x128.jpg" class="img-circle" alt="user image">
</div>
<h4>
Sales Department
<small><i class="fa fa-clock-o"></i> Yesterday</small>
</h4>
<p>Why not buy a new awesome theme?</p>
</a>
</li>
<li>
<a href="#">
<div class="pull-left">
<img src="dist/img/user4-128x128.jpg" class="img-circle" alt="user image">
</div>
<h4>
Reviewers
<small><i class="fa fa-clock-o"></i> 2 days</small>
</h4>
<p>Why not buy a new awesome theme?</p>
</a>
</li>
</ul><div class="slimScrollBar" style="background: rgb(0, 0, 0); width: 3px; position: absolute; top: 0px; opacity: 0.4; display: block; border-radius: 7px; z-index: 99; right: 1px;"></div><div class="slimScrollRail" style="width: 3px; height: 100%; position: absolute; top: 0px; display: none; border-radius: 7px; background: rgb(51, 51, 51); opacity: 0.2; z-index: 90; right: 1px;"></div></div>
</li>
<li class="footer"><a href="#">See All Messages</a></li>
</ul>
</li>';
}
}
function titulo_item()
{
echo '<h1>'.toba::solicitud()->get_datos_item('item_nombre').'<small>'.toba::solicitud()->get_datos_item('item_descripcion').'</small></h1>';
//rastro
/*
echo '<ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li class="active">Dashboard</li>
</ol>';
*/
$item = $this->s__item;
//Se recorre la rama
list($english_us,$spanish,$portuguese,$french) = explode('|', $item->get_nombre());
if($_SESSION['language'] == 'spanish' and !empty($spanish)){
$nombre = $spanish;
}elseif($_SESSION['language'] == 'portuguese' and !empty($portuguese)){
$nombre = $portuguese;
}elseif($_SESSION['language'] == 'french' and !empty($french)){
$nombre = $french;
}else{
$nombre = $english_us;
}
$camino = '<li class="active">'.$nombre.'</li>';
$cont = 1;
while ($item->get_padre() != null) {
$item = $item->get_padre();
if (!$item->es_raiz()) {
$datos_item = toba::tabla('apex_item')->get_item($item->get_id());
if(!empty($datos_item['linecons'])){ $icon = '<i class="'.$datos_item['linecons'].'"></i>'; }
$nombre = $item->get_nombre();
if($datos_item['carpeta'] == 1){ //es menu
$camino = '<li><a href="#">'.$icon.$nombre.'</a></li>'.$camino;
}else{
$camino = '<li><a href="aplicacion.php?ai=led||'.$item->get_id().'">'.$icon.$nombre.'</a></li>'.$camino;
}
}
$cont++;
}
if($cont > 2){
echo '<ol class="breadcrumb">';
echo $camino;
echo '</ol>';
}
}
protected function titulo_pagina()
{
$item_nombre = toba::solicitud()->get_datos_item('item_nombre');
$item_descripcion = toba::solicitud()->get_datos_item('item_descripcion');
$item = $item_nombre;
if(!empty($item_descripcion)){ $item.= ' - ' . $item_descripcion; }
return toba::proyecto()->get_parametro('descripcion_corta') . ' - ' . $item;
}
protected function generar_ayuda()
{
$mensaje = toba::mensajes()->get_operacion_actual();
if (isset($mensaje)) {
if (strpos($mensaje, ' ') !== false) { //Detecta si es una url o un mensaje completo
$desc = toba_parser_ayuda::parsear($mensaje);
$ayuda = toba_recurso::ayuda(null, $desc, 'item-barra-ayuda', 0);
echo "<div $ayuda>";
echo toba_recurso::imagen_toba("ayuda_grande.gif", true);
echo "</div>";
} else {
if (! toba_parser_ayuda::es_texto_plano($mensaje)) {
$mensaje = toba_parser_ayuda::parsear($mensaje, true); //Version resumida
}
$js = "abrir_popup('ayuda', '$mensaje', {width: 800, height: 600})";
echo "<a class='barra-superior-ayuda' href='#' onclick=\"$js\" title='Abrir ayuda'>".toba_recurso::imagen_toba("ayuda_grande.gif", true)."</a>";
}
}
}
protected function info_usuario(){
echo '<div class="enc-usuario">';
echo "<span class='enc-usuario-nom'>".texto_plano(toba::usuario()->get_nombre())."</span>";
echo "<span class='enc-usuario-id'>".texto_plano(toba::usuario()->get_id())."</span>";
echo '</div>';
}
protected function cabecera_aplicacion()
{
//--- Logo
//echo "<div id='enc-logo'><a href='#'>";
#echo $this->mostrar_logo();
//echo "</a></div>\n";
//--- Proyecto
#if(toba::proyecto()->es_multiproyecto()) {
# $this->cambio_proyecto();
#}
}
private function es_padre($item_consulta){
$item = $this->s__item; //item solicitado
//Se recorre la rama
$cont = 1;
while ($item->get_padre() != null) { //mientras el item solicitado tenga padre recorre
$item = $item->get_padre();
if (!$item->es_raiz()) { //si no es el raiz entra
#$datos_item = toba::tabla('apex_item')->get_item($item->get_id());
if($item->get_id() == $item_consulta){ //si el item que estamos revisadn es el de consulta, es que es padre
return true;
}
}else{
return false; //es el raiz, retornmos falso
}
}
return false;
}
private function armar_menu($padre, $nivel, $item_solicitado = '')
{
$hijos = toba::tabla('apex_item')->obtenerHijos($padre,0); //0 solo privado, 1 publico
if(count($hijos)>0){
if($nivel == 0){
$this->s__menu = '';
$class_ul = 'nav navbar-nav';
$class_li = '';
$nivel++;
}else{
$class_ul = 'dropdown-menu';
$class_li = '';
}
$this->s__menu.= '<ul class="'.$class_ul.'" role="menu">';
foreach($hijos as $hijo){
if($hijo['item'] == $item_solicitado or $this->es_padre($hijo['item']) == true ){// es el abierto
$class_li_active = ' active';
}else{
$class_li_active = '';
}
if($hijo['carpeta'] == 1){ //es menu
$this->s__menu .= '<li class="dropdown'.$class_li.$class_li_active.'">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">';
if(!empty($hijo['linecons'])){ $this->s__menu .= '<i class="'.$hijo['linecons'].'"></i> '; }
$this->s__menu .= '<span>'.$hijo['nombre'].'</span> <span class="caret"></span>
</a>';
//---------------------------------------
$this->armar_menu($hijo['item'], $nivel, $item_solicitado);
//---------------------------------------
$this->s__menu .= '</li>';
}else{ //es pagina
$this->s__menu .= '<li class="'.$class_li.$class_li_active.'">
<a href="aplicacion.php?ai=led||'.$hijo['item'].'">';
//if(!empty($hijo['linecons'])){ $this->s__menu .= '<i class="'.$hijo['linecons'].'"></i> '; }
$this->s__menu .= $hijo['nombre'].'
</a>
</li>';
}
}
$this->s__menu .= '
</ul>';
return; //echo $this->s__menu;
}
}
/*
private function armar_menu_sidebar($padre, $nivel, $item_solicitado = '')
{
$hijos = toba::tabla('apex_item')->obtenerHijos($padre,0); //solo privado
if(count($hijos)>0){
if($nivel == 0){
$this->s__menu = '';
$class_ul = 'sidebar-menu';
$class_li = 'treeview';
$nivel++;
}else{
$class_ul = 'treeview-menu"';
$class_li = '';
}
//ei_arbol($hijos,'hijos '.$padre);
$this->s__menu.= '<ul class="'.$class_ul.'">';
foreach($hijos as $hijo){
if($hijo['item'] == $item_solicitado or $this->es_padre($hijo['item']) == true ){// es el abierto
$class_li_active = ' active';
}else{
$class_li_active = '';
}
if($hijo['carpeta'] == 1){ //es menu
$this->s__menu .= '<li class="'.$class_li.$class_li_active.'">
<a href="#">';
if(!empty($hijo['linecons'])){ $this->s__menu .= '<i class="'.$hijo['linecons'].'"></i>'; }
$this->s__menu .= '<span>'.$hijo['nombre'].'</span><i class="fa fa-angle-left pull-right"></i>
</a>';
//---------------------------------------
$this->armar_menu_sidebar($hijo['item'], $nivel, $item_solicitado);
//---------------------------------------
$this->s__menu .= '</li>';
}else{ //es pagina
switch ($hijo['item']) {
case '3497':
case '3498':
case '3542':
case '3509':
case '3550':
case '3551':
case '3556':
$style = ' style="border-bottom: 1px solid #1E282C;"';
break;
default:
$style = '';
break;
}
$this->s__menu .= '<li'.$style.' class="'.$class_li.$class_li_active.'">
<a href="aplicacion.php?ai=led||'.$hijo['item'].'">';
if(!empty($hijo['linecons'])){ $this->s__menu .= '<i class="'.$hijo['linecons'].'"></i>'; }
$this->s__menu .= '<span>'.$hijo['nombre'].'</span>
</a>
</li>';
}
}
$this->s__menu .= '
</ul>';
return; //echo $this->s__menu;
}
}
*/
function pie()
{
echo '
<!-- jQuery 2.1.4 -->
<script src="plugins/jQuery/jQuery-2.1.4.min.js"></script>
<!-- Bootstrap 3.3.2 JS -->
<script src="bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<!-- SlimScroll -->
<script src="plugins/slimScroll/jquery.slimscroll.min.js" type="text/javascript"></script>
<!-- FastClick -->
<script src="plugins/fastclick/fastclick.min.js"></script>
<!-- AdminLTE App -->
<script src="dist/js/app.min.js" type="text/javascript"></script>
<!-- Demo -->
<script src="dist/js/demo.js" type="text/javascript"></script>';
echo "</BODY>\n";
echo "</HTML>\n";
}
}
?>
|