[LON-CAPA-cvs] cvs: loncom /metadata_database searchcat.pl
www
lon-capa-cvs@mail.lon-capa.org
Fri, 18 Oct 2002 13:54:32 -0000
www Fri Oct 18 09:54:32 2002 EDT
Modified files:
/loncom/metadata_database searchcat.pl
Log:
Bug 839
Index: loncom/metadata_database/searchcat.pl
diff -u loncom/metadata_database/searchcat.pl:1.23 loncom/metadata_database/searchcat.pl:1.24
--- loncom/metadata_database/searchcat.pl:1.23 Tue Oct 8 14:45:33 2002
+++ loncom/metadata_database/searchcat.pl Fri Oct 18 09:54:31 2002
@@ -2,7 +2,7 @@
# The LearningOnline Network
# searchcat.pl "Search Catalog" batch script
#
-# $Id: searchcat.pl,v 1.23 2002/10/08 18:45:33 albertel Exp $
+# $Id: searchcat.pl,v 1.24 2002/10/18 13:54:31 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -45,6 +45,7 @@
use HTML::TokeParser;
use DBI;
use GDBM_File;
+use POSIX qw(strftime mktime);
my @metalist;
@@ -335,7 +336,30 @@
# ---------------------------- convert 'time' format into a datetime sql format
sub sqltime {
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
- localtime(@_[0]);
+ localtime(&unsqltime(@_[0]));
$mon++; $year+=1900;
return "$year-$mon-$mday $hour:$min:$sec";
}
+
+sub maketime {
+ my %th=@_;
+ return POSIX::mktime(
+ ($th{'seconds'},$th{'minutes'},$th{'hours'},
+ $th{'day'},$th{'month'}-1,$th{'year'}-1900,0,0,$th{'dlsav'}));
+}
+
+
+#########################################
+#
+# Retro-fixing of un-backward-compatible time format
+
+sub unsqltime {
+ my $timestamp=shift;
+ if ($timestamp=~/^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/) {
+ $timestamp=&maketime(
+ 'year'=>$1,'month'=>$2,'day'=>$3,
+ 'hours'=>$4,'minutes'=>$5,'seconds'=>$6);
+ }
+ return $timestamp;
+}
+