示例#1
0
 function evt__controles__modificacion($datos)
 {
     foreach ($datos as $key => $value) {
         $datos[$key]['proyecto'] = toba_editor::get_proyecto_cargado();
     }
     $this->dep('relacion')->tabla('ptos_control_ctrl')->procesar_filas($datos);
 }
示例#2
0
    function get_datos_listado()
    {
        $sql = 'SELECT proyecto, zona, nombre
				FROM apex_item_zona
				WHERE proyecto = ' . quote(toba_editor::get_proyecto_cargado());
        return toba::db()->consultar($sql);
    }
示例#3
0
文件: ci_abm.php 项目: emma5021/toba
    function conf__listado()
    {
        $sql = "\n\t\t\tSELECT \n\t\t\t\tef.elemento_formulario,\n\t\t\t\tef.descripcion,\n\t\t\t\tef.obsoleto,\n\t\t\t\tCASE \n\t\t\t\t\tWHEN obsoleto = 1 THEN 'Obsoletos'\n\t\t\t\t\tELSE 'Activos'\n\t\t\t\tEND as obsoleto_desc\n\t\t\tFROM\n\t\t\t\tapex_elemento_formulario ef\n\t\t\tWHERE\n\t\t\t\tef.proyecto = " . quote(toba_editor::get_proyecto_cargado()) . '
			ORDER BY obsoleto,ef.elemento_formulario
		';
        return consultar_fuente($sql);
    }
示例#4
0
 function evt__form_clase__modificacion($datos)
 {
     if (!isset($datos['editor_proyecto'])) {
         $datos['editor_proyecto'] = toba_editor::get_proyecto_cargado();
     }
     $this->dep('datos')->tabla('clase')->set($datos);
 }
示例#5
0
 function ini()
 {
     if (!$this->iniciado) {
         $this->dependencia('datos')->cargar(array('proyecto' => toba_editor::get_proyecto_cargado()));
         $this->iniciado = true;
     }
 }
示例#6
0
 function conf__datos()
 {
     $parametros = toba_editor::get_parametros_previsualizacion();
     if (!isset($parametros)) {
         $parametros['punto_acceso'] = toba::instancia()->get_url_proyecto(toba_editor::get_proyecto_cargado());
     }
     return $parametros;
 }
示例#7
0
 function evt__columnas__seleccion($seleccion)
 {
     $columnas = toba::db($this->fuente, toba_editor::get_proyecto_cargado())->get_definicion_columnas($this->s__tabla);
     foreach ($columnas as $columna) {
         if ($seleccion['nombre'] === $columna['nombre']) {
             $this->s__tabla = $columna['fk_tabla'];
         }
     }
 }
 function __construct($opciones, $id_servicio, $proyecto = null)
 {
     if (!isset($proyecto)) {
         $proyecto = toba_editor::activado() ? toba_editor::get_proyecto_cargado() : toba::proyecto()->get_id();
     }
     $this->proyecto = $proyecto;
     $this->opciones = $opciones;
     $this->id_servicio = $id_servicio;
 }
示例#9
0
 function ini()
 {
     $this->template = toba_dir() . '/php/modelo/var/toba.css';
     if (toba_editor::acceso_recursivo()) {
         $this->proyecto = 'toba';
     } else {
         $this->proyecto = toba_editor::get_proyecto_cargado();
     }
 }
示例#10
0
 function ini()
 {
     $proyecto = toba_editor::activado() ? toba_editor::get_proyecto_cargado() : toba::proyecto()->get_id();
     $path = toba::instancia()->get_path_proyecto($proyecto);
     if (file_exists($path . self::$path_autoload_sel)) {
         require_once $path . self::$path_autoload_sel;
         spl_autoload_register(array('test_selenium_autoload', 'cargar'));
     }
 }
