]> git.p6c8.net - devedit.git/blobdiff - modules/Command.pm
Noted changes done since version 3.0.1 (long, long time ago...)
[devedit.git] / modules / Command.pm
index 28c6777a19415888e109640888e2e3936030f2da..ef15a77a2ec10f4d9ebdf35ab6cc748c23a6b85f 100644 (file)
@@ -6,7 +6,15 @@ 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
+#
+# Copyright (C) 1999-2000 Roland Bluethgen, Frank Schoenmann
+# Copyright (C) 2003-2009 Patrick Canterino
+# All Rights Reserved.
+#
+# This file can be distributed and/or modified under the terms of
+# of the Artistic License 1.0 (see also the LICENSE file found at
+# the top level of the Dev-Editor distribution).
 #
 
 use strict;
 #
 
 use strict;
@@ -108,6 +116,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 +126,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 +144,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 +166,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 +175,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 +210,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 +542,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