X-Git-Url: https://git.p6c8.net/devedit.git/blobdiff_plain/548d69a4ee38cc59612e787f479ac198d5c37741..cd639d72ba42aa0aa966729d41be24eb050aa0fc:/modules/Command.pm diff --git a/modules/Command.pm b/modules/Command.pm index bb335dd..adb62a7 100644 --- a/modules/Command.pm +++ b/modules/Command.pm @@ -6,7 +6,7 @@ package Command; # Execute Dev-Editor's commands # # Author: Patrick Canterino -# Last modified: 2005-01-06 +# Last modified: 2005-02-10 # use strict; @@ -126,7 +126,7 @@ sub exec_show($$) $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; } @@ -147,7 +147,7 @@ sub exec_show($$) $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); @@ -175,7 +175,7 @@ sub exec_show($$) $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); @@ -207,6 +207,7 @@ sub exec_show($$) $tpl->parse_if_block('dir_writeable',$dir_writeable); $tpl->parse_if_block('filter',$filter2); + $tpl->parse_if_block('gmt',$config->{'use_gmt'}); } else { @@ -278,8 +279,8 @@ sub exec_beginedit($$) # 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 @@ -314,9 +315,11 @@ sub exec_canceledit($$) { 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() @@ -342,7 +345,7 @@ sub 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 @@ -373,7 +376,7 @@ sub exec_endedit($$) if(file_save($physical,\$content)) { - # Saving of the file was successful! + # The file was successfully saved! return devedit_reload({command => 'show', file => $dir}); } @@ -463,7 +466,7 @@ sub exec_mkdir($$) # exec_upload() # -# Upload a file +# Process a file upload # # Params: 1. Reference to user input hash # 2. Reference to config hash @@ -854,7 +857,7 @@ sub exec_unlock($$) 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 @@ -912,13 +915,16 @@ sub exec_about($$) $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) {