--- loncom/interface/loncommon.pm 2004/10/21 11:17:00 1.222 +++ loncom/interface/loncommon.pm 2004/10/23 00:38:01 1.223 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.222 2004/10/21 11:17:00 foxr Exp $ +# $Id: loncommon.pm,v 1.223 2004/10/23 00:38:01 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3732,70 +3732,30 @@ sub connection_aborted { return $c->aborted(); } -# # Escapes strings that may have embedded 's that will be put into # strings as 'strings'. -# The assumptions are: -# There has been no effort to escape ' with \' -# Any \'s in the string are intended to be there as part of the URL -# and must also be escaped. -# Parameters: -# input - The string to escape. -# Returns: -# The escaped string (' replaced by \' and \ replaced by \\). -# sub escape_single { my ($input) = @_; - - # I imagine a regexp wizard could combine the two expressions below. - # If you do you might want to comment the result. - - $input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)> + $input =~ s/\\/\\\\/g; # Escape the \'s..(must be first)> $input =~ s/\'/\\\'/g; # Esacpe the 's.... - return $input; } + # Same as escape_single, but escape's "'s This # can be used for "strings" -# -# Parameters: -# input - The string to escape. -# Returns: -# The escaped string (" replaced by \" and \ replaced by \\). -# sub escape_double { my ($input) = @_; - - # I imagine a regexp wizard could combine the two expressions below. - # If you do you might want to comment the result. - $input =~ s/\\/\\\\/g; # Escape the /'s..(must be first)> $input =~ s/\"/\\\"/g; # Esacpe the "s.... - return $input; } -# + # Escapes the last element of a full URL. -# -# Parameters: -# url - The url to escape. -# Returns: -# The url with the last element escaped via lonnet::escape. -# sub escape_url { my ($url) = @_; my @urlslices = split(/\//, $url); - - my $lastitem = $urlslices[scalar(@urlslices) -1]; - $lastitem = &Apache::lonnet::escape($lastitem); - - my $escaped_url; - for (my $i = 0; $i < scalar(@urlslices) -1; $i++) { - $escaped_url .= $urlslices[$i] .'/'; - } - $escaped_url .= $lastitem ; - - return $escaped_url; + my $lastitem = &Apache::lonnet::escape(pop(@urlslices)); + return join('/',@urlslices).'/'.$lastitem; } =pod