$udtpl->fillin("DATE",encode_entities(strftime($config->{'timeformat'},localtime($stat[9]))));
$dirlist .= $udtpl->get_template;
$udtpl->fillin("DATE",encode_entities(strftime($config->{'timeformat'},localtime($stat[9]))));
$dirlist .= $udtpl->get_template;
$ftpl->parse_if_block("readonly",not -w $phys_path);
$ftpl->parse_if_block("viewable",-r $phys_path && -T $phys_path && not ($config->{'max_file_size'} && $stat[7] > $config->{'max_file_size'}));
$ftpl->parse_if_block("readonly",not -w $phys_path);
$ftpl->parse_if_block("viewable",-r $phys_path && -T $phys_path && not ($config->{'max_file_size'} && $stat[7] > $config->{'max_file_size'}));
$ftpl->parse_if_block("editable",-r $phys_path && -w $phys_path && -T $phys_path && not ($config->{'max_file_size'} && $stat[7] > $config->{'max_file_size'}) && not $in_use);
$ftpl->parse_if_block("in_use",$in_use);
$ftpl->parse_if_block("editable",-r $phys_path && -w $phys_path && -T $phys_path && not ($config->{'max_file_size'} && $stat[7] > $config->{'max_file_size'}) && not $in_use);
$ftpl->parse_if_block("in_use",$in_use);
- return error($config->{'errors'}->{'file_too_large'},upper_path($virtual),{SIZE => $config->{'max_file_size'}})
+ return error($config->{'errors'}->{'file_too_large'},$upper_path,{SIZE => $config->{'max_file_size'}})
$tpl->read_file($config->{'templates'}->{'viewfile'});
$tpl->fillin("FILE",$virtual);
$tpl->read_file($config->{'templates'}->{'viewfile'});
$tpl->fillin("FILE",$virtual);
$tpl->fillin("URL",equal_url($config->{'httproot'},$virtual));
$tpl->fillin("SCRIPT",$script);
$tpl->fillin("URL",equal_url($config->{'httproot'},$virtual));
$tpl->fillin("SCRIPT",$script);
if(my $uploaded_file = $cgi->param('uploaded_file'))
{
# Process file upload
my $filename = file_name($uploaded_file);
my $file_phys = $physical."/".$filename;
if(my $uploaded_file = $cgi->param('uploaded_file'))
{
# Process file upload
my $filename = file_name($uploaded_file);
my $file_phys = $physical."/".$filename;
return error($config->{'errors'}->{'file_exists'},$virtual,{FILE => $file_virt}) if(-e $file_phys && not $cgi->param('overwrite'));
return error($config->{'errors'}->{'file_exists'},$virtual,{FILE => $file_virt}) if(-e $file_phys && not $cgi->param('overwrite'));
- open(FILE,">$file_phys") or return error($config->{'errors'}->{'mkfile_failed'},$virtual,{FILE => $file_virt});
+ open(FILE,">".$file_phys) or return error($config->{'errors'}->{'mkfile_failed'},$virtual,{FILE => $file_virt});
- return error($config->{'errors'}->{'dircopy'}) if(-d $physical);
- return error($config->{'errors'}->{'nocopy'}) unless(-r $physical);
+ return error($config->{'errors'}->{'dircopy'},upper_path($virtual)) if(-d $physical);
+ return error($config->{'errors'}->{'nocopy'},upper_path($virtual)) unless(-r $physical);
return error($config->{'errors'}->{'invalid_group'},$dir,{GROUP => encode_entities($group)}) unless($group =~ /^[a-z0-9_]+[a-z0-9_-]*$/i);
system("chgrp",$group,$physical);
}
return error($config->{'errors'}->{'invalid_group'},$dir,{GROUP => encode_entities($group)}) unless($group =~ /^[a-z0-9_]+[a-z0-9_-]*$/i);
system("chgrp",$group,$physical);
}