version 1.62, 2004/04/06 15:07:41
|
version 1.63, 2004/04/12 21:13:13
|
Line 29
|
Line 29
|
package Apache::lonmeta; |
package Apache::lonmeta; |
|
|
use strict; |
use strict; |
|
use LONCAPA::lonmetadata(); |
use Apache::Constants qw(:common); |
use Apache::Constants qw(:common); |
use Apache::lonnet(); |
use Apache::lonnet(); |
use Apache::loncommon(); |
use Apache::loncommon(); |
Line 54 sub dynamicmeta {
|
Line 55 sub dynamicmeta {
|
$regexp='___'.$regexp.'___'; |
$regexp='___'.$regexp.'___'; |
my %evaldata=&Apache::lonnet::dump('nohist_resevaldata',$adomain, |
my %evaldata=&Apache::lonnet::dump('nohist_resevaldata',$adomain, |
$aauthor,$regexp); |
$aauthor,$regexp); |
my %sum=(); |
my %DynamicData = &LONCAPA::lonmetadata::process_reseval_data(\%evaldata); |
my %cnt=(); |
my %Data = &LONCAPA::lonmetadata::process_dynamic_metadata($url, |
my %concat=(); |
\%DynamicData); |
my %listitems=( |
|
'course' => 'add', |
|
'goto' => 'add', |
|
'comefrom' => 'add', |
|
'avetries' => 'avg', |
|
'stdno' => 'add', |
|
'difficulty' => 'avg', |
|
'clear' => 'avg', |
|
'technical' => 'avg', |
|
'helpful' => 'avg', |
|
'correct' => 'avg', |
|
'depth' => 'avg', |
|
'comments' => 'app', |
|
'usage' => 'cnt' |
|
); |
|
while ($_=each(%evaldata)) { |
|
my ($item,$purl,$cat)=split(/___/,$_); |
|
### Apache->request->print("\n".$_.' - '.$item.'<br />'); |
|
if (defined($cnt{$cat})) { $cnt{$cat}++; } else { $cnt{$cat}=1; } |
|
unless ($listitems{$cat} eq 'app') { |
|
if (defined($sum{$cat})) { |
|
$sum{$cat}+=$evaldata{$_}; |
|
$concat{$cat}.=','.$item; |
|
} else { |
|
$sum{$cat}=$evaldata{$_}; |
|
$concat{$cat}=$item; |
|
} |
|
} else { |
|
if (defined($sum{$cat})) { |
|
if ($evaldata{$_}) { |
|
$sum{$cat}.='<hr />'.$evaldata{$_}; |
|
} |
|
} else { |
|
$sum{$cat}=''.$evaldata{$_}; |
|
} |
|
} |
|
} |
|
my %returnhash=(); |
|
while ($_=each(%cnt)) { |
|
if ($listitems{$_} eq 'avg') { |
|
$returnhash{$_}=int(($sum{$_}/$cnt{$_})*100.0+0.5)/100.0; |
|
} elsif ($listitems{$_} eq 'cnt') { |
|
$returnhash{$_}=$cnt{$_}; |
|
} else { |
|
$returnhash{$_}=$sum{$_}; |
|
} |
|
$returnhash{$_.'_list'}=$concat{$_}; |
|
### Apache->request->print("\n<hr />".$_.': '.$returnhash{$_}.'<br />'.$returnhash{$_.'_list'}); |
|
} |
|
# |
# |
# Deal with 'count' separately |
# Deal with 'count' separately |
$returnhash{'count'} = &access_count($url,$aauthor,$adomain); |
$Data{'count'} = &access_count($url,$aauthor,$adomain); |
# since "usage" is reserved word in MySQL ... |
# since "usage" is reserved word in MySQL ... |
$returnhash{'sequsage'}=$returnhash{'usage'}; |
|
$returnhash{'sequsage_list'}=$returnhash{'usage_list'}; |
|
|
|
return %returnhash; |
return %Data; |
} |
} |
|
|
sub access_count { |
sub access_count { |