示例#11
0
 function conf__listado()
 {
     $inicial = toba::memoria()->get_parametro('ef_popup_valor');
     $absoluto = toba::instancia()->get_path_proyecto(toba_editor::get_proyecto_cargado()) . '/php/';
     $this->dependencia('listado')->set_path_absoluto($absoluto);
     if ($inicial != null) {
         $this->dependencia('listado')->set_path(dirname($inicial));
     }
 }
示例#12
0
 /**
  * @todo Se desactiva el logger porque no corre como proyecto toba sino como el de la aplicacion
  * 		Cuando el admin sea un proyecto hay que sacar la desactivación
  */
 function ini()
 {
     toba::logger()->desactivar();
     if (!isset($this->s__opciones)) {
         $this->s__opciones['proyecto'] = toba_editor::get_proyecto_cargado();
         $this->s__opciones['fuente'] = 'fs';
         $this->s__seleccion = 'ultima';
     }
     $this->cargar_analizador();
 }
示例#13
0
 function conf__form_basico(toba_ei_formulario $form)
 {
     $datos = $this->dep('datos')->tabla('base')->get();
     $datos_molde = $this->dep('datos')->tabla('molde')->get();
     if (!isset($datos_molde['fuente'])) {
         $datos['fuente'] = toba_info_editores::get_fuente_datos_defecto(toba_editor::get_proyecto_cargado());
     } else {
         $datos['fuente'] = $datos_molde['fuente'];
     }
     return $datos;
 }
示例#14
0
 function conf__listado()
 {
     $inicial = toba::memoria()->get_parametro('ef_popup_valor');
     if (!is_null($inicial)) {
         $id_pm = toba::memoria()->get_parametro('punto_montaje');
         $punto = toba_modelo_pms::get_pm($id_pm, toba_editor::get_proyecto_cargado());
         $absoluto = $punto->get_path_absoluto() . '/';
         $this->dependencia('listado')->set_path_absoluto($absoluto);
         $this->dependencia('listado')->set_path(dirname($inicial));
     }
 }
示例#15
0
 function ini()
 {
     $this->album_fotos = new album_fotos('cat_item');
     //Si se pidio un item especifico, cargarlo
     $item_selecc = toba::memoria()->get_parametro('item');
     if ($item_selecc != null) {
         $this->s__opciones['inicial'] = $item_selecc;
     }
     $this->catalogador = new toba_catalogo_items(toba_editor::get_proyecto_cargado());
     $this->dep('items')->desactivar_chequeo_nodos();
 }
示例#16
0
 function extender_objeto_js()
 {
     if ($this->existe_evento('trac_ver')) {
         $path = $this->controlador()->get_path_archivo();
         $svn = new toba_svn();
         $url = $svn->get_url($path);
         $proyecto = toba_editor::get_proyecto_cargado();
         $url = preg_replace('/svn\\/(\\w+)/i', 'trac/$1/browser', $url);
         echo "\n\t\t\t\t{$this->objeto_js}.evt__trac_ver = function() {\n\t\t\t\t\tvar opciones = {'scrollbars' : 1, 'resizable': 1};\n\t\t\t\t\tabrir_popup('trac', '{$url}', opciones);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t";
     }
 }
示例#17
0
 function get_descripciones($proyecto = null)
 {
     if (!isset($proyecto)) {
         if (toba_editor::acceso_recursivo()) {
             $proyecto = 'toba';
         } else {
             $proyecto = toba_editor::get_proyecto_cargado();
         }
     }
     $sql = 'SELECT proyecto, estilo, descripcion FROM apex_estilo WHERE proyecto=' . quote($proyecto) . " OR proyecto='toba' ORDER BY descripcion";
     return toba::db('instancia')->consultar($sql);
 }
