X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/3e6b9e338fe5ea06b487202fe54217f2082cd13d..258ec0b29f3b69680b6de4ddc9704c3710a50178:/modules/Command.pm
diff --git a/modules/Command.pm b/modules/Command.pm
index 1a39d67..363cffe 100644
--- a/modules/Command.pm
+++ b/modules/Command.pm
@@ -6,7 +6,7 @@ package Command;
# Execute Dev-Editor's commands
#
# Author: Patrick Canterino
\n\n\n";
+ $output .= "
\n\n\n";
# Create the link to the upper directory
# (only if we are not in the root directory)
@@ -83,10 +82,10 @@ sub exec_show($$$)
$output .= " [SUBDIR] ";
$output .= strftime("%d.%m.%Y %H:%M",localtime($stat[9]));
$output .= " " x 10;
- $output .= "../\n";
+ $output .= "../\n";
}
- # Get the longest file/directory name
+ # Get the length of the longest file/directory name
my $max_name_len = 0;
@@ -104,29 +103,36 @@ sub exec_show($$$)
$output .= " ";
$output .= "[SUBDIR] ";
- $output .= strftime("%d.%m.%Y %H:%M",localtime($stat[9]));
+ $output .= strftime($config->{'timeformat'},localtime($stat[9]));
$output .= " " x 10;
- $output .= "".encode_entities($dir)."/\n";
+ $output .= "".encode_entities($dir)."/\n";
}
# Files
foreach my $file(@$files)
{
- my @stat = stat($physical."/".$file);
- my $virt_path = $virtual.$file;
+ my $phys_path = $physical."/".$file; # Not exactly...
+ my $virt_path = encode_entities($virtual.$file);
+
+ my @stat = stat($phys_path);
my $in_use = $data->{'uselist'}->in_use($virtual.$file);
$output .= " " x (10 - length($stat[7]));
$output .= $stat[7];
$output .= " ";
- $output .= strftime("%d.%m.%Y %H:%M",localtime($stat[9]));
- $output .= ($in_use) ? " (IN USE) " : " " x 10;
+ $output .= strftime($config->{'timeformat'},localtime($stat[9]));
+ $output .= ($in_use) ? " (IN USE) " : (not -T $phys_path) ? " (BINARY) " : " " x 10;
$output .= encode_entities($file);
$output .= " " x ($max_name_len - length($file))."\t (";
- $output .= "View | ";
- $output .= ($in_use)
+ $output .= (-T $phys_path)
+ ? "View"
+ : 'View';
+
+ $output .= " | ";
+
+ $output .= ($in_use || not -T $phys_path)
? 'Edit'
: "Edit";
@@ -134,15 +140,27 @@ sub exec_show($$$)
}
$output .= "
\n\n
\n\n";
+
+ # Bottom of directory listing
+ # (Fields for creating files and directories)
+
$output .= <
+
@@ -155,8 +173,10 @@ END
# View a file
# Check on binary files
+ # We have to do it in this way, or empty files
+ # will be recognized as binary files
- if(-B $physical)
+ unless(-T $physical)
{
# Binary file
@@ -166,7 +186,7 @@ END
{
# Text file
- $output = htmlhead("Contents of file $virtual");
+ $output = htmlhead("Contents of file ".encode_entities($virtual));
$output .= equal_url($config->{'httproot'},$virtual);
$output .= dir_link($virtual);
@@ -179,7 +199,7 @@ END
}
}
- return \$output
+ return \$output;
}
# exec_beginedit
@@ -203,7 +223,7 @@ sub exec_beginedit($$)
# Check on binary files
- if(-B $physical)
+ unless(-T $physical)
{
# Binary file
@@ -216,27 +236,33 @@ sub exec_beginedit($$)
$uselist->add_file($virtual);
$uselist->save;
- my $dir = upper_path($virtual);
- my $content = encode_entities(${file_read($physical)});
+ my $dir = upper_path($virtual);
+ my $content = encode_entities(${file_read($physical)});
+
+ my $equal_url = equal_url($config->{'httproot'},$virtual);
+
+ $virtual = encode_entities($virtual);
my $output = htmlhead("Edit file $virtual");
- $output .= equal_url($config->{'httproot'},$virtual);
+ $output .= $equal_url;
$output .= <Create new file:
-$virtual
+