Пример #1
0
 function generar_layout()
 {
     //El archivo original esta en formato Windows CR/LF
     $nombre = toba::proyecto()->get_path_php() . '/varios/line_endings/archivo_windows.php';
     //Verifico que el archivo original tiene el CR
     assert(strrchr(file_get_contents($nombre), 13) !== false);
     $archivo = new toba_archivo_php($nombre);
     $archivo->edicion_inicio();
     $codigo_actual = $archivo->contenido();
     //Verifico que el codigo original no tiene CR al ser cargado en toba_archivo_php
     assert(strrchr($codigo_actual, 13) === false);
     $metodo = new toba_codigo_metodo_php('extender_objeto_js');
     $metodo->set_contenido("alert('soy un alert nuevo'); \n alert(4);");
     $nuevo_codigo = $archivo->codigo_agregar_metodo($codigo_actual, $metodo->get_codigo());
     $archivo->insertar($nuevo_codigo);
     $archivo->insertar_al_final("function cargo_algo(\$id) \n { echo 'Ingrese \$id'; \n}");
     //Verifico que el nuevo codigo que obtuve tampoco tiene CR antes de ser grabado
     assert(strrchr($archivo->contenido(), 13) === false);
     //Aca grabe el archivo
     $archivo->edicion_fin();
     assert(strrchr(file_get_contents($nombre), 13) === false);
     assert(strrchr(file_get_contents($nombre), PHP_EOL) !== false);
     echo 'El test parece que funco!, revirtiendo archivo....';
     $tsvn = new toba_svn();
     $tsvn->revert($nombre);
 }
Пример #2
0
 /**
  * Permite modificar la forma en que se grafica la pantalla, por defecto un componente sobre el otro
  */
 function generar_layout()
 {
     $nombre = toba::proyecto()->get_path_php() . '/varios/line_endings/archivo_linux.php';
     //Verifico que no tiene el CHR 13 de movida
     assert(strrchr(file_get_contents($nombre), 13) === false);
     $archivo = new toba_archivo_php($nombre);
     $archivo->edicion_inicio();
     $codigo_actual = $archivo->contenido();
     assert(strrchr($codigo_actual, 13) === false);
     $metodo = new toba_codigo_metodo_php('extender_objeto_js');
     $metodo->set_contenido("echo \"alert('soy un alert nuevo');" . "\n" . "alert(4);\"");
     $nuevo_codigo = $archivo->codigo_agregar_metodo($codigo_actual, $metodo->get_codigo());
     $archivo->insertar(toba_archivo_php::codigo_sacar_tags_php($nuevo_codigo));
     //Verifico que el nuevo codigo que obtuve tampoco tiene CR antes de ser grabado
     assert(strrchr($archivo->contenido(), 13) === false);
     //Aca grabe el archivo
     $archivo->edicion_fin();
     assert(strrchr(file_get_contents($nombre), 13) === false);
     assert(strrchr(file_get_contents($nombre), PHP_EOL) !== false);
     $archivo->mostrar();
     echo 'El test parece que funco!, revirtiendo archivo....';
     $tsvn = new toba_svn();
     $tsvn->revert($nombre);
 }
Пример #3
0
 function conf__pant_vista_previa()
 {
     $path = $this->s__path_archivo;
     $svn = new toba_svn();
     if (!isset($this->comando_svn)) {
         $codigo = $this->get_codigo_vista_previa();
     } else {
         switch ($this->comando_svn) {
             case 'blame':
                 $codigo = $svn->blame($path);
                 if ($codigo == '') {
                     toba::notificacion()->error('No se pudo realizar el blame, posiblemente porque el repositorio tiene restricciones de permisos y el usuario de apache no tiene cargadas las credenciales');
                 }
                 break;
             case 'diff':
                 $codigo = $svn->diff($path);
                 break;
             case 'revert':
                 $svn->revert($path);
                 $codigo = $this->get_codigo_vista_previa();
                 break;
             case 'add':
                 $svn->add($path);
                 $codigo = $this->get_codigo_vista_previa();
                 break;
         }
     }
     //-- Info del archivo
     $estado = $svn->get_estado($path);
     $svn_blame = true;
     $svn_diff = false;
     $svn_add = false;
     switch ($estado) {
         case 'unversioned':
             $svn_blame = false;
             $svn_add = true;
             $nombre = 'sin versionar';
             $img = toba_recurso::imagen_proyecto('svn/unversioned.png', true, 16, 16, $nombre);
             break;
         case 'modified':
         case 'missing':
             $svn_diff = true;
             $nombre = 'modificado';
             $img = toba_recurso::imagen_proyecto('svn/modified.png', true, 16, 16, $nombre);
             break;
         case 'added':
             $svn_blame = false;
             $nombre = 'agregado';
             $img = toba_recurso::imagen_proyecto('svn/added.png', true, 16, 16, $nombre);
             break;
         case 'normal':
             $nombre = 'sin modificar';
             $img = toba_recurso::imagen_proyecto('svn/normal.png', true, 16, 16, $nombre);
             break;
         case 'conflicted':
             $nombre = 'En Conflicto';
             $img = toba_recurso::imagen_proyecto('svn/conflict.png', true, 16, 16, $nombre);
             break;
         case 'deleted':
             $nombre = 'borrado';
             $img = toba_recurso::imagen_proyecto('svn/deleted.png', true, 16, 16, $nombre);
             break;
         case 'locked':
             $nombre = 'locked';
             $img = toba_recurso::imagen_proyecto('svn/locked.png', true, 16, 16, $nombre);
             break;
         case 'ignored':
             $svn_add = true;
             $svn_blame = false;
             $nombre = 'ignorado';
             $img = toba_recurso::imagen_proyecto('svn/ignored.png', true, 16, 16, $nombre);
             break;
     }
     $this->info_archivo = "{$path} <span style='font-size: 9px; color:gray'>({$nombre})</span>";
     $this->previsualizacion = $codigo;
     $existe_archivo = file_exists($path);
     $ver_comandos_svn = $svn->hay_cliente_svn();
     if (!$svn->hay_cliente_svn()) {
         $ver_comandos_svn = false;
     }
     //-- Oculta boton eliminar
     if (!$existe_archivo) {
         $this->pantalla()->eliminar_evento('eliminar');
         $this->pantalla()->eliminar_evento('abrir');
     }
     if (!$ver_comandos_svn || !$svn_blame) {
         $this->pantalla()->eliminar_evento('svn_blame');
     }
     if (!$ver_comandos_svn || !$svn_diff) {
         $this->pantalla()->eliminar_evento('svn_diff');
         $this->pantalla()->eliminar_evento('svn_revert');
     }
     if (!$ver_comandos_svn || !$svn_add || !$existe_archivo) {
         $this->pantalla()->eliminar_evento('svn_add');
     }
     if (!$ver_comandos_svn || !$existe_archivo || $svn_add) {
         $this->pantalla()->eliminar_evento('trac_ver');
     }
 }