]> 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 28c6777a19415888e109640888e2e3936030f2da..dbfea0b6e7c536cf278180cbe017a64afad10a0f 100644 (file)
@@ -6,7 +6,7 @@ package Command;
 # Execute Dev-Editor's commands
 #
 # Author:        Patrick Canterino <patrick@patshaping.de>
 # Execute Dev-Editor's commands
 #
 # Author:        Patrick Canterino <patrick@patshaping.de>
-# Last modified: 2005-08-01
+# Last modified: 2009-03-31
 #
 
 use strict;
 #
 
 use strict;
@@ -108,6 +108,8 @@ sub exec_show($$)
 
   my $dirlist = '';
 
 
   my $dirlist = '';
 
+  my $count = 0;
+
   my $filter1 = $data->{'cgi'}->param('filter') || '*';        # The real wildcard
   my $filter2 = ($filter1 && $filter1 ne '*') ? $filter1 : ''; # Wildcard for output
 
   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 '/')
   {
 
   unless($virtual eq '/')
   {
+   $count++;
+
    my @stat  = stat($physical.'/..');
 
    my $udtpl = new Template;
    my @stat  = stat($physical.'/..');
 
    my $udtpl = new Template;
@@ -132,8 +136,11 @@ sub exec_show($$)
 
   foreach my $dir(@$dirs)
   {
 
   foreach my $dir(@$dirs)
   {
+   next if($config->{'hide_dot_files'} && substr($dir,0,1) eq '.');
    next unless(dos_wildcard_match($filter1,$dir));
 
    next unless(dos_wildcard_match($filter1,$dir));
 
+   $count++;
+
    my $phys_path = $physical.'/'.$dir;
    my $virt_path = multi_string($virtual.$dir.'/');
 
    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('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;
   }
 
    $dirlist .= $dtpl->get_template;
   }
@@ -159,8 +167,11 @@ sub exec_show($$)
 
   foreach my $file(@$files)
   {
 
   foreach my $file(@$files)
   {
+   next if($config->{'hide_dot_files'} && substr($file,0,1) eq '.');
    next unless(dos_wildcard_match($filter1,$file));
 
    next unless(dos_wildcard_match($filter1,$file));
 
+   $count++;
+
    my $phys_path = $physical.'/'.$file;
    my $virt_path = multi_string($virtual.$file);
 
    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('users',$users && -o $phys_path);
 
+   $ftpl->parse_if_block('even',($count % 2) == 0);
+
    $dirlist .= $ftpl->get_template;
   }
 
    $dirlist .= $ftpl->get_template;
   }
 
@@ -521,6 +534,14 @@ sub exec_upload($$)
 
  if(my $uploaded_file = $cgi->param('uploaded_file'))
  {
 
  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);
   # Process file upload
 
   my $filename  = file_name($uploaded_file);

patrick-canterino.de