Пример #1
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');
     }
 }