--- loncom/metadata_database/searchcat.pl 2003/08/21 01:48:22 1.39 +++ loncom/metadata_database/searchcat.pl 2003/10/08 14:15:03 1.42 @@ -2,7 +2,7 @@ # The LearningOnline Network # searchcat.pl "Search Catalog" batch script # -# $Id: searchcat.pl,v 1.39 2003/08/21 01:48:22 www Exp $ +# $Id: searchcat.pl,v 1.42 2003/10/08 14:15:03 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -138,6 +138,8 @@ sub dynamicmeta { my %cnt=(); my %listitems=('count' => 'add', 'course' => 'add', + 'goto' => 'add', + 'comefrom' => 'add', 'avetries' => 'avg', 'stdno' => 'add', 'difficulty' => 'avg', @@ -152,8 +154,8 @@ sub dynamicmeta { my $regexp=$url; $regexp=~s/(\W)/\\$1/g; $regexp='___'.$regexp.'___([a-z]+)$'; - foreach (keys %evaldata) { - my $key=&unescape($_); + while (my ($key,$value)=each %evaldata) { + $key=&unescape($key); if ($key=~/$regexp/) { my $ctype=$1; if (defined($cnt{$ctype})) { @@ -163,21 +165,21 @@ sub dynamicmeta { } unless ($listitems{$ctype} eq 'app') { if (defined($sum{$ctype})) { - $sum{$ctype}+=$evaldata{$_}; + $sum{$ctype}+=$value; } else { - $sum{$ctype}=$evaldata{$_}; + $sum{$ctype}=$value; } } else { if (defined($sum{$ctype})) { - if ($evaldata{$_}) { - $sum{$ctype}.='
'.$evaldata{$_}; + if ($value) { + $sum{$ctype}.='
'.$value; } } else { - $sum{$ctype}=''.$evaldata{$_}; + $sum{$ctype}=''.$value; } } if ($ctype ne 'count') { - $newevaldata{$_}=$evaldata{$_}; + $newevaldata{$_}=$value; } } } @@ -309,7 +311,9 @@ foreach my $user (@homeusers) { my $ref=&metadata($m); my $m2='/res/'.&declutter($m); $m2=~s/\.meta$//; -# &dynamicmeta($m2); + &dynamicmeta($m2); + if ($ref->{'obsolete'}) { print LOG "obsolete\n"; next; } + if ($ref->{'copyright'} eq 'private') { print LOG "private\n"; next; } &count($m2); $delete_sth->execute($m2); $insert_sth->execute($ref->{'title'}, @@ -338,27 +342,10 @@ foreach my $user (@homeusers) { # ------------------------------------------- Copy over the new db-files # - # Check the size of nohist_new_resevaldata.db compared to - # nohist_resevaldata.db -# my @stat_result = stat($prodir.'/nohist_new_resevaldata.db'); -# my $new_size = $stat_result[7]; -# @stat_result = stat($prodir.'/nohist_resevaldata.db'); -# my $old_size = $stat_result[7]; -# if ($old_size) { -# if ($new_size/$old_size > 0.15 ) { -# system('mv '.$prodir.'/nohist_new_resevaldata.db '. -# $prodir.'/nohist_resevaldata.db'); -# } else { -# print LOG "Size of '$user' old nohist_reseval: $old_size ". -# "Size of new: $new_size. Not overwriting.\n"; -# my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; -# my $subj="LON: $perlvar{'lonHostID'} searchcat.pl $user reseval ". -# "modification error."; -# system("echo ". -# "'See /home/httpd/perl/logs/searchcat.txt for information.' ". -# "| mailto $emailto -s '$subj' > /dev/null"); -# } -# } + + system('mv '.$prodir.'/nohist_new_resevaldata.db '. + $prodir.'/nohist_resevaldata.db'); + } # --------------------------------------------------- Close database connection $dbh->disconnect;