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 __construct(toba_modelo_instancia $instancia, $identificador) { $this->instancia = $instancia; $this->identificador = $identificador; $this->dir = $instancia->get_path_proyecto($identificador); if (!is_dir($this->dir)) { throw new toba_error("PROYECTO: El proyecto '{$this->identificador}' es invalido. (la carpeta '{$this->dir}' no existe)"); } $this->db = $this->instancia->get_db(); toba_contexto_info::set_db($this->get_db()); toba_contexto_info::set_proyecto($this->identificador); toba_logger::instancia()->debug('PROYECTO "' . $this->identificador . '"'); }
function parsear_editores(toba_modelo_instancia $instancia) { toba_contexto_info::set_db($instancia->get_db()); //--- Se busca el CI asociado a cada clase $sql = "SELECT\n\t\t\t\t\tc.clase,\n\t\t\t\t \to.proyecto,\n\t\t\t\t\to.objeto\n\t\t\t\tFROM\n\t\t\t\t\tapex_clase c,\n\t\t\t\t\tapex_item_objeto io,\n\t\t\t\t\tapex_objeto o\n\t\t\t\tWHERE\n\t\t\t\t\tc.clase IN ('" . implode("','", toba_info_editores::get_lista_tipo_componentes()) . "')\tAND\n\t\t\t\t\tc.proyecto = 'toba' AND\n\t\t\t\t\tc.editor_item = io.item AND\t\t\t\t-- Se busca el item editor\n\t\t\t\t\tc.editor_proyecto = io.proyecto AND\n\t\t\t\t\tio.objeto = o.objeto AND\t\t\t\t-- Se busca el CI del item\n\t\t\t\t\tio.proyecto = o.proyecto AND\n\t\t\t\t\to.clase = 'toba_ci'"; $rs = $instancia->get_db()->consultar($sql); $clase_php = new toba_clase_datos("toba_datos_editores"); foreach ($rs as $datos) { //--- Se buscan las pantallas asociadas a un CI especifico $this->manejador_interface->mensaje("Procesando " . $datos['clase'] . "..."); $proyecto = $instancia->get_db()->quote($datos['proyecto']); $objeto = $instancia->get_db()->quote($datos['objeto']); $sql = "\n\t\t\t\tSELECT\n\t\t\t\t\tpant.identificador,\n\t\t\t\t\tpant.etiqueta,\n\t\t\t\t\tpant.imagen,\n\t\t\t\t\tpant.imagen_recurso_origen\n\t\t\t\tFROM\n\t\t\t\t\tapex_objeto_ci_pantalla pant\n\t\t\t\tWHERE\n\t\t\t\t\t\tpant.objeto_ci_proyecto = {$proyecto}\n\t\t\t\t\tAND pant.objeto_ci = {$objeto}\n\t\t\t\tORDER BY pant.orden\n\t\t\t"; $pantallas = $instancia->get_db()->consultar($sql); $clase_php->agregar_metodo_datos('get_pantallas_' . $datos['clase'], $pantallas); } $dir = toba_dir() . "/php/modelo/info"; $clase_php->guardar($dir . '/toba_datos_editores.php'); }
function conf__activacion() { toba_contexto_info::set_db(admin_instancia::ref()->db()); toba_contexto_info::set_proyecto(toba::proyecto()->get_id()); }