aboutsummaryrefslogtreecommitdiff
path: root/lib/WebCoso
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2009-08-17 15:33:31 +0200
committerdakkar <dakkar@thenautilus.net>2009-08-17 15:33:31 +0200
commit0348907c750a20eca9ee6595b9cff09f70c4a070 (patch)
tree0777014c931d31a970bed66f0d43ecf84b8c54d2 /lib/WebCoso
parentsome EXSLT functions missing from XML::LibXSLT (diff)
downloadWebCoso-0348907c750a20eca9ee6595b9cff09f70c4a070.tar.gz
WebCoso-0348907c750a20eca9ee6595b9cff09f70c4a070.tar.bz2
WebCoso-0348907c750a20eca9ee6595b9cff09f70c4a070.zip
some more path cleanup
Diffstat (limited to 'lib/WebCoso')
-rw-r--r--lib/WebCoso/Common.pm7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/WebCoso/Common.pm b/lib/WebCoso/Common.pm
index bfd5e88..513a562 100644
--- a/lib/WebCoso/Common.pm
+++ b/lib/WebCoso/Common.pm
@@ -18,7 +18,7 @@ our $VERBOSITY=0;
sub setpaths {
for my $path ($SRCPATH,$DSTPATH,@TMPLPATH) {
- $path=file($path)->absolute()->stringify;
+ $path=file($path)->absolute()->cleanup->stringify;
}
return;
}
@@ -58,6 +58,7 @@ sub dstUriFor {
if ($path) {
$name=file($name)->absolute(file($path)->parent)->relative($SRCPATH);
$name=dir("$SRCPATH/$name/")->cleanup->stringify . '/';
+ $name=~ s{/(?:[^/]+)/\.\.}{}g;
}
$name=~s{^\Q$SRCPATH\E/}{$DSTBASEURL};
DEBUG("dstUriFor -> $name");
@@ -74,8 +75,8 @@ sub srcXMLFor {
$doc_name=~s{^\Q$DSTBASEURL\E}{$SRCPATH/};
}
else {
- $doc_name=file($doc_name)->absolute(file($path)->parent)->relative($SRCPATH); # absolutize it
- $doc_name="$SRCPATH/$doc_name";
+ $doc_name=file($doc_name)->absolute(file($path)->parent)->cleanup->stringify;
+ $doc_name=~ s{/(?:[^/]+)/\.\.}{}g;
}
return $doc_name;