]> git.p6c8.net - devedit.git/blobdiff - modules/Command.pm
Added new template {IF} block ("even") for allowing to change color of the
[devedit.git] / modules / Command.pm
index d910bda9352f6fe1d9cbd968a5150366472684e1..dbfea0b6e7c536cf278180cbe017a64afad10a0f 100644 (file)
@@ -6,7 +6,7 @@ package Command;
 # Execute Dev-Editor's commands
 #
 # Author:        Patrick Canterino <patrick@patshaping.de>
-# Last modified: 2005-07-06
+# Last modified: 2009-03-31
 #
 
 use strict;
@@ -108,6 +108,8 @@ sub exec_show($$)
 
   my $dirlist = '';
 
+  my $count = 0;
+
   my $filter1 = $data->{'cgi'}->param('filter') || '*';        # The real wildcard
   my $filter2 = ($filter1 && $filter1 ne '*') ? $filter1 : ''; # Wildcard for output
 
@@ -116,6 +118,8 @@ sub exec_show($$)
 
   unless($virtual eq '/')
   {
+   $count++;
+
    my @stat  = stat($physical.'/..');
 
    my $udtpl = new Template;
@@ -132,8 +136,11 @@ sub exec_show($$)
 
   foreach my $dir(@$dirs)
   {
+   next if($config->{'hide_dot_files'} && substr($dir,0,1) eq '.');
    next unless(dos_wildcard_match($filter1,$dir));
 
+   $count++;
+
    my $phys_path = $physical.'/'.$dir;
    my $virt_path = multi_string($virtual.$dir.'/');
 
@@ -151,6 +158,7 @@ sub exec_show($$)
    $dtpl->parse_if_block('forbidden',is_forbidden_file($config->{'forbidden'},$virt_path->{'normal'}));
    $dtpl->parse_if_block('readable',-r $phys_path && -x $phys_path);
    $dtpl->parse_if_block('users',$users && -o $phys_path);
+   $dtpl->parse_if_block('even',($count % 2) == 0);
 
    $dirlist .= $dtpl->get_template;
   }
@@ -159,8 +167,11 @@ sub exec_show($$)
 
   foreach my $file(@$files)
   {
+   next if($config->{'hide_dot_files'} && substr($file,0,1) eq '.');
    next unless(dos_wildcard_match($filter1,$file));
 
+   $count++;
+
    my $phys_path = $physical.'/'.$file;
    my $virt_path = multi_string($virtual.$file);
 
@@ -191,6 +202,8 @@ sub exec_show($$)
 
    $ftpl->parse_if_block('users',$users && -o $phys_path);
 
+   $ftpl->parse_if_block('even',($count % 2) == 0);
+
    $dirlist .= $ftpl->get_template;
   }
 
@@ -409,7 +422,9 @@ sub exec_endedit($$)
     print FILE $content;
    }
 
-   $output = devedit_reload({command => 'show', file => $dir});
+   $output = ($cgi->param('continue'))
+           ? devedit_reload({command => 'beginedit', file => $virtual})
+           : devedit_reload({command => 'show', file => $dir});
   }
 
   close(FILE);
@@ -519,6 +534,14 @@ sub exec_upload($$)
 
  if(my $uploaded_file = $cgi->param('uploaded_file'))
  {
+  if($cgi->param('remote_file'))
+  {
+   $uploaded_file = $cgi->param('remote_file');
+
+   $uploaded_file =~ s!/!!g;
+   $uploaded_file =~ s!\\!!g;
+  }
+
   # Process file upload
 
   my $filename  = file_name($uploaded_file);
@@ -581,6 +604,7 @@ sub exec_copy($$)
  my $new_physical   = $data->{'new_physical'};
 
  return error($config->{'errors'}->{'link_copy'},$dir) if(-l $physical);
+ return error($config->{'errors'}->{'no_copy'},$dir)   unless(-r $physical);
 
  if($new_physical)
  {
@@ -963,7 +987,7 @@ sub exec_about($$)
 
   $tpl->parse_if_block('users',1);
 
-  # ID's of user and group
+  # IDs of user and group
 
   $tpl->fillin('UID',$uid);
   $tpl->fillin('GID',$gid);

patrick-canterino.de