示例#18
0
 function __construct($padre, $id, $nombre)
 {
     parent::__construct($nombre, $padre);
     $this->id = $id;
     $this->nombre_largo = $nombre;
     $this->agregar_icono(array('imagen' => toba_recurso::imagen_toba('usuarios/usuario.gif', false), 'ayuda' => null));
     $opciones['menu'] = true;
     $opciones['celda_memoria'] = 'central';
     $parametros = array(apex_hilo_qs_zona => toba_editor::get_proyecto_cargado() . apex_qs_separador . $this->id);
     $this->agregar_utileria(array('imagen' => toba_recurso::imagen_toba('usuarios/permisos.gif', false), 'ayuda' => 'Editar DERECHOS del grupo de acceso', 'vinculo' => toba::vinculador()->get_url(toba_editor::get_id(), '3278', $parametros, $opciones), 'target' => apex_frame_centro));
     $this->agregar_utileria(array('imagen' => toba_recurso::imagen_toba('usuarios/grupo.gif', false), 'ayuda' => 'Editar el acceso a ITEMs del grupo de acceso', 'vinculo' => toba::vinculador()->get_url(toba_editor::get_id(), '3288', $parametros, $opciones), 'target' => apex_frame_centro));
     $this->agregar_utileria(array('imagen' => toba_recurso::imagen_toba('objetos/editar.gif', false), 'ayuda' => 'Editar GRUPO de ACCESO', 'vinculo' => toba::vinculador()->get_url(toba_editor::get_id(), 1000261, $parametros, $opciones), 'target' => apex_frame_centro));
 }
示例#19
0
 function fotos()
 {
     $proyecto = quote(toba_editor::get_proyecto_cargado());
     $usuario = quote(toba::usuario()->get_id());
     $sql = "SELECT \n\t\t\t\t\tfoto_nombre, \n\t\t\t\t\tfoto_nodos_visibles,\n\t\t\t\t\tfoto_opciones\n\t\t\t\tFROM apex_arbol_items_fotos fotos\n\t\t\t\tWHERE \n\t\t\t\t\tfotos.proyecto = {$proyecto} AND\n\t\t\t\t\tfotos.usuario = {$usuario}\n\t\t\t";
     toba::db()->ejecutar($sql);
     $fotos_en_crudo = $res->GetArray();
     $fotos = array();
     foreach ($fotos_en_crudo as $foto) {
         $fotos[] = array('foto_nombre' => $foto['foto_nombre'], 'foto_nodos_visibles' => unserialize(stripslashes($foto['foto_nodos_visibles'])), 'foto_opciones' => unserialize(stripslashes($foto['foto_opciones'])));
     }
     return $fotos;
 }
示例#20
0
 function get_generador()
 {
     $url = $this->s__opciones['host'] . $this->s__opciones['url'];
     $proyecto = toba_editor::get_proyecto_cargado();
     $generador = new toba_testing_selenium($proyecto, $url);
     $version = toba_editor::get_modelo_proyecto()->get_version_proyecto();
     $version = $version->__toString();
     if ($this->s__opciones['test'] == 'operaciones') {
         $generador->set_titulo("{$proyecto} {$version} - Cobertura de Operaciones");
         $generador->test_operaciones($this->s__opciones['ir_pagina_inicial']);
     }
     return $generador;
 }
示例#21
0
 function evt__procesar()
 {
     $proyecto = toba_editor::get_proyecto_cargado();
     $this->dep('datos')->tabla('servicio')->set(array('proyecto' => $proyecto));
     $this->dependencia('datos')->sincronizar();
     $zona = toba::solicitud()->zona();
     if (!$zona->cargada()) {
         $datos = $this->dep('datos')->tabla('servicio')->get();
         $clave = array($datos['proyecto'], $datos['servicio_web']);
         $zona->cargar($clave);
     }
     $this->carga_ok = true;
     admin_util::refrescar_barra_lateral();
 }
