コード例 #1
0
ファイル: pant_vista_previa.php プロジェクト: emma5021/toba
 function generar_layout()
 {
     //--- Barra SVN
     echo "<div class='editor-vista-previa'>" . $this->controlador()->get_info_archivo();
     echo '<div>';
     $this->generar_botones_eventos(true);
     echo '</div></div>';
     //--- Barra de convenciones
     $mensajes_linea = array();
     $modelo = toba_editor::get_modelo_proyecto();
     $estandar = $modelo->get_estandar_convenciones();
     $path = $this->controlador()->get_path_archivo();
     if (file_exists($path)) {
         $resultado = $estandar->validar(array($path));
         $titulo = '<strong>Convenciones</strong>';
         $cant_errores = $resultado['totals']['errors'];
         $cant_warnings = $resultado['totals']['warnings'];
         $extra = '';
         if ($cant_errores === 0 && $cant_warnings === 0) {
             $nivel = 'info';
             $salida = 'Ok!';
         } else {
             $nivel = $cant_errores !== 0 ? 'error' : 'warning';
             $salida = "{$cant_errores} ";
             $salida .= $cant_errores !== 1 ? 'errores' : 'error';
             $salida .= " / {$cant_warnings} ";
             $salida .= $cant_warnings !== 1 ? 'avisos' : 'aviso';
             foreach ($resultado['files'][$path]['messages'] as $linea => $columnas) {
                 $textos = array();
                 foreach ($columnas as $column => $mensajes) {
                     foreach ($mensajes as $mensaje) {
                         //$extra .= "<strong>$linea</strong>:{$mensaje['message']}";
                         $imagen = $mensaje['type'] == 'ERROR' ? 'error.gif' : 'warning.gif';
                         $textos[] = $estandar->parsear_mensaje($mensaje['message']);
                         //Cambia el id de la convencion por una url
                     }
                 }
                 $ayuda = implode('<br><br>', $textos);
                 $ayuda = str_replace("'", "`", $ayuda);
                 $mensajes_linea[$linea] = toba_recurso::imagen_toba($imagen, true, null, null, $ayuda);
             }
         }
         $this->generar_html_descripcion("{$titulo}: {$salida} {$extra}", $nivel);
     }
     //-- Vista previa
     echo "<div class='editor-vista-previa-codigo'>";
     $codigo = $this->controlador()->get_previsualizacion();
     require_once toba_dir() . '/php/3ros/PHP_Highlight.php';
     $h = new PHP_Highlight(false);
     $h->loadString($codigo);
     $formato_linea = "<span class='editor-linea-codigo'>%02d</span>&nbsp;&nbsp;";
     echo @$h->toHtml(true, true, $formato_linea, true, $mensajes_linea);
     echo '</div>';
 }
コード例 #2
0
ファイル: ci_testing_selenium.php プロジェクト: emma5021/toba
 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;
 }
コード例 #3
0
 function chequear_sincro_svn()
 {
     $this->chequeado = true;
     $proy = toba_editor::get_modelo_proyecto();
     try {
         $proy->chequear_actualizacion_prematura();
     } catch (toba_error_def $e) {
         //Hubo update prematuro
         $msg = $e->getMessage();
         $msg = str_replace("\\", "\\\\", $msg);
         $msg = nl2br($msg);
         toba::notificacion()->agregar($msg, 'error');
         //Muestro msg de error si los hubiera
         $tags_js = toba::memoria()->get_servicio_solicitado() != 'html_parcial';
         toba::notificacion()->mostrar($tags_js);
     } catch (toba_error $e) {
     }
 }
コード例 #4
0
ファイル: ci_catalogo.php プロジェクト: emma5021/toba
 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);
 }
コード例 #5
0
ファイル: ci_principal.php プロジェクト: emma5021/toba
 function evt__procesar()
 {
     //Seteo los datos asociados al uso de este editor
     $basicos = $this->get_entidad()->tabla('base');
     $basicos->set_fila_columna_valor(0, 'proyecto', toba_editor::get_proyecto_cargado());
     $es_temporal = $basicos->get_columna('item') == id_temporal;
     if ($es_temporal) {
         //Reemplazar el automático por la secuencia
         $basicos->set_columna_valor('item', toba::instancia()->get_db()->recuperar_nuevo_valor_secuencia('apex_item_seq'));
     }
     //Sincronizo el DBT
     $this->get_entidad()->sincronizar();
     $datos = $this->get_entidad()->tabla('base')->get();
     //Si el proyecto usa esquema de permisos por tabla
     $modelo_proyecto = toba_editor::get_modelo_proyecto();
     try {
         $modelo_proyecto->generar_roles_db($datos['item']);
     } catch (toba_error_db $e) {
         toba::notificacion()->error('Error al actualizar los roles postgres para esta operación', $e->get_mensaje_log());
     }
     if (!isset($this->s__id_item)) {
         //Si el item es nuevo
         admin_util::refrescar_editor_item($datos['item']);
         admin_util::redirecionar_a_editor_item($datos['proyecto'], $datos['item']);
     }
 }
コード例 #6
0
ファイル: check_revision.php プロジェクト: emma5021/toba
<?php

/*
 * Este archivo manejara los chequeos que realice el editor para ver si
 * hubo un update de metadatos antes de realizar la exportacion de
 * los mismos, en ese caso se devuelve un msg informando el problema.
 */
$parametro = toba::memoria()->get_parametro('chequeo_exportacion');
//Si viene en 1 entonces chequeo la exportacion
if (isset($parametro) && $parametro == '1') {
    $proy = toba_editor::get_modelo_proyecto();
    $ajx_response = new toba_ajax_respuesta('H');
    //Unicamente informo si hubo un update prematuro, osea si salta la excepcion
    try {
        $proy->chequear_actualizacion_prematura();
    } catch (toba_error_def $e) {
        //Hubo update prematuro
        $msg = $e->getMessage();
        $ajx_response->set($msg);
        $ajx_response->comunicar();
    } catch (toba_error $e) {
    }
}