[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm

albertel lon-capa-cvs@mail.lon-capa.org
Sat, 23 Oct 2004 00:38:02 -0000


albertel		Fri Oct 22 20:38:02 2004 EDT

  Modified files:              
    /loncom/interface	loncommon.pm 
  Log:
  - perlifying
  
  
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.222 loncom/interface/loncommon.pm:1.223
--- loncom/interface/loncommon.pm:1.222	Thu Oct 21 07:17:00 2004
+++ loncom/interface/loncommon.pm	Fri Oct 22 20:38:01 2004
@@ -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 @@
     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