function verificar_acceso($datos_iniciales = null) { $auth = $this->instanciar_pedido_onelogin(); if (!is_null(toba::memoria()->get_parametro('acs'))) { //Se verifica la respuesta y se chequea la autenticacion $auth->processResponse(); $this->verificar_errores_onelogin($auth); if (!$auth->isAuthenticated()) { throw new toba_error_autenticacion('No ha sido posible autenticar al usuario'); } $this->set_atributos_usuario($auth->getAttributes()); $id_usuario = $this->recuperar_usuario_toba(); //Recupero usr y verifico existencia en toba, excepcion si no existe try { toba::manejador_sesiones()->login($id_usuario, 'foobar', $datos_iniciales); //La clave no importa porque se autentifica via token } catch (toba_reset_nucleo $e) { if (isset($_POST['RelayState']) && OneLogin_Saml2_Utils::getSelfURL() != $_POST['RelayState']) { $auth->redirectTo($_POST['RelayState']); } else { throw $e; } } return $id_usuario; } else { $this->procesar_logout($auth); //Se hace el redirect hacia el idp $parametros_url = array(); if (isset($this->parametros_url) && is_array($this->parametros_url)) { $parametros_url = $this->parametros_url; } $auth->login($this->generar_url($parametros_url)); } }
private function __construct($recargar) { $this->memoria =& toba::manejador_sesiones()->segmento_info_instancia(); if (!$this->memoria || $recargar) { $this->memoria = $this->get_datos_instancia(self::get_id()); } }
function __construct() { $this->item = toba::memoria()->get_item_solicitado(); $this->id_restricciones = toba::manejador_sesiones()->get_restricciones_funcionales(); if (!empty($this->id_restricciones)) { $this->cargar_info_restricciones(); } }
function evt__modificacion() { $nuevas = $this->dep('datos')->get(); $this->dependencia('datos')->sincronizar(); //---Actualiza los parámetros del proyecto en la sesión activa if (toba::manejador_sesiones()->existe_sesion_activa($nuevas['proyecto'])) { toba::manejador_sesiones()->recargar_info_proyecto($nuevas['proyecto']); } }
function verificar_acceso($datos_iniciales = null) { $this->iniciar_pedido_saml(); $id_usuario = $this->recuperar_usuario_toba(); //Recupero usr y verifico existencia en toba, excepcion si no existe toba::manejador_sesiones()->login($id_usuario, 'foobar', $datos_iniciales); //La clave no importa porque se autentifica via ticket return $id_usuario; }
function evt__form__modificacion($datos) { if (isset($datos)) { try { toba::manejador_sesiones()->iniciar_sesion_proyecto($datos); } catch (toba_error_login $e) { toba::notificacion()->agregar($e->getMessage()); } } }
function post_eventos() { if (isset($this->s__datos['usuario'])) { if (!isset($this->s__datos['clave'])) { $this->s__datos['clave'] = null; } try { toba::manejador_sesiones()->login($this->s__datos['usuario'], $this->s__datos['clave']); } catch (toba_error_autenticacion $e) { toba::notificacion()->agregar($e->getMessage()); } } }
/** * Metodo que retorna los datos para cargar el app_launcher, se obtienen del usuario y de la clase de autenticacion */ private function cargar_app_launcher_data() { // datos por defecto $appLauncherDataDefault = array('usuario_id' => toba::usuario()->get_id(), 'usuario_nombre' => toba::usuario()->get_nombre(), 'usuario_foto' => toba_recurso::imagen_toba('usuarios/foto_perfil_defecto.png'), 'aplicaciones' => array()); // datos provenientes de la autenticacion $atributos_usuario = toba::manejador_sesiones()->get_autenticacion()->get_atributos_usuario(); if (isset($atributos_usuario['appLauncherData']) && !empty($atributos_usuario['appLauncherData'])) { $appLauncherData = json_decode(current($atributos_usuario['appLauncherData']), true); } else { $appLauncherData = array(); } // mergeo entre los datos por defecto y los datos de la autenticacion return array_merge($appLauncherDataDefault, $appLauncherData); }
static function get_proyecto_defecto() { $proyecto = toba::memoria()->get_dato_instancia('proyecto'); if (isset($proyecto)) { return $proyecto; } $proyectos = toba::manejador_sesiones()->get_proyectos_activos(); if (count($proyectos) > 1) { foreach ($proyectos as $proyecto) { if ($proyecto != toba::proyecto()->get_id()) { return $proyecto; } } } }
protected function cabecera_aplicacion() { $mostrar_app_launcher = toba::proyecto()->get_parametro('proyecto', 'app_launcher', false); if (!$mostrar_app_launcher) { $acceso_unico = toba::manejador_sesiones()->get_cantidad_proyectos_cargados() == 1; $js = $acceso_unico ? 'salir()' : 'window.close()'; echo '<a href="#" class="enc-salir" title="Cerrar la sesión" onclick="javascript:' . $js . '">'; echo toba_recurso::imagen_toba('finalizar_sesion.gif', true); echo '</a>'; //--- Usuario $this->info_usuario(); } else { //--- Usuario y aplicaciones $this->info_usuario_aplicaciones(); } //--- Logo echo "<div id='enc-logo' style='height:{$this->alto_cabecera}'>"; $this->mostrar_logo(); echo "</div>\n"; }
private function __construct() { //toba::logger()->debug("TOBA MEMORIA: Inicializacion.", 'toba'); //dump_session(); $this->id = uniqid('st', true); $this->url_actual = texto_plano($_SERVER["PHP_SELF"]); //-[1]- Busco el ID de referencia de la instanciacion anterior del HILO // Este ID me permite ubicar la memoria correcta para el request ACTUAL if (isset($_GET[apex_hilo_qs_id])) { $this->hilo_referencia = $_GET[apex_hilo_qs_id]; } else { //Atencion, no hay hilo de referencia. CONTROLAR!! //Esto tiene sentido solo para la pagina de logon (?) para el resto //del sistema implica que las cosas funcionen mal! } //-[2]- Que ITEM se solicito? $this->item_solicitado = self::get_item_solicitado_original(); //-[3]- Recupero los parametros $this->parametros = array(); foreach (array_keys($_GET) as $clave) { $this->parametros[utf8_decode($clave)] = utf8_decode($_GET[$clave]); } // $this->parametros = $_GET; //FALTA hacer un URL decode!!! $encriptar_qs = toba::proyecto()->get_parametro('encriptar_qs'); if ($encriptar_qs) { if (isset($_GET[apex_hilo_qs_parametros])) { $encriptador = toba::encriptador(); parse_str($encriptador->descifrar($_GET[apex_hilo_qs_parametros]), $parametros); $this->parametros = array_merge($this->parametros, $parametros); unset($this->parametros[apex_hilo_qs_parametros]); unset($this->parametros["jmb76"]); //Clave agregada para complicar la encriptacion } } unset($this->parametros[apex_hilo_qs_id]); unset($this->parametros[apex_hilo_qs_item]); //------- MEMORIA -- Hago el bindeo con $_SESSION ---------------------------- // Determino el ID de la celda de memoria actual if (isset($this->parametros[apex_hilo_qs_celda_memoria])) { $this->celda_memoria_actual_id = $this->parametros[apex_hilo_qs_celda_memoria]; unset($this->parametros[apex_hilo_qs_celda_memoria]); } else { $this->celda_memoria_actual_id = apex_hilo_qs_celda_memoria_defecto; } // Apunto las referencias a session $this->memoria_celdas =& toba::manejador_sesiones()->segmento_memoria_proyecto(); // Celda ACTUAL if (!isset($this->memoria_celdas[$this->celda_memoria_actual_id])) { $this->memoria_celdas[$this->celda_memoria_actual_id] = array(); } $this->celda_memoria_actual =& $this->memoria_celdas[$this->celda_memoria_actual_id]; // Memoria GLOBAL if (!isset($this->memoria_celdas['__toba__global_proyecto'])) { $this->memoria_celdas['__toba__global_proyecto'] = array(); } $this->memoria_global =& $this->memoria_celdas['__toba__global_proyecto']; // Memoria de la INSTANCIA $this->memoria_instancia =& toba::manejador_sesiones()->segmento_datos_instancia(); //----------------------------------------------------------------------------- if (isset($this->parametros[apex_hilo_qs_servicio])) { $this->servicio = substr($this->parametros[apex_hilo_qs_servicio], 0, 60); unset($this->parametros[apex_hilo_qs_servicio]); } if (isset($this->parametros[apex_hilo_qs_objetos_destino])) { $objetos = $this->parametros[apex_hilo_qs_objetos_destino]; $lista_obj = explode(",", $objetos); $this->objetos_destino = array(); foreach ($lista_obj as $obj) { if (trim($obj) != '') { $this->objetos_destino[] = explode(apex_qs_separador, $obj); } } unset($this->parametros[apex_hilo_qs_servicio]); } //Guardo el FLAG que indica si se accedio por el menu if (isset($_GET[apex_hilo_qs_menu])) { $this->acceso_menu = true; } else { $this->acceso_menu = false; } $this->inicializar_memoria(); if (isset($this->celda_memoria_actual['hilo'])) { //Si la página requerida es una que ya se genero, se descartan los siguientes pedidos //Esto permite manejar el caso del refresh y el back, aunque se pierde la posibilidad de re-hacer con forward //ya que cada back que se ingresa genera un nuevo estado (porque se realiza una nueva ejecución) $claves = array_keys($this->celda_memoria_actual['hilo']); if (in_array($this->hilo_referencia, $claves) && $this->hilo_referencia != end($claves)) { //No provengo desde la ultima generacion (seria el caso normal) $encontrado = false; foreach ($claves as $clave) { if ($encontrado) { unset($this->celda_memoria_actual['hilo'][$clave]); //Borro aquellos que quedan en 'sandwich' } if ($clave == $this->hilo_referencia) { $encontrado = true; } } } } }
static function generar_zona_vinculos_item($item, $accion, $enviar_div_wrapper = true) { if (!self::acceso_recursivo()) { toba::solicitud()->set_cronometrar(true); } toba_js::cargar_consumos_globales(array('utilidades/toba_editor')); $html_ayuda_editor = toba_recurso::ayuda(null, 'Presionando la tecla CTRL se pueden ver los enlaces hacia los editores de los distintos componentes de esta página'); $html_ayuda_cronometro = toba_recurso::ayuda(null, 'Ver los tiempos de ejecución en la generación de esta página'); $html_ayuda_ajax = toba_recurso::ayuda(null, 'Activar/Desactivar navegación interna de la operación via AJAX'); $html_ayuda_editor = toba_recurso::ayuda(null, 'Volver al editor de toba'); $solicitud = toba::solicitud()->get_id(); $link_cronometro = toba::vinculador()->get_url('toba_editor', '1000263', null, array('prefijo' => toba_editor::get_punto_acceso_editor())); $link_analizador_sql = toba::vinculador()->get_url('toba_editor', '30000030', null, array('prefijo' => toba_editor::get_punto_acceso_editor())); $link_logger = toba::vinculador()->get_url('toba_editor', '1000003', null, array('prefijo' => toba_editor::get_punto_acceso_editor())); $link_archivos = toba::vinculador()->get_url('toba_editor', '30000029', null, array('prefijo' => toba_editor::get_punto_acceso_editor())); $estilo = toba::proyecto()->get_parametro('estilo'); if ($enviar_div_wrapper) { echo "<div id='editor_previsualizacion'>"; /*echo "<div id='editor_previsualizacion_colap'><img style='cursor:pointer;_cursor:hand;' title='Ocultar la barra' src='".toba_recurso::imagen_toba('nucleo/expandir_izq.gif', false)."' onclick='toggle_nodo(\$\$(\"editor_previsualizacion_cont\"))'/></div>";*/ } echo "<span id='editor_previsualizacion_cont'>"; echo "<span id='editor_previsualizacion_vis'>"; //Logger list($log_nivel, $log_cant) = toba::logger()->get_mensajes_minimo_nivel(); $niveles = toba::logger()->get_niveles(); $niveles[0] = 'INFO'; $img = self::imagen_editor('logger/' . strtolower($niveles[$log_nivel]) . '.gif', true); $html_ayuda_logger = toba_recurso::ayuda(null, 'Visor de logs'); echo "<a href='{$link_logger}' target='logger' {$html_ayuda_logger} >" . $img . " {$log_cant}</a>\n"; //Cronometro toba::cronometro()->marcar('Resumen toba_editor'); echo "<a href='{$link_cronometro}' target='logger' {$html_ayuda_cronometro} >\n" . toba_recurso::imagen_toba('clock.png', true) . ' ' . round(toba::cronometro()->tiempo_acumulado(), 2) . ' seg' . "</a> "; //Memoria if (function_exists('memory_get_peak_usage')) { $memoria_pico = memory_get_peak_usage(); echo toba_recurso::imagen_toba('memory.png', true, 16, 16, 'Pico máximo de memoria que ha consumido el script actual'); echo ' ' . file_size($memoria_pico, 0) . ' '; } //Base de datos $fuente = toba_admin_fuentes::instancia()->get_fuente_predeterminada(false, toba_editor::get_proyecto_cargado()); if ($fuente) { try { $base = toba_admin_fuentes::instancia()->get_fuente($fuente, toba_editor::get_proyecto_cargado())->get_db(); $info_db = $base->get_info_debug(); $total = 0; foreach ($info_db as $info) { if (isset($info['fin'])) { $total += $info['fin'] - $info['inicio']; } } $rol = toba::db()->get_rol_actual(); toba::memoria()->set_dato_instancia('previsualizacion_consultas', array('fuente' => $fuente, 'datos' => $info_db)); echo "<a href='{$link_analizador_sql}' target='logger'>" . toba_recurso::imagen_toba('objetos/datos_relacion.gif', true, 16, 16, 'Ver detalles de las consultas y comandos ejecutados en este pedido de página') . count($info_db) . " ({$rol})</a>"; } catch (toba_error $e) { //Si no se tiene acceso a la base no se hace nada } } //Archivos $archivos = self::get_archivos_incluidos(); $total = 0; foreach ($archivos as $arch) { $total += filesize($arch); } toba::memoria()->set_dato_instancia('previsualizacion_archivos', $archivos); echo "<a href='{$link_archivos}' target='logger'>" . toba_recurso::imagen_toba('nucleo/php.gif', true, 16, 16, 'Ver detalle de archivos .php del proyecto incluidos en este pedido de página') . ' ' . count($archivos) . " arch. (" . file_size($total, 0) . ')</a>'; //Session $tamano = file_size(strlen(serialize($_SESSION)), 0); echo toba_recurso::imagen_toba('sesion.png', true, 16, 16, 'Tamaño de la sesión') . " {$tamano} "; echo "</span>"; //-- ACCIONES echo "<span id='editor_previsualizacion_acc'>"; $perfiles = array(apex_ef_no_seteado => '-- Todos --'); foreach (toba::manejador_sesiones()->get_perfiles_funcionales() as $perfil) { $perfiles[$perfil] = $perfil; } $actuales = toba::manejador_sesiones()->get_perfiles_funcionales_activos(); $actual = null; if (count($actuales) == 1) { $actual = current($actuales); } $js = "title='Cambia el perfil actual del usuario' onchange=\"location.href = toba_prefijo_vinculo + '&perfil_activo=' + this.value\""; echo "Perfiles: " . toba_form::select('cambiar_perfiles', $actual, $perfiles, 'ef-combo', $js); //Usuario de la base $hay_limitado = false; if (!isset(self::$fuentes)) { self::$fuentes = toba_info_editores::get_fuentes_datos(toba_editor::get_proyecto_cargado()); } foreach (self::$fuentes as $fuente) { if ($fuente['permisos_por_tabla']) { $hay_limitado = true; } } if ($hay_limitado) { $actual = self::$memoria['conexion_limitada'] ? 'limitado' : 'normal'; $datos = array("normal" => "Normal", "limitado" => "Limitados"); $js = "title='Cambia temporalmente el usuario de conexión a la base' onchange=\"location.href = toba_prefijo_vinculo + '&usuario_conexion=' + this.value\""; echo "Permisos DB: " . toba_form::select('cambiar_rol', $actual, $datos, 'ef-combo', $js); } //Skin $skins = rs_convertir_asociativo(toba_info_editores::get_lista_skins(), array('estilo', 'proyecto'), 'descripcion'); $js = "title='Cambia temporalmente el skin de la aplicación' onchange=\"location.href = toba_prefijo_vinculo + '&skin=' + this.value\""; $defecto = toba::proyecto()->get_parametro('estilo') . apex_qs_separador . toba::proyecto()->get_parametro('estilo_proyecto'); echo "Skin: " . toba_form::select('cambiar_skin', $defecto, $skins, 'ef-combo', $js); //AJAX echo "<a id='editor_ajax' href='javascript: editor_cambiar_ajax()' {$html_ayuda_ajax}>" . toba_recurso::imagen_toba('objetos/ajax_off.png', true) . "</a>\n"; //Edicion echo "<a href='javascript: editor_cambiar_vinculos()' {$html_ayuda_editor} >" . toba_recurso::imagen_toba('edicion_chico.png', true) . "</a>\n"; //Arbol $vinculos = self::get_vinculos_item($item, $accion); if (isset($vinculos[1])) { self::mostrar_vinculo($vinculos[1]); } //Editor echo "<a href='#' onclick='return toba_invocar_editor()' {$html_ayuda_editor}>" . toba_recurso::imagen_toba('icono_16.png', true) . "</a>\n"; echo "</span>"; echo "</span>"; echo "<div class='div-editor' style='position:fixed; top: 85px; left: 1px;'>"; foreach (self::get_vinculos_item($item, $accion) as $vinculo) { self::mostrar_vinculo($vinculo); } echo "</div>"; if ($enviar_div_wrapper) { echo "</div>"; } }
$js_cambiar_color_2 = " onmouseover=\"this.className='listado-barra-superior-tabn-m';\" " . " onmouseout=\"this.className='listado-barra-superior-tabn';\""; if (isset($_POST['admin_proyecto'])) { toba_editor::set_proyecto_cargado($_POST['admin_proyecto']); toba::memoria()->set_dato_instancia('proyecto', $_POST['admin_proyecto']); $opciones = array('validar' => false); $vinculo = toba::vinculador()->get_url(toba_editor::get_id(), 1000231, array(), $opciones); //-- Fuerza a recargar los datos de instalacion e instancia toba_manejador_sesiones::recargar_info_instalacion(); toba_manejador_sesiones::recargar_info_instancia(); //--- Refresca los otros frames echo toba_js::abrir(); echo "top.location.href = '{$vinculo}';"; echo toba_js::cerrar(); } echo toba_form::abrir('cambiar_proyecto', ''); toba::manejador_sesiones()->enviar_csrf_hidden(); ?> <style type='text/css'> .ci-tabs-h-lista a { padding: 5px 10px 2px 3px; min-height: 20px; } #barra_superior { display:none; } </style> <script type="text/javascript" language='javascript'> var frame_admin = top.document.getElementById('frameset_admin'); if (frame_admin) { var ancho_frame = frame_admin.cols;
/** * Retorna la lista de permisos globales (tambien llamados derechos) de un grupo de acceso en el proyecto actual */ function get_lista_permisos($grupos_acceso = null) { $grupos_acceso = isset($grupos_acceso) ? $grupos_acceso : toba::manejador_sesiones()->get_perfiles_funcionales_activos(); if (toba::nucleo()->utilizar_metadatos_compilados($this->id)) { $rs = $this->recuperar_datos_compilados_grupo('toba_mc_gene__grupo_', $grupos_acceso, 'get_lista_permisos'); } else { $rs = toba_proyecto_db::get_lista_permisos($this->id, $grupos_acceso); } return $rs; }
function set_perfil_activo($perfil) { if (is_null($perfil)) { $perfil = $this->get_perfiles_funcionales(); } else { $perfil = array($perfil); } toba::manejador_sesiones()->set_perfiles_funcionales_activos($perfil); }
private static function get_usuario_db($id_base, $parametros) { $usuario = $parametros['usuario']; $clave = $parametros['clave']; if (isset($parametros['conexiones_perfiles'])) { //Trata de sacarlo del archivo .ini asociado $perfiles = toba::manejador_sesiones()->get_perfiles_funcionales_activos(); if (empty($perfiles)) { $seccion = 'no_autenticado'; } else { $seccion = implode(", ", $perfiles); } $archivo = toba::nucleo()->toba_instalacion_dir() . '/' . $parametros['conexiones_perfiles']; if (!file_exists($archivo) || is_dir($archivo)) { throw new toba_error_def("La base '{$id_base}' posee una referencia a un archivo de conexiones de perfiles inexistente: '{$archivo}'"); } $usuarios = parse_ini_file($archivo, true); if (isset($usuarios[$seccion])) { if (!isset($usuarios[$seccion]['usuario'])) { throw new toba_error_def("La definición '{$seccion}' del archivo '{$archivo}' no posee el valor 'usuario'"); } if (!isset($usuarios[$seccion]['clave'])) { throw new toba_error_def("La definición '{$seccion}' del archivo '{$archivo}' no posee el valor 'clave'"); } return array($usuarios[$seccion]['usuario'], $usuarios[$seccion]['clave']); } } return array($usuario, $clave); }
function verificar_pedido_post() { if ($_SERVER['REQUEST_METHOD'] == 'POST' && toba::manejador_sesiones()->existe_usuario_activo()) { //Solo si es request via post. Hay que ver para el put. $frm = isset($_POST[apex_sesion_csrt]) ? $_POST[apex_sesion_csrt] : null; if (toba::memoria()->validar_pedido_pagina($frm) === false) { toba::logger()->debug('Se intenta hacer un post donde no coinciden parametros anti CSRF'); toba::logger()->debug(' Form: ' . var_export($frm, true)); toba::memoria()->fijar_csrf_token(true); throw new toba_error_seguridad('Request Invalido'); } } }
function conf__cuadro_planes(libro_unco_ei_cuadro $cuadro) { $sigla = toba::memoria()->get_parametro('sigla'); if (isset($sigla)) { $this->s__sigla = $sigla; } $this->dep('cuadro_planes')->set_titulo($this->s__sigla); $this->s__datos_filtro['sigla']['valor'] = $this->s__sigla; //Obtener el perfil funcional por si es posgrado $u = toba::manejador_sesiones()->get_perfiles_funcionales(); $p = array_search('posgrado', $u); if ($p !== false) { //Ingreso con perfil posgrado $this->s__datos_filtro['nivel']['condicion'] = "es_igual_a"; $this->s__datos_filtro['nivel']['valor'] = "Posgrado"; //nivel de posgrado } $cuadro->set_datos($this->dep('datos')->tabla('plan_estudio')->get_listado($this->s__datos_filtro)); }
function extender_objeto_js() { if (toba::instalacion()->get_tipo_autenticacion() == 'openid') { $personalizable = ''; foreach ($this->get_openid_providers() as $id => $provider) { if (isset($provider['personalizable']) && $provider['personalizable']) { $personalizable = $id; } } echo "\n\t\t\t\t{$this->dep('openid')->objeto_js}.evt__provider__procesar = function(inicial) {\n\t\t\t\t\tif (this.ef('provider').get_estado() == '{$personalizable}') {\n\t\t\t\t\t\tthis.ef('provider_url').mostrar();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.ef('provider_url').ocultar();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t"; } $finalizar = toba::memoria()->get_parametro(apex_sesion_qs_finalizar); if (is_null($finalizar)) { //Sesion activa if (toba::manejador_sesiones()->existe_usuario_activo()) { //Si ya esta logueado y se abre el sistema en popup, abrirlo if (isset($this->s__item_inicio)) { list($proyecto, $item) = explode($this->s__item_inicio); } else { $proyecto = toba::proyecto()->get_id(); $item = toba::proyecto()->get_parametro('item_inicio_sesion'); } $url = toba::vinculador()->get_url($proyecto, $item); if ($this->en_popup) { echo " abrir_popup('sistema', '{$url}', {resizable: 1});\t"; } else { echo " window.location.href = '{$url}';"; } } } elseif ($this->en_popup) { //Se finaliza la sesion echo ' if (window.opener && window.opener.location) { window.opener.location.href = window.opener.location.href; } window.close(); '; } }
function __construct() { // Por defecto el sistema se activa sobre el proyecto y usuario actual $this->id = toba::manejador_sesiones()->get_perfil_datos_activo(); $this->inicializar(toba::proyecto()->get_id()); }
function recargar_info_proyecto($proyecto) { if ($proyecto == toba_proyecto::get_id()) { toba_proyecto::eliminar_instancia(); } $info =& toba::manejador_sesiones()->segmento_info_proyecto($proyecto); $info = null; }
function conf__form_plan(libro_unco_ei_formulario $form) { $u = toba::manejador_sesiones()->get_perfiles_funcionales(); $p = array_search('posgrado', $u); if ($p !== false) { //Ingreso con perfil posgrado $this->dep('form_plan')->ef('nivel')->set_solo_lectura(true); } if (isset($this->controlador->s__id_plan)) { //Existen datos de este plan //oculto los botones del formulario inicial $this->dep('form_plan')->evento('crear')->ocultar(); $this->dep('form_plan')->evento('cancelar')->ocultar(); $filtro['id_plan']['valor'] = $this->controlador->s__id_plan; $ar = $this->controlador()->dep('datos')->tabla('plan_estudio')->get(); if (!isset($ar)) { //No hay nada cargado en memoria ent buscar en BD, en el caso que se presionó cancelar $plan = $this->controlador()->dep('datos')->tabla('plan_estudio')->get_listado($filtro); if (count($plan) > 0) { $ar = $plan[0]; $p['id_plan'] = $plan[0]['id_plan']; $this->controlador()->dep('datos')->tabla('plan_estudio')->cargar($p); } } if (!isset($this->s__areas)) { $pertenece = $this->controlador()->dep('datos')->tabla('pertenece')->get_listado($filtro); if (sizeof($pertenece) > 0) { foreach ($pertenece as $clave => $valor) { $areas[$clave] = $valor['id_area']; } $this->s__areas = $areas; } } $ar['areas'] = $this->s__areas; //Nivel pregrado, grado, posgrado o ciclo de licenciatura(nuevo) if ($ar['nivel'] == 0) { $ar['nivel'] = 'Grado'; } else { if ($ar['nivel'] == 1) { $ar['nivel'] = 'Posgrado'; } else { if ($ar['nivel'] == 2) { $ar['nivel'] = 'Ciclo de Licenciatura'; } else { $ar['nivel'] = 'Pregrado'; } } } return $ar; } else { //Es plan nuevo, oculto las pantallas y el evento guardar propio del controlador $this->pantalla()->tab('pant_sede')->ocultar(); $this->pantalla()->tab('pant_observacion')->ocultar(); $this->pantalla()->tab('pant_modulos')->ocultar(); $this->pantalla()->tab('pant_materias')->ocultar(); $this->pantalla()->tab('pant_descripcion')->ocultar(); $this->evento('guardar')->ocultar(); $this->evento('cancelar')->ocultar(); $this->evento('listo')->ocultar(); $this->s__datos_form['nivel'] = "Posgrado"; return $this->s__datos_form; } }
/** * @ignore. Retorna el bloque de memoria de trabajo de los puntos de control */ private function &get_bloque() { return toba::manejador_sesiones()->segmento_memoria_puntos_control(); }
function iniciar_sesion($usuario, $clave, $datos_iniciales = null) { toba::manejador_sesiones()->login($usuario, $clave, $datos_iniciales); }
function registrar() { parent::registrar(); $id_sesion = toba::manejador_sesiones()->get_id_sesion(); if ($this->registrar_db && isset($id_sesion)) { toba::instancia()->registrar_solicitud_browser($this->info['basica']['item_proyecto'], $this->id, toba::proyecto()->get_id(), toba::manejador_sesiones()->get_id_sesion(), $_SERVER['REMOTE_ADDR']); } }