Diff for /loncom/metadata_database/searchcat.pl between versions 1.11 and 1.16

version 1.11, 2001/04/16 13:45:20 version 1.16, 2002/03/04 05:06:18
Line 1 Line 1
 #!/usr/bin/perl  #!/usr/bin/perl
 # The LearningOnline Network  # The LearningOnline Network
 # searchcat.pl "Search Catalog" batch script  # searchcat.pl "Search Catalog" batch script
   #
 # 04/14/2001 Scott Harrison  # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   # YEAR=2001
   #
   # 04/14/2001, 04/16/2001 Scott Harrison
   #
   ###
   
 # This script goes through a LON-CAPA resource  # This script goes through a LON-CAPA resource
 # directory and gathers metadata.  # directory and gathers metadata.
Line 34  while ($configline=<CONFIG>) { Line 62  while ($configline=<CONFIG>) {
 }  }
 close(CONFIG);  close(CONFIG);
   
   # ------------------------------------- Only run if machine is a library server
   exit unless $perlvar{'lonRole'} eq 'library';
   
 my $dbh;  my $dbh;
 # ------------------------------------- Make sure that database can be accessed  # ------------------------------------- Make sure that database can be accessed
 {  {
Line 61  foreach my $user (@homeusers) { Line 92  foreach my $user (@homeusers) {
 foreach my $m (@metalist) {  foreach my $m (@metalist) {
     my $ref=&metadata($m);      my $ref=&metadata($m);
     my $m2='/res/'.&declutter($m);      my $m2='/res/'.&declutter($m);
     my $q2="select * from metadata where url like binary '/res/$m2'";      $m2=~s/\.meta$//;
       my $q2="select * from metadata where url like binary '$m2'";
     my $sth = $dbh->prepare($q2);      my $sth = $dbh->prepare($q2);
     $sth->execute();      $sth->execute();
     my $r1=$sth->fetchall_arrayref;      my $r1=$sth->fetchall_arrayref;
     if (@$r1) {      if (@$r1) {
  $sth=$dbh->prepare("delete from metadata where url like binary '/res/$m2'");   $sth=$dbh->prepare("delete from metadata where url like binary '$m2'");
         $sth->execute();          $sth->execute();
     }      }
     $sth=$dbh->prepare('insert into metadata values ('.      $sth=$dbh->prepare('insert into metadata values ('.
   '"'.delete($ref->{'title'}).'"'.','.    '"'.delete($ref->{'title'}).'"'.','.
   '"'.delete($ref->{'author'}).'"'.','.    '"'.delete($ref->{'author'}).'"'.','.
   '"'.delete($ref->{'subject'}).'"'.','.    '"'.delete($ref->{'subject'}).'"'.','.
   '"/res/'.$m2.'"'.','.    '"'.$m2.'"'.','.
   '"'.delete($ref->{'keywords'}).'"'.','.    '"'.delete($ref->{'keywords'}).'"'.','.
   '"'.'current'.'"'.','.    '"'.'current'.'"'.','.
   '"'.delete($ref->{'notes'}).'"'.','.    '"'.delete($ref->{'notes'}).'"'.','.
   '"'.delete($ref->{'abstract'}).'"'.','.    '"'.delete($ref->{'abstract'}).'"'.','.
   '"'.delete($ref->{'mime'}).'"'.','.    '"'.delete($ref->{'mime'}).'"'.','.
   '"'.delete($ref->{'language'}).'"'.','.    '"'.delete($ref->{'language'}).'"'.','.
   '"'.delete($ref->{'creationdate'}).'"'.','.    '"'.sqltime(delete($ref->{'creationdate'})).'"'.','.
   '"'.delete($ref->{'lastrevisiondate'}).'"'.','.    '"'.sqltime(delete($ref->{'lastrevisiondate'})).'"'.','.
   '"'.delete($ref->{'owner'}).'"'.','.    '"'.delete($ref->{'owner'}).'"'.','.
   '"'.delete($ref->{'copyright'}).'"'.')');    '"'.delete($ref->{'copyright'}).'"'.')');
     $sth->execute();      $sth->execute();
Line 182  sub propath { Line 214  sub propath {
     my $proname="$perlvar{'lonUsersDir'}/$udom/$subdir/$uname";      my $proname="$perlvar{'lonUsersDir'}/$udom/$subdir/$uname";
     return $proname;      return $proname;
 }   } 
   
   # ---------------------------- convert 'time' format into a datetime sql format
   sub sqltime {
       my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
    localtime(@_[0]);
       $mon++; $year+=1900;
       return "$year-$mon-$mday $hour:$min:$sec";
   }

Removed from v.1.11  
changed lines
  Added in v.1.16


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