示例#22
0
 /**
  * Recorre los metadatos de la tabla y actualiza la definicion:
  *   - Si hay alguna nueva columna la agrega
  */
 function actualizar_campos($schema = null)
 {
     $basicos = $this->tabla('base')->get();
     $id_fuente = $basicos['fuente_datos'];
     //-- Obtengo datos
     $reg = $this->tabla('prop_basicas')->get();
     $tabla = $reg['tabla'];
     $fuente = toba::db($id_fuente, toba_editor::get_proyecto_cargado());
     if (is_null($schema)) {
         $schema = $fuente->get_schema();
     }
     $columnas = $fuente->get_definicion_columnas($tabla, $schema);
     $tabla_ext = '';
     if ($reg['ap'] == toba_ap_tabla_db_mt::id_ap_mt) {
         // Si es un ap multitabla
         $tabla_ext = $reg['tabla_ext'];
         $columnas = array_merge($columnas, $fuente->get_definicion_columnas($tabla_ext));
     }
     foreach (array_keys($columnas) as $id) {
         $columnas[$id]['columna'] = $columnas[$id]['nombre'];
         $columnas[$id]['no_nulo_db'] = $columnas[$id]['not_null'];
         if ($columnas[$id]['tipo'] == 'C' && $columnas[$id]['longitud'] > 0) {
             $columnas[$id]['largo'] = $columnas[$id]['longitud'];
         }
     }
     $dbr = $this->tabla('columnas');
     $actuales = $dbr->get_filas(null, true);
     for ($a = 0; $a < count($columnas); $a++) {
         try {
             //--- Evita incluir dos veces el mismo nombre
             $nueva = true;
             foreach ($actuales as $id => $actual) {
                 if ($columnas[$a]['columna'] == $actual['columna']) {
                     $nueva = false;
                 }
             }
             if ($nueva) {
                 $dbr->nueva_fila($columnas[$a]);
             }
         } catch (toba_error $e) {
             if ($columnas[$a]['tabla'] == $tabla) {
                 toba::notificacion()->agregar("Error agregando la COLUMNA '{$columnas[$a]['columna']}' al datos_tabla de laa tabla {$tabla}. " . $e->getMessage());
             } else {
                 toba::notificacion()->agregar("Error agregando la COLUMNA '{$columnas[$a]['columna']}' al datos_tabla de laa tabla {$tabla_ext}. " . $e->getMessage());
             }
         }
     }
 }
示例#23
0
 function conf__cuadro(toba_ei_cuadro $cuadro)
 {
     $archivos = toba::memoria()->get_dato_instancia('previsualizacion_archivos');
     if (!isset($archivos)) {
         throw new toba_error('No se encontraron los archivos a mostrar');
     }
     $path_proyecto = toba_manejador_archivos::path_a_unix(toba::instancia()->get_path_proyecto(toba_editor::get_proyecto_cargado()));
     $path_php = $path_proyecto . '/php/';
     $cuadro->set_formateo_columna('tamano', 'tamano', 'formateo_tamano');
     $datos = array();
     foreach ($archivos as $i => $archivo) {
         $datos[$i]['path'] = substr($archivo, strlen($path_proyecto) + 1);
         $datos[$i]['tamano'] = filesize($archivo);
     }
     $cuadro->set_datos($datos);
 }
示例#24
0
 function autocompletar_carga_cuadro()
 {
     $nombre_tabla = $this->dr_molde->tabla('base')->get_columna('tabla');
     $nombre_fuente = $this->dr_molde->tabla('base')->get_columna('fuente');
     //Si el nombre de la fuente no esta en el DR, trato de obtenerlo del asistente.
     if (isset($this->molde) && is_null($nombre_fuente)) {
         $nombre_fuente = $this->get_fuente();
     }
     $db = toba::db($nombre_fuente, toba_editor::get_proyecto_cargado());
     $datos = array();
     list($sql, $id) = $db->get_sql_carga_tabla($nombre_tabla);
     $datos['cuadro_carga_sql'] = $sql;
     $datos['cuadro_id'] = $id;
     $datos['cuadro_carga_origen'] = 'datos_tabla';
     $this->dr_molde->tabla('base')->set($datos);
 }
