version 1.108, 2011/10/22 23:09:44
|
version 1.109, 2011/10/23 01:27:34
|
Line 272 sub exists {
|
Line 272 sub exists {
|
$creating ||= 'file'; |
$creating ||= 'file'; |
|
|
my $published=$construct; |
my $published=$construct; |
$published=~ |
$published=~s{^/home/httpd/html/priv/}{/home/httpd/html/res/}; |
s{^/home/$user/public_html/}{/home/httpd/html/res/$domain/$user/}; |
|
my ($type,$result); |
my ($type,$result); |
if ( -d $construct ) { |
if ( -d $construct ) { |
return ('error','<p><span class="LC_error">'.&mt('Error: destination for operation is an existing directory.').'</span></p>'); |
return ('error','<p><span class="LC_error">'.&mt('Error: destination for operation is an existing directory.').'</span></p>'); |
Line 347 sub checksuffix {
|
Line 346 sub checksuffix {
|
} |
} |
|
|
sub cleanDest { |
sub cleanDest { |
my ($request,$dest,$subdir,$fn,$uname)=@_; |
my ($request,$dest,$subdir,$fn,$uname,$udom)=@_; |
#remove bad characters |
#remove bad characters |
my $foundbad=0; |
my $foundbad=0; |
my $error=''; |
my $error=''; |
Line 362 sub cleanDest {
|
Line 361 sub cleanDest {
|
} |
} |
if ($dest=~m|/|) { |
if ($dest=~m|/|) { |
my ($newpath)=($dest=~m|(.*)/|); |
my ($newpath)=($dest=~m|(.*)/|); |
($newpath,$error)=&relativeDest($fn,$newpath,$uname); |
($newpath,$error)=&relativeDest($fn,$newpath,$uname,$udom); |
if (! -d "$newpath") { |
if (! -d "$newpath") { |
$request->print('<p><span class="LC_warning">' |
$request->print('<p><span class="LC_warning">' |
.&mt("You have requested to create file in directory [_1] which doesn't exist. The requested directory path has been removed from the requested file name." |
.&mt("You have requested to create file in directory [_1] which doesn't exist. The requested directory path has been removed from the requested file name." |
Line 391 sub cleanDest {
|
Line 390 sub cleanDest {
|
} |
} |
|
|
sub relativeDest { |
sub relativeDest { |
my ($fn,$newfilename,$uname)=@_; |
my ($fn,$newfilename,$uname,$udom)=@_; |
my $error = ''; |
my $error = ''; |
if ($newfilename=~/^\//) { |
if ($newfilename=~/^\//) { |
# absolute, simply add path |
# absolute, simply add path |
$newfilename='/home/'.$uname.'/public_html/'; |
$newfilename='/home/httpd/html/res/'.$udom.'/'.$uname.'/'; |
} else { |
} else { |
my $dir=$fn; |
my $dir=$fn; |
$dir=~s/\/[^\/]+$//; |
$dir=~s/\/[^\/]+$//; |
Line 952 sub phaseone {
|
Line 951 sub phaseone {
|
my $doingdir=0; |
my $doingdir=0; |
if ($env{'form.action'} eq 'newdir') { $doingdir=1; } |
if ($env{'form.action'} eq 'newdir') { $doingdir=1; } |
my ($newfilename,$error) = |
my ($newfilename,$error) = |
&cleanDest($r,$env{'form.newfilename'},$doingdir,$fn,$uname); |
&cleanDest($r,$env{'form.newfilename'},$doingdir,$fn,$uname,$udom); |
unless ($error) { |
unless ($error) { |
($newfilename,$error)=&relativeDest($fn,$newfilename,$uname); |
($newfilename,$error)=&relativeDest($fn,$newfilename,$uname,$udom); |
} |
} |
if ($error) { |
if ($error) { |
my $dirlist; |
my $dirlist; |