version 1.33, 2003/06/19 19:34:27
|
version 1.34, 2003/06/19 20:24:57
|
Line 125 sub dynamicmeta {
|
Line 125 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) { |
study($regexp); |
my $key=&unescape($_); |
while (my ($key,$value) = each(%evaldata)) { |
if ($key=~/$regexp/) { |
$key=&unescape($key); |
my $ctype=$1; |
next if ($key !~ /$regexp/); |
if (defined($cnt{$ctype})) { |
my $ctype=$1; |
$cnt{$ctype}++; |
if (defined($cnt{$ctype})) { |
} else { |
$cnt{$ctype}++; |
$cnt{$ctype}=1; |
} else { |
|
$cnt{$ctype}=1; |
|
} |
|
unless ($listitems{$ctype} eq 'app') { |
|
if (defined($sum{$ctype})) { |
|
$sum{$ctype}+=$value; |
|
} else { |
|
$sum{$ctype}=$value; |
} |
} |
unless ($listitems{$ctype} eq 'app') { |
} else { |
if (defined($sum{$ctype})) { |
if (defined($sum{$ctype})) { |
$sum{$ctype}+=$evaldata{$_}; |
if ($value) { |
} else { |
$sum{$ctype}.='<hr>'.$value; |
$sum{$ctype}=$evaldata{$_}; |
|
} |
} |
} else { |
} else { |
if (defined($sum{$ctype})) { |
$sum{$ctype}=''.$value; |
if ($evaldata{$_}) { |
|
$sum{$ctype}.='<hr>'.$evaldata{$_}; |
|
} |
|
} else { |
|
$sum{$ctype}=''.$evaldata{$_}; |
|
} |
|
} |
|
if ($ctype ne 'count') { |
|
$newevaldata{$_}=$evaldata{$_}; |
|
} |
} |
} |
} |
|
if ($ctype ne 'count') { |
|
$newevaldata{$_}=$value; |
|
} |
} |
} |
foreach (keys %cnt) { |
while (my($key,$value) = each(%cnt)) { |
if ($listitems{$_} eq 'avg') { |
if ($listitems{$key} eq 'avg') { |
$returnhash{$_}=int(($sum{$_}/$cnt{$_})*100.0+0.5)/100.0; |
$returnhash{$key}=int(($sum{$key}/$value)*100.0+0.5)/100.0; |
} elsif ($listitems{$_} eq 'cnt') { |
} elsif ($listitems{$key} eq 'cnt') { |
$returnhash{$_}=$cnt{$_}; |
$returnhash{$key}=$value; |
} else { |
} else { |
$returnhash{$_}=$sum{$_}; |
$returnhash{$key}=$sum{$key}; |
} |
} |
} |
} |
if ($returnhash{'count'}) { |
if ($returnhash{'count'}) { |
Line 237 my @homeusers = grep {
|
Line 237 my @homeusers = grep {
|
&ishome("$perlvar{'lonDocRoot'}/res/$perlvar{'lonDefDomain'}/$_") |
&ishome("$perlvar{'lonDocRoot'}/res/$perlvar{'lonDefDomain'}/$_") |
} grep {!/^\.\.?$/} readdir(RESOURCES); |
} grep {!/^\.\.?$/} readdir(RESOURCES); |
closedir RESOURCES; |
closedir RESOURCES; |
|
|
|
# |
|
# Create the statement handlers we need |
|
my $delete_sth = $dbh->prepare |
|
("DELETE FROM metadata WHERE url LIKE BINARY ?"); |
|
|
|
my $insert_sth = $dbh->prepare |
|
("INSERT INTO metadata VALUES (". |
|
"?,". # title |
|
"?,". # author |
|
"?,". # subject |
|
"?,". # m2??? |
|
"?,". # version |
|
"?,". # current |
|
"?,". # notes |
|
"?,". # abstract |
|
"?,". # mime |
|
"?,". # language |
|
"?,". # creationdate |
|
"?,". # revisiondate |
|
"?,". # owner |
|
"?)" # copyright |
|
); |
|
|
foreach my $user (@homeusers) { |
foreach my $user (@homeusers) { |
print LOG "\n=== User: ".$user."\n\n"; |
print LOG "\n=== User: ".$user."\n\n"; |
# Remove left-over db-files from potentially crashed searchcat run |
# Remove left-over db-files from potentially crashed searchcat run |
Line 255 foreach my $user (@homeusers) {
|
Line 279 foreach my $user (@homeusers) {
|
my $m2='/res/'.&declutter($m); |
my $m2='/res/'.&declutter($m); |
$m2=~s/\.meta$//; |
$m2=~s/\.meta$//; |
&dynamicmeta($m2); |
&dynamicmeta($m2); |
my $q2="select * from metadata where url like binary '$m2'"; |
$delete_sth->execute($m2); |
my $sth = $dbh->prepare($q2); |
$insert_sth->execute($ref->{'title'}, |
$sth->execute(); |
$ref->{'author'}, |
my $r1=$sth->fetchall_arrayref; |
$ref->{'subject'}, |
if (@$r1) { |
$m2, |
$sth=$dbh->prepare("delete from metadata where url like binary '$m2'"); |
$ref->{'keywords'}, |
$sth->execute(); |
'current', |
} |
$ref->{'notes'}, |
$sth=$dbh->prepare('insert into metadata values ('. |
$ref->{'abstract'}, |
'"'.delete($ref->{'title'}).'"'.','. |
$ref->{'mime'}, |
'"'.delete($ref->{'author'}).'"'.','. |
$ref->{'language'}, |
'"'.delete($ref->{'subject'}).'"'.','. |
sqltime($ref->{'creationdate'}), |
'"'.$m2.'"'.','. |
sqltime($ref->{'lastrevisiondate'}), |
'"'.delete($ref->{'keywords'}).'"'.','. |
$ref->{'owner'}, |
'"'.'current'.'"'.','. |
$ref->{'copyright'}); |
'"'.delete($ref->{'notes'}).'"'.','. |
# if ($dbh->err()) { |
'"'.delete($ref->{'abstract'}).'"'.','. |
# print STDERR "Error:".$dbh->errstr()."\n"; |
'"'.delete($ref->{'mime'}).'"'.','. |
# } |
'"'.delete($ref->{'language'}).'"'.','. |
$ref = undef; |
'"'.sqltime(delete($ref->{'creationdate'})).'"'.','. |
|
'"'.sqltime(delete($ref->{'lastrevisiondate'})).'"'.','. |
|
'"'.delete($ref->{'owner'}).'"'.','. |
|
'"'.delete($ref->{'copyright'}).'"'.')'); |
|
$sth->execute(); |
|
} |
} |
|
|
# --------------------------------------------------- Clean up database |
# --------------------------------------------------- Clean up database |