Diff for /loncom/metadata_database/searchcat.pl between versions 1.49 and 1.54

version 1.49, 2003/12/25 15:20:00 version 1.54, 2004/01/05 15:54:22
Line 188  sub dynamicmeta { Line 188  sub dynamicmeta {
  if (defined($cnt{$cat})) { $cnt{$cat}++; } else { $cnt{$cat}=1; }   if (defined($cnt{$cat})) { $cnt{$cat}++; } else { $cnt{$cat}=1; }
  unless ($listitems{$cat} eq 'app') {   unless ($listitems{$cat} eq 'app') {
     if (defined($sum{$cat})) {      if (defined($sum{$cat})) {
  $sum{$cat}+=$evaldata{$esckey};   $sum{$cat}+=&unescape($evaldata{$esckey});
  $concat{$cat}.=','.$item;   $concat{$cat}.=','.$item;
     } else {      } else {
  $sum{$cat}=$evaldata{$esckey};   $sum{$cat}=&unescape($evaldata{$esckey});
  $concat{$cat}=$item;   $concat{$cat}=$item;
     }      }
  } else {   } else {
     if (defined($sum{$cat})) {      if (defined($sum{$cat})) {
  if ($evaldata{$esckey}=~/\w/) {   if ($evaldata{$esckey}=~/\w/) {
     $sum{$cat}.='<hr>'.$evaldata{$esckey};      $sum{$cat}.='<hr />'.&unescape($evaldata{$esckey});
  }   }
     } else {      } else {
  $sum{$cat}=''.$evaldata{$esckey};   $sum{$cat}=''.&unescape($evaldata{$esckey});
     }      }
  }   }
     }      }
