--- loncom/interface/lonmeta.pm 2006/08/16 18:06:47 1.170 +++ loncom/interface/lonmeta.pm 2008/12/13 22:15:53 1.223 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.170 2006/08/16 18:06:47 banghart Exp $ +# $Id: lonmeta.pm,v 1.223 2008/12/13 22:15:53 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -39,31 +39,12 @@ use Apache::lonpublisher; use Apache::lonlocal; use Apache::lonmysql; use Apache::lonmsg; -use lib '/home/httpd/lib/perl/'; -use LONCAPA; +use LONCAPA qw(:DEFAULT :match); -############################################################ -############################################################ -## -## &get_dynamic_metadata_from_sql($url) -## -## Queries sql database for dynamic metdata -## Returns a hash of hashes, with keys of urls which match $url -## Returned fields are given below. -## -## Examples: -## -## %DynamicMetadata = &Apache::lonmeta::get_dynmaic_metadata_from_sql -## ('/res/msu/korte/'); -## -## $DynamicMetadata{'/res/msu/korte/example.problem'}->{$field} -## -############################################################ -############################################################ sub get_dynamic_metadata_from_sql { my ($url) = shift(); - my ($authordom,$author)=($url=~m:^/res/(\w+)/(\w+)/:); + my ($authordom,$author)=($url=~m{^/res/($match_domain)/($match_username)/}); if (! defined($authordom)) { $authordom = shift(); } @@ -95,7 +76,8 @@ sub get_dynamic_metadata_from_sql { while (my $result = <$fh>) { chomp($result); next if (! $result); - my %hash=&LONCAPA::lonmetadata::metadata_col_to_hash(map { &unescape($_) } split(/\,/,$result)); + my %hash=&LONCAPA::lonmetadata::metadata_col_to_hash('metadata', + map { &unescape($_) } split(/\,/,$result)); foreach my $key (keys(%hash)) { $ReturnHash{$hash{'url'}}->{$key}=$hash{$key}; } @@ -111,7 +93,7 @@ sub get_dynamic_metadata_from_sql { sub dynamicmeta { my $url=&Apache::lonnet::declutter(shift); $url=~s/\.meta$//; - my ($adomain,$aauthor)=($url=~/^(\w+)\/(\w+)\//); + my ($adomain,$aauthor)=($url=~/^($match_domain)\/($match_username)\//); my $regexp=$url; $regexp=~s/(\W)/\\$1/g; $regexp='___'.$regexp.'___'; @@ -182,7 +164,7 @@ sub evalgraph { my $val=int($value*10.+0.5)-10; my $output='
  | '; + $output.=''.(' ' x2).' | '; } else { $output.=''. ' | '; @@ -192,7 +174,7 @@ sub evalgraph { $output.=' | '. ' | '; } else { - $output.=' |   | '; + $output.=''.(' ' x2).' | '; } $output.='('.sprintf("%5.2f",$value).') |