function conf__fuentes(toba_ei_cuadro $cuadro) { $datos = toba_info_editores::get_fuentes_datos(); foreach (array_keys($datos) as $id) { $datos[$id]['icono'] = 'fuente.png'; $parametros = array(apex_hilo_qs_zona => $datos[$id]['proyecto'] . apex_qs_separador . $datos[$id]['fuente_datos']); $datos[$id]['editar'] = "<span style='white-space: nowrap;'>"; // Probar dimensiones if (toba_info_editores::get_cantidad_dimensiones_fuente($datos[$id]['fuente_datos']) > 0) { $img = toba_recurso::imagen_toba('probar_dimensiones.png', true, null, null, 'Probar dimensiones'); $datos[$id]['editar'] .= $this->tag_vinculo_editor(toba_editor::get_id(), 3461, $parametros, $img); } // Relaciones $img = toba_recurso::imagen_toba('solic_wddx.gif', true, null, null, 'Relaciones entre tablas'); $datos[$id]['editar'] .= $this->tag_vinculo_editor(toba_editor::get_id(), 3442, $parametros, $img); // Ver el modelo $img = toba_recurso::imagen_toba('buscar.png', true, null, null, 'Navegar tablas'); $datos[$id]['editar'] .= $this->tag_vinculo_editor(toba_editor::get_id(), 3412, $parametros, $img); // Creacion / Actualizacion Automatica de datos tabla $img = toba_recurso::imagen_toba('objetos/dt_refresh.gif', true, null, null, 'Creacion y actualización automatica de los datos_tabla'); $datos[$id]['editar'] .= $this->tag_vinculo_editor(toba_editor::get_id(), 33000010, $parametros, $img); // Editar la fuente $img = toba_recurso::imagen_toba('objetos/editar.gif', true, null, null); $datos[$id]['editar'] .= $this->tag_vinculo_editor(toba_editor::get_id(), 1000237, $parametros, $img); $datos[$id]['editar'] .= '</span>'; } $cuadro->set_datos($datos); $cuadro->colapsar(); }
function ini__operacion() { if (!isset($this->s__fuentes)) { $this->s__fuentes = toba_info_editores::get_fuentes_datos(toba_editor::get_proyecto_cargado()); } $this->s__hay_con_permisos = false; foreach ($this->s__fuentes as $fuente) { if (isset($fuente['permisos_por_tabla']) && $fuente['permisos_por_tabla'] == '1') { $this->s__hay_con_permisos = true; } } }
function actualizar_script_roles($eliminados = array()) { $usa_permisos_por_tabla = false; foreach (toba_info_editores::get_fuentes_datos($this->dep('editor_perfiles')->get_proyecto()) as $fuente) { //Miro si al menos una fuente usa permisos por tablas. $usa_permisos_por_tabla = $usa_permisos_por_tabla || $fuente['permisos_por_tabla'] == '1'; } if ($usa_permisos_por_tabla) { $modelo = toba_modelo_catalogo::instanciacion(); $modelo->set_db(toba::db()); $proyecto = $modelo->get_proyecto(toba::instancia()->get_id(), $this->s__filtro['proyecto']); $dir = $proyecto->get_dir() . '/'; try { $proyecto->crear_script_generacion_roles_db($dir, $eliminados); toba::notificacion()->agregar('Se han generado los scripts de actualización de roles de base de datos.\\n Los mismos se encuentran en el directorio raiz del proyecto, recuerde ejecutarlos', 'info'); } catch (toba_error $e) { toba::logger()->debug('Falló la generacion del script' . $e->getMessage()); toba::notificacion()->agregar('No se ha podido generar los scripts de actualización de roles de base de datos, por favor utilice el comando toba proyecto roles_script', 'error'); } } }
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>"; } }
function get_indice_fuentes() { $rs = toba_info_editores::get_fuentes_datos(); $datos = array(); foreach ($rs as $dato) { $datos[] = $dato['fuente_datos']; } return $datos; }