Line 241  sub dynamicmeta { Line 241  sub dynamicmeta {
 # ---------------  Read loncapa_apache.conf and loncapa.conf and get variables  # ---------------  Read loncapa_apache.conf and loncapa.conf and get variables
 my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf');  my $perlvarref=LONCAPA::Configuration::read_conf('loncapa.conf');
 my %perlvar=%{$perlvarref};  my %perlvar=%{$perlvarref};
 undef $perlvarref; # remove since sensitive and not needed  undef $perlvarref;
 delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed  delete $perlvar{'lonReceipt'}; # remove since sensitive and not needed
   
 # ------------------------------------- Only run if machine is a library server  # ------------------------------------- Only run if machine is a library server
Line 282  my $dbh; Line 282  my $dbh;
         "title TEXT, author TEXT, subject TEXT, url TEXT, keywords TEXT, ".          "title TEXT, author TEXT, subject TEXT, url TEXT, keywords TEXT, ".
         "version TEXT, notes TEXT, abstract TEXT, mime TEXT, language TEXT, ".          "version TEXT, notes TEXT, abstract TEXT, mime TEXT, language TEXT, ".
         "creationdate DATETIME, lastrevisiondate DATETIME, owner TEXT, ".          "creationdate DATETIME, lastrevisiondate DATETIME, owner TEXT, ".
         "copyright TEXT, ".          "copyright TEXT, dependencies TEXT, ".
    "modifyinguser TEXT, authorspace TEXT, ".
    "lowestgradelevel INTEGER UNSIGNED, highestgradelevel INTEGER UNSIGNED, ".
    "standards TEXT, ".
         "count INTEGER UNSIGNED, ".          "count INTEGER UNSIGNED, ".
         "course INTEGER UNSIGNED, course_list TEXT, ".          "course INTEGER UNSIGNED, course_list TEXT, ".
         "goto INTEGER UNSIGNED, goto_list TEXT, ".          "goto INTEGER UNSIGNED, goto_list TEXT, ".
Line 293  my $dbh; Line 296  my $dbh;
         "difficulty FLOAT, difficulty_list TEXT, ".          "difficulty FLOAT, difficulty_list TEXT, ".
  "clear FLOAT, technical FLOAT, correct FLOAT, helpful FLOAT, depth FLOAT, ".   "clear FLOAT, technical FLOAT, correct FLOAT, helpful FLOAT, depth FLOAT, ".
  "comments TEXT, ".   "comments TEXT, ".
   # For backward compatibility, only insert new fields below
   # ...
   # For backward compatibility, end new fields above
         "FULLTEXT idx_title (title), ".          "FULLTEXT idx_title (title), ".
         "FULLTEXT idx_author (author), FULLTEXT idx_subject (subject), ".          "FULLTEXT idx_author (author), FULLTEXT idx_subject (subject), ".
         "FULLTEXT idx_url (url), FULLTEXT idx_keywords (keywords), ".          "FULLTEXT idx_url (url), FULLTEXT idx_keywords (keywords), ".
         "FULLTEXT idx_version (version), FULLTEXT idx_notes (notes), ".          "FULLTEXT idx_notes (notes), ".
         "FULLTEXT idx_abstract (abstract), FULLTEXT idx_mime (mime), ".          "FULLTEXT idx_abstract (abstract), FULLTEXT idx_mime (mime), ".
         "FULLTEXT idx_language (language), FULLTEXT idx_owner (owner), ".          "FULLTEXT idx_owner (owner), ".
         "FULLTEXT idx_copyright (copyright)) ".   "FULLTEXT idx_standards (standards))".
         "TYPE=MyISAM";          "TYPE=MyISAM";
     # It would sure be nice to have some logging mechanism.      # It would sure be nice to have some logging mechanism.
     unless ($dbh->do($make_metadata_table)) {      unless ($dbh->do($make_metadata_table)) {
Line 334  my $insert_sth = $dbh->prepare Line 340  my $insert_sth = $dbh->prepare
      "?,".   # revisiondate       "?,".   # revisiondate
      "?,".   # owner       "?,".   # owner
      "?,".   # copyright       "?,".   # copyright
        "?,".   # dependencies
        "?,".   # modifyinguser
        "?,".   # authorspace
        "?,".   # lowestgradelevel
        "?,".   # highestgradelevel
        "?,".   # standards
      "?,".   # count       "?,".   # count
      "?,".   # course       "?,".   # course
      "?,".   # course_list       "?,".   # course_list
Line 376  foreach my $user (@homeusers) { Line 388  foreach my $user (@homeusers) {
         $m2=~s/\.meta$//;          $m2=~s/\.meta$//;
   if ($ref->{'obsolete'}) { print LOG "obsolete\n"; next; }    if ($ref->{'obsolete'}) { print LOG "obsolete\n"; next; }
  if ($ref->{'copyright'} eq 'private') { print LOG "private\n"; next; }   if ($ref->{'copyright'} eq 'private') { print LOG "private\n"; next; }
         my %dyn=&dynamicmeta($m2);   my %dyn=();
  &count($m2);   if ($m2=~/\/default$/) {
       $m2=~s/\/default$/\//;
    } else {
       %dyn=&dynamicmeta($m2);
       &count($m2);
    }
         unless ($insert_sth->execute(          unless ($insert_sth->execute(
      $ref->{'title'},       $ref->{'title'},
                              $ref->{'author'},                               $ref->{'author'},
Line 393  foreach my $user (@homeusers) { Line 410  foreach my $user (@homeusers) {
                              sqltime($ref->{'lastrevisiondate'}),                               sqltime($ref->{'lastrevisiondate'}),
                              $ref->{'owner'},                               $ref->{'owner'},
                              $ref->{'copyright'},                               $ref->{'copyright'},
        $ref->{'dependencies'},
        $ref->{'modifyinguser'},
        $ref->{'authorspace'},
        $ref->{'lowestgradelevel'},
        $ref->{'highestgradelevel'},
        $ref->{'standards'},
      $dyn{'count'},       $dyn{'count'},
      $dyn{'course'},       $dyn{'course'},
      $dyn{'course_list'},       $dyn{'course_list'},
Line 532  sub propath { Line 555  sub propath {
   
 # ---------------------------- convert 'time' format into a datetime sql format  # ---------------------------- convert 'time' format into a datetime sql format
 sub sqltime {  sub sqltime {
       my $time=&unsqltime(@_[0]);
       unless ($time) { return 'NULL'; }
     my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =      my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
  localtime(&unsqltime(@_[0]));   localtime($time);
     $mon++; $year+=1900;      $mon++; $year+=1900;
     return "$year-$mon-$mday $hour:$min:$sec";      return "$year-$mon-$mday $hour:$min:$sec";
 }  }

Removed from v.1.49  
changed lines
  Added in v.1.54


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