Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 function get_db($reusar = true)
 {
     return toba_editor::get_base_activa();
 }