Diff for /loncom/metadata_database/searchcat.pl between versions 1.38 and 1.43

version 1.38, 2003/08/21 00:19:05 version 1.43, 2003/10/08 19:38:41
Line 138  sub dynamicmeta { Line 138  sub dynamicmeta {
        my %cnt=();         my %cnt=();
        my %listitems=('count'        => 'add',         my %listitems=('count'        => 'add',
                       'course'       => 'add',                        'course'       => 'add',
         'goto'         => 'add',
         'comefrom'     => 'add',
                       'avetries'     => 'avg',                        'avetries'     => 'avg',
                       'stdno'        => 'add',                        'stdno'        => 'add',
                       'difficulty'   => 'avg',                        'difficulty'   => 'avg',
Line 152  sub dynamicmeta { Line 154  sub dynamicmeta {
        my $regexp=$url;         my $regexp=$url;
        $regexp=~s/(\W)/\\$1/g;         $regexp=~s/(\W)/\\$1/g;
        $regexp='___'.$regexp.'___([a-z]+)$';         $regexp='___'.$regexp.'___([a-z]+)$';
        foreach (keys %evaldata) {         while (my ($esckey,$value)=each %evaldata) {
  my $key=&unescape($_);   $key=&unescape($esckey);
  if ($key=~/$regexp/) {   if ($key=~/$regexp/) {
     my $ctype=$1;      my $ctype=$1;
             if (defined($cnt{$ctype})) {               if (defined($cnt{$ctype})) { 
Line 163  sub dynamicmeta { Line 165  sub dynamicmeta {
             }              }
             unless ($listitems{$ctype} eq 'app') {              unless ($listitems{$ctype} eq 'app') {
                if (defined($sum{$ctype})) {                 if (defined($sum{$ctype})) {
                   $sum{$ctype}+=$evaldata{$_};                    $sum{$ctype}+=$value;
           } else {            } else {
                   $sum{$ctype}=$evaldata{$_};                    $sum{$ctype}=$value;
        }         }
             } else {              } else {
                if (defined($sum{$ctype})) {                 if (defined($sum{$ctype})) {
                   if ($evaldata{$_}) {                    if ($value) {
                      $sum{$ctype}.='<hr>'.$evaldata{$_};                       $sum{$ctype}.='<hr>'.$value;
           }            }
         } else {          } else {
              $sum{$ctype}=''.$evaldata{$_};               $sum{$ctype}=''.$value;
        }         }
     }      }
     if ($ctype ne 'count') {      if ($ctype ne 'count') {
        $newevaldata{$_}=$evaldata{$_};         $newevaldata{$esckey}=$value;
    }     }
  }   }
       }        }
Line 310  foreach my $user (@homeusers) { Line 312  foreach my $user (@homeusers) {
         my $m2='/res/'.&declutter($m);          my $m2='/res/'.&declutter($m);
         $m2=~s/\.meta$//;          $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);   &count($m2);
         $delete_sth->execute($m2);          $delete_sth->execute($m2);
         $insert_sth->execute($ref->{'title'},          $insert_sth->execute($ref->{'title'},
Line 338  foreach my $user (@homeusers) { Line 342  foreach my $user (@homeusers) {
                   
     # ------------------------------------------- Copy over the new db-files      # ------------------------------------------- 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 '.      system('mv '.$prodir.'/nohist_new_resevaldata.db '.
    $prodir.'/nohist_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");  
  }  
     }     
 }  }
 # --------------------------------------------------- Close database connection  # --------------------------------------------------- Close database connection
 $dbh->disconnect;  $dbh->disconnect;

Removed from v.1.38  
changed lines
  Added in v.1.43


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>