示例#25
0
 function fotos($nombre = null)
 {
     $proyecto = quote(toba_editor::get_proyecto_cargado());
     $usuario = quote(toba::usuario()->get_id());
     $tipo = quote($this->tipo);
     $where_nombre = '';
     if ($nombre !== null) {
         $where_nombre = ' AND fotos.foto_nombre = ' . quote($nombre);
     }
     $sql = "SELECT \n\t\t\t\t\tfoto_nombre, \n\t\t\t\t\tfoto_nodos_visibles,\n\t\t\t\t\tfoto_opciones,\n\t\t\t\t\tpredeterminada\n\t\t\t\tFROM apex_admin_album_fotos fotos\n\t\t\t\tWHERE \n\t\t\t\t\tfotos.proyecto = {$proyecto} AND\n\t\t\t\t\tfotos.usuario = {$usuario} AND\n\t\t\t\t\tfotos.foto_tipo = {$tipo}\n\t\t\t\t\t{$where_nombre}\n\t\t\t\t\tAND fotos.foto_nombre != '" . apex_foto_inicial . "'\n\t\t\t";
     $fotos_en_crudo = toba::db()->consultar($sql);
     $fotos = array();
     foreach ($fotos_en_crudo as $foto) {
         $fotos[] = array('foto_nombre' => $foto['foto_nombre'], 'foto_nodos_visibles' => unserialize(stripslashes($foto['foto_nodos_visibles'])), 'foto_opciones' => unserialize(stripslashes($foto['foto_opciones'])), 'predeterminada' => $foto['predeterminada']);
     }
     return $fotos;
 }
示例#26
0
 function ini()
 {
     if (!toba_info_editores::hay_fuente_definida(toba_editor::get_proyecto_cargado())) {
         throw new toba_error('El proyecto actual no tiene definida una fuente de datos propia. Chequear en las propiedades del proyecto.');
     }
     if (isset($this->clase_actual)) {
         $this->cargar_editor();
     }
     $hilo = toba::memoria();
     $destino_tipo = $hilo->get_parametro('destino_tipo');
     if (isset($destino_tipo)) {
         $this->destino = array();
         $this->destino['tipo'] = $destino_tipo;
         $this->destino['objeto'] = $hilo->get_parametro('destino_id');
         $this->destino['proyecto'] = $hilo->get_parametro('destino_proyecto');
         $this->destino['pantalla'] = $hilo->get_parametro('destino_pantalla');
     }
 }
示例#27
0
 function conf__cuadro(toba_ei_cuadro $cuadro)
 {
     if (!isset($this->s__datos) || $this->filtrar) {
         $carpeta = toba::instancia()->get_path_proyecto(toba_editor::get_proyecto_cargado()) . '/php';
         $carpeta = toba_manejador_archivos::path_a_plataforma($carpeta);
         $extra = '';
         if (isset($this->s__filtro['nombre'])) {
             $extra = "{$this->s__filtro['nombre']}.*";
         }
         $archivos = toba_manejador_archivos::get_archivos_directorio($carpeta, "/{$extra}\\.php\$/", true);
         $modelo = toba_editor::get_modelo_proyecto();
         $estandar = $modelo->get_estandar_convenciones();
         $datos = array();
         foreach ($archivos as $archivo) {
             $path_relativo = substr($archivo, strlen($carpeta) + 1);
             $nombre = basename($archivo);
             if (strlen($nombre) > 30) {
                 $nombre = substr($nombre, 0, 30) . '...';
             }
             $info = array('archivo' => $nombre, 'path' => $path_relativo);
             if (isset($this->s__filtro['convenciones']) && $this->s__filtro['convenciones']) {
                 $errores = $estandar->validar(array($archivo));
                 $info['errores'] = $errores['totals']['errors'];
                 $info['warnings'] = $errores['totals']['warnings'];
             }
             $datos[] = $info;
         }
         $this->s__datos = rs_ordenar_por_columna($datos, 'archivo');
     }
     if (isset($this->s__filtro['convenciones']) && $this->s__filtro['convenciones']) {
         $columnas = array();
         $columnas[0]['clave'] = 'errores';
         $columnas[0]['titulo'] = toba_recurso::imagen_toba('error.gif', true);
         $columnas[0]['estilo'] = 'col-num-p1';
         $columnas[1]['clave'] = 'warnings';
         $columnas[1]['titulo'] = toba_recurso::imagen_toba('warning.gif', true);
         $columnas[1]['estilo'] = 'col-num-p1';
         $cuadro->agregar_columnas($columnas);
     }
     $cuadro->desactivar_modo_clave_segura();
     $cuadro->set_datos($this->s__datos);
 }
