--- loncom/LONCAPA.pm 2006/06/19 09:35:08 1.6 +++ loncom/LONCAPA.pm 2006/06/26 21:19:36 1.8 @@ -1,7 +1,7 @@ # The LearningOnline Network # Base routines # -# $Id: LONCAPA.pm,v 1.6 2006/06/19 09:35:08 www Exp $ +# $Id: LONCAPA.pm,v 1.8 2006/06/26 21:19:36 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -40,9 +40,19 @@ my $loncapa_max_wait_time = 13; require Exporter; our @ISA = qw (Exporter); -our @EXPORT = qw(&add_get_param &escape &unescape &tie_domain_hash &untie_domain_hash &tie_user_hash &untie_user_hash &propath); +our @EXPORT = qw(&escape_LaTeX &add_get_param &escape &unescape &tie_domain_hash &untie_domain_hash &tie_user_hash &untie_user_hash &propath); my %perlvar; +# Escape a LaTeX string of special characters that according to LaTeX line by line +# pg 9 are: # $ % & \ ^ _ { } ~ These are escaped by prepending a \ +# +sub escape_LaTeX { + my ($string) = @_; + $string =~ s/[\#\$\%\&\\^_{}]/\\$&/g; + return $string; +} + + # Inputs are a url, and a hash ref of # form name => value pairs # takes care of properly adding the form name elements and values to the @@ -173,7 +183,7 @@ sub untie_user_hash { sub locking_hash_tie { my ($filename,$how)=@_; my ($file_prefix,$namespace)=&db_filename_parts($filename); - unless ($namespace) { return undef; } + if ($namespace eq '') { return undef; } return &_locking_hash_tie($file_prefix,$namespace,$how); } @@ -184,7 +194,7 @@ sub locking_hash_untie { sub db_filename_parts { my ($filename)=@_; my ($file_path,$namespace)=($filename=~/^(.*)\/([^\/]+)\.db$/); - unless ($namespace) { return undef; } + if ($namespace eq '') { return undef; } return ($file_path.'/'.$namespace,$namespace); }