static function referenciar_memoria() { self::$memoria =& toba::manejador_sesiones()->segmento_editor(); //Acceso a la informacion del modelo toba_contexto_info::set_proyecto(toba_editor::get_proyecto_cargado()); toba_contexto_info::set_db(toba_editor::get_base_activa()); if (!self::modo_prueba()) { return; } //Cambia el perfil activo $perfil_activo = toba::memoria()->get_parametro('perfil_activo'); if (isset($perfil_activo)) { if ($perfil_activo == apex_ef_no_seteado) { toba::manejador_sesiones()->set_perfiles_funcionales_activos(toba::manejador_sesiones()->get_perfiles_funcionales()); } else { toba::manejador_sesiones()->set_perfiles_funcionales_activos(array($perfil_activo)); } } //Cambia el usuario de conexion $tipo_conexion = toba::memoria()->get_parametro('usuario_conexion'); if (isset($tipo_conexion)) { self::$memoria['conexion_limitada'] = $tipo_conexion == 'limitado'; } self::$fuentes = toba_info_editores::get_fuentes_datos(toba_editor::get_proyecto_cargado()); $modelo = self::get_modelo_proyecto(); foreach (self::$fuentes as $fuente) { try { if (self::$memoria['conexion_limitada'] && $fuente['permisos_por_tabla']) { //El proyecto usa permisos por tablas para las operaciones, en modo previsualizacion se setea el rol especifico $id_base = self::$memoria['instancia'] . ' ' . self::get_proyecto_cargado() . ' ' . $fuente['fuente_datos']; $parametros = toba_dba::get_parametros_base($id_base); $usuario = $modelo->get_usuario_prueba_db($fuente['fuente_datos']); $parametros['usuario'] = $usuario; $parametros['clave'] = $usuario; toba_dba::set_parametros_base($id_base, $parametros); } //Pone la base por defecto en modo debug, para leer la cantidad y tiempo de las querys $base = toba_admin_fuentes::instancia()->get_fuente($fuente['fuente_datos'], toba_editor::get_proyecto_cargado())->get_db(); if ($base) { $base->set_modo_debug(true, false); } } catch (toba_error $e) { //Si no se tiene acceso a la base no se hace nada } } //Cambia el skin if (toba::memoria()->get_parametro('skin') != '') { $skin = explode(apex_qs_separador, toba::memoria()->get_parametro('skin')); $sql = "SELECT es_css3 FROM apex_estilo WHERE estilo = " . quote($skin[0]) . " AND proyecto =" . quote($skin[1]); $datos = toba::instancia()->get_db()->consultar_fila($sql); toba::proyecto()->set_parametro('estilo', $skin[0]); toba::proyecto()->set_parametro('estilo_proyecto', $skin[1]); toba::proyecto()->set_parametro('es_css3', $datos['es_css3']); } //Cambia tipo de navegación if (toba::memoria()->get_parametro('navegacion_ajax') != '') { $ajax = toba::memoria()->get_parametro('navegacion_ajax') ? true : false; toba::proyecto()->set_parametro('navegacion_ajax', $ajax); } }
function get_db($reusar = true) { return toba_editor::get_base_activa(); }