# Execute Dev-Editor's commands
#
# Author: Patrick Canterino <patrick@patshaping.de>
-# Last modified: 2005-01-06
+# Last modified: 2005-02-10
#
use strict;
$udtpl->read_file($config->{'templates'}->{'dirlist_up'});
$udtpl->fillin('UPPER_DIR',$upper_path);
- $udtpl->fillin('DATE',encode_entities(strftime($config->{'timeformat'},localtime($stat[9]))));
+ $udtpl->fillin('DATE',encode_entities(strftime($config->{'timeformat'},($config->{'use_gmt'}) ? gmtime($stat[9]) : localtime($stat[9]))));
$dirlist .= $udtpl->get_template;
}
$dtpl->fillin('DIR',$virt_path);
$dtpl->fillin('DIR_NAME',encode_entities($dir));
- $dtpl->fillin('DATE',encode_entities(strftime($config->{'timeformat'},localtime($stat[9]))));
+ $dtpl->fillin('DATE',encode_entities(strftime($config->{'timeformat'},($config->{'use_gmt'}) ? gmtime($stat[9]) : localtime($stat[9]))));
$dtpl->fillin('URL',equal_url(encode_entities($config->{'httproot'}),$virt_path));
$dtpl->parse_if_block('readable',-r $phys_path && -x $phys_path);
$ftpl->fillin('FILE',$virt_path);
$ftpl->fillin('FILE_NAME',encode_entities($file));
$ftpl->fillin('SIZE',$stat[7]);
- $ftpl->fillin('DATE',encode_entities(strftime($config->{'timeformat'},localtime($stat[9]))));
+ $ftpl->fillin('DATE',encode_entities(strftime($config->{'timeformat'},($config->{'use_gmt'}) ? gmtime($stat[9]) : localtime($stat[9]))));
$ftpl->fillin('URL',equal_url(encode_entities($config->{'httproot'}),$virt_path));
$ftpl->parse_if_block('not_readable',not -r $phys_path);
$tpl->parse_if_block('dir_writeable',$dir_writeable);
$tpl->parse_if_block('filter',$filter2);
+ $tpl->parse_if_block('gmt',$config->{'use_gmt'});
}
else
{
# Lock the file...
- $uselist->add_file($virtual);
- $uselist->save;
+ ($uselist->add_file($virtual) and
+ $uselist->save) or return error($config->{'errors'}->{'ul_add_failed'},$dir,{FILE => $virtual});
# ... and show the editing form
{
my ($data,$config) = @_;
my $virtual = $data->{'virtual'};
+ my $dir = upper_path($virtual);
+ my $uselist = $data->{'uselist'};
- file_unlock($data->{'uselist'},$virtual);
- return devedit_reload({command => 'show', file => upper_path($virtual)});
+ file_unlock($uselist,$virtual) or return error($config->{'errors'}->{'ul_rm_failed'},$dir,{FILE => $virtual, USELIST => $uselist->{'listfile'}});
+ return devedit_reload({command => 'show', file => $dir});
}
# exec_endedit()
# No other user of Dev-Editor will access the file during this
# routine because of the concept of File::UseList.
- file_unlock($uselist,$virtual);
+ file_unlock($uselist,$virtual) or return error($config->{'errors'}->{'ul_rm_failed'},$dir,{FILE => $virtual, USELIST => $uselist->{'listfile'}});
# Normalize newlines
if(file_save($physical,\$content))
{
- # Saving of the file was successful!
+ # The file was successfully saved!
return devedit_reload({command => 'show', file => $dir});
}
# exec_upload()
#
-# Upload a file
+# Process a file upload
#
# Params: 1. Reference to user input hash
# 2. Reference to config hash
if($data->{'cgi'}->param('confirmed'))
{
- file_unlock($uselist,$virtual);
+ file_unlock($uselist,$virtual) or return error($config->{'errors'}->{'ul_rm_failed'},$dir,{FILE => $virtual, USELIST => $uselist->{'listfile'}});
return devedit_reload({command => 'show', file => $dir});
}
else
$tpl->fillin('HTTPD',encode_entities($ENV{'SERVER_SOFTWARE'}));
$tpl->fillin('OS', encode_entities($^O));
- $tpl->fillin('TIME', encode_entities(strftime($config->{'timeformat'},localtime)));
+ $tpl->fillin('TIME', encode_entities(strftime($config->{'timeformat'},($config->{'use_gmt'}) ? gmtime : localtime)));
+
+ $tpl->parse_if_block('gmt',$config->{'use_gmt'});
# Process information
$tpl->fillin('PID',$$);
- # Check if the functions getpwuid() and getgrgid() are available
+ # The following information is only available on systems supporting
+ # users and groups
if($users)
{