示例#28
0
 function conf__listado(toba_ei_archivos $ei)
 {
     $ei->set_solo_carpetas(true);
     $inicial = toba::memoria()->get_parametro('ef_popup_valor');
     if (!isset($this->s__dir_absoluto)) {
         //Si no hay valor previo de la instancia esta
         $id_pm = toba::memoria()->get_parametro('punto_montaje');
         if (!is_null($id_pm)) {
             //Si existe PM cargo ese dir, sino el defecto del proyecto
             $punto = toba_modelo_pms::get_pm($id_pm, toba_editor::get_proyecto_cargado());
             $this->s__dir_absoluto = $punto->get_path_absoluto() . '/';
         } else {
             $this->s__dir_absoluto = toba::instancia()->get_path_proyecto(toba_editor::get_proyecto_cargado()) . '/php/';
         }
     }
     $ei->set_path_absoluto($this->s__dir_absoluto);
     if ($inicial != null) {
         $ei->set_path(dirname($inicial));
     }
 }
示例#29
0
 function evt__cuadro__explain($seleccion)
 {
     $info = toba::memoria()->get_dato_instancia('previsualizacion_consultas');
     if (!isset($info)) {
         throw new toba_error('No se encontró información de consultas ejecutadas');
     }
     if (isset($info['datos'][$seleccion['id']])) {
         $fuente = $info['fuente'];
         $base = toba_admin_fuentes::instancia()->get_fuente($fuente, toba_editor::get_proyecto_cargado())->get_db();
         $sql = 'EXPLAIN ANALYZE  ' . $info['datos'][$seleccion['id']]['sql'];
         $base->abrir_transaccion();
         $datos = $base->consultar($sql, toba_db_fetch_num);
         $base->abortar_transaccion();
         $salida = '';
         foreach ($datos as $fila) {
             $salida .= $fila[0] . "\n   ";
         }
         $salida = '<pre>' . $salida . '</pre>';
         toba::notificacion()->info($salida);
     }
 }
示例#30
0
 function ini()
 {
     $solicitud = toba::memoria()->get_parametro('solicitud');
     $proyecto = toba::memoria()->get_parametro('solicitud_proy');
     if ($proyecto) {
         $this->s__proyecto = $proyecto;
     } else {
         $this->s__proyecto = toba_editor::get_proyecto_cargado();
     }
     if ($solicitud) {
         $this->s__solicitud = $solicitud;
     } else {
         //Consulta la ultima solicitud
         $schema_logs = toba::instancia()->get_db()->get_schema() . '_logs';
         $sql = "SELECT max(solicitud) as ultima \n\t\t\t\tFROM {$schema_logs}.apex_solicitud_cronometro\n\t\t\t\tWHERE proyecto=" . quote($this->s__proyecto);
         $rs = toba::instancia()->get_db()->consultar_fila($sql);
         if (!empty($rs)) {
             $this->s__solicitud = $rs['ultima'];
         }
     }
 }