From 45e9b73e83242cc048d5eaa2b12427acc374cf69 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Tue, 18 Jun 2002 01:14:07 +0000 Subject: [PATCH] Attachments are no longer lowercased like all other URLs. --- lib/WebGUI/Attachment.pm | 2 +- lib/WebGUI/URL.pm | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/WebGUI/Attachment.pm b/lib/WebGUI/Attachment.pm index 6e08543e7..44931167f 100644 --- a/lib/WebGUI/Attachment.pm +++ b/lib/WebGUI/Attachment.pm @@ -428,7 +428,7 @@ sub save { $_[0]->{_filename} =~ s/\./\_/g; $_[0]->{_filename} .= ".txt"; } - $_[0]->{_filename} = WebGUI::URL::urlize($_[0]->getFilename); + $_[0]->{_filename} = WebGUI::URL::makeCompliant($_[0]->getFilename); $_[0]->{_node}->create(); $file = FileHandle->new(">".$_[0]->getPath); if (defined $file) { diff --git a/lib/WebGUI/URL.pm b/lib/WebGUI/URL.pm index 655212512..87245c32d 100644 --- a/lib/WebGUI/URL.pm +++ b/lib/WebGUI/URL.pm @@ -46,6 +46,18 @@ sub gateway { return $url; } +#------------------------------------------------------------------- +sub makeCompliant { + my ($value); + $value = $_[0]; + $value =~ s/\s+$//g; #removes trailing whitespace + $value =~ s/^\s+//g; #removes leading whitespace + $value =~ s/ /_/g; #replaces whitespace with underscores + $value =~ s/\.$//g; #removes trailing period + $value =~ s/[^A-Za-z0-9\-\.\_]//g; #removes all funky characters + return $value; +} + #------------------------------------------------------------------- sub makeUnique { my ($url, $test, $pageId); @@ -83,11 +95,7 @@ sub unescape { sub urlize { my ($value); $value = lc($_[0]); #lower cases whole string - $value =~ s/\W+$//g; #removes trailing whitespace - $value =~ s/^\W+//g; #removes leading whitespace - $value =~ s/ /_/g; #replaces whitespace with underscores - $value =~ s/\.$//g; #removes trailing period - $value =~ s/[^a-z0-9\-\.\_]//g; #removes all funky characters + $value = makeCompliant($value); return $value; }