--- loncom/interface/lonwishlist.pm 2014/05/31 16:01:33 1.22 +++ loncom/interface/lonwishlist.pm 2014/12/20 15:35:40 1.24 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utility-routines for wishlist # -# $Id: lonwishlist.pm,v 1.22 2014/05/31 16:01:33 raeburn Exp $ +# $Id: lonwishlist.pm,v 1.24 2014/12/20 15:35:40 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -94,10 +94,10 @@ my $foldersOption; sub getWishlist { my @keys = &Apache::lonnet::getkeys('wishlist'); my %wishlist = &Apache::lonnet::get('wishlist',\@keys); - foreach my $i ( keys %wishlist) { + foreach my $i (keys(%wishlist)) { #File not found. This appears at the first time using the wishlist #Create file and put 'root' into it - if ($i =~m/^error:No such file/) { + if ($i =~m/^\Qerror:No such file\E/) { &Apache::lonnet::logthis($i.'! Create file by putting in the "root" of the directory tree.'); &Apache::lonnet::put('wishlist', {'root' => ''}); my $options = ''; @@ -113,7 +113,7 @@ sub getWishlist { # if we got no keys in hash returned by get(), return error. # wishlist will not be loaded, instead the user will be asked to try again later - if ((keys %wishlist) == 0) { + if ((keys(%wishlist)) == 0) { &Apache::lonnet::logthis('ERROR while attempting to get wishlist: no keys retrieved!'); return 'error'; } @@ -1131,8 +1131,9 @@ sub wishlistView { } # entry is a link else { + my $quotable_link = &Apache::loncommon::escape_single($n->value()->path()); $wishlistHTMLview .= ''. - 'value()->path()."'".');">'. + ''. 'link'. $n->value()->title().''; } @@ -1305,9 +1306,10 @@ sub wishlistMove { $highlight = 'style="color:red;"'; } # link-image and title + my $quotable_link = &Apache::loncommon::escape_single($n->value()->path()); $wishlistHTMLmove .= ''. ''. - 'value()->path()."'".');" '.$highlight.'>'. + ''. 'link'. $n->value()->title().''; } @@ -1425,7 +1427,8 @@ sub wishlistImport { else { $wishlistHTMLimport .= ''; unless ($nopick{$n->value()->path()}) { - $wishlistHTMLimport .= 'value()->path()."'".');">'; + my $quotable_link = &Apache::loncommon::escape_single($n->value()->path()); + $wishlistHTMLimport .= ''; } $wishlistHTMLimport .= 'link'. ''.$n->value()->title().''; @@ -1869,13 +1872,13 @@ sub makePageImport { #FIXME Saved string containing all folders in wishlist.db-file (key 'folders') in first version of lonwishlist #After splitting lonwishlist into two modules, this is not necessary anymore. So, dependent from when the wishlist #was first called (i.e. when wishlist.db was created), there might be an entry 'folders' or not. Number of links in - #wishlist.db depends on wether this entry exists or not...JW + #wishlist.db depends on whether this entry exists or not...JW my $fnum; if (defined $wishlist{'folders'}) { - $fnum = (keys %wishlist)-2; + $fnum = (keys(%wishlist))-2; } else { - $fnum = (keys %wishlist)-1; + $fnum = (keys(%wishlist))-1; } $inner .= '
'. @@ -2125,7 +2128,7 @@ sub HashToTree { my @TreeNodes = (); my $root; - foreach my $key (keys %$TreeHash) { + foreach my $key (keys(%$TreeHash)) { if ($key eq 'root') { $root = Tree->new("root"); }