version 1.197, 2005/06/01 21:44:00
|
version 1.199, 2005/06/02 13:34:14
|
Line 64 use Apache::lonxml;
|
Line 64 use Apache::lonxml;
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use Apache::lonnavmaps; |
use Apache::lonnavmaps; |
|
|
|
# --- Caches local to lonparmset |
|
|
|
my $courseoptid; |
my %courseopt; |
my %courseopt; |
|
my $useroptid; |
my %useropt; |
my %useropt; |
|
my $parmhashid; |
my %parmhash; |
my %parmhash; |
|
|
|
# --- end local caches |
|
|
|
# |
|
# FIXME: get rid of items below |
|
# |
my @ids; |
my @ids; |
my %symbp; |
my %symbp; |
my %mapp; |
my %mapp; |
Line 109 Returns: A list, the first item is the
|
Line 119 Returns: A list, the first item is the
|
################################################## |
################################################## |
sub parmval { |
sub parmval { |
my ($what,$id,$def,$uname,$udom,$csec)=@_; |
my ($what,$id,$def,$uname,$udom,$csec)=@_; |
|
# load caches |
|
&cacheparmhash(); |
|
&cacheuseropt($uname,$udom); |
|
&cachecourseopt(); |
|
|
my $result=''; |
my $result=''; |
my @outpar=(); |
my @outpar=(); |
# ----------------------------------------------------- Cascading lookup scheme |
# ----------------------------------------------------- Cascading lookup scheme |
Line 190 sub parmval {
|
Line 205 sub parmval {
|
return ($result,@outpar); |
return ($result,@outpar); |
} |
} |
|
|
|
sub resetparmhash { |
|
$parmhashid=''; |
|
} |
|
|
|
sub cacheparmhash { |
|
if ($parmhashid eq $env{'request.course.fn'}) { return; } |
|
my %parmhashfile; |
|
if (tie(%parmhashfile,'GDBM_File', |
|
$env{'request.course.fn'}.'_parms.db',&GDBM_READER(),0640)) { |
|
%parmhash=%parmhashfile; |
|
untie %parmhashfile; |
|
$parmhashid=$env{'request.course.fn'}; |
|
} |
|
} |
|
|
|
sub resetuseropt { |
|
$useroptid=''; |
|
} |
|
|
|
sub cacheuseropt { |
|
my ($uname,$udom)=@_; |
|
unless ($uname) { return; } |
|
if ($useroptid eq $uname.'@'.$udom) { return; } |
|
%useropt=&Apache::lonnet::dump('resourcedata',$udom,$uname); |
|
$useroptid=$uname.'@'.$udom; |
|
} |
|
|
|
sub resetcourseopt { |
|
$courseoptid=''; |
|
} |
|
|
|
sub cachecourseopt { |
|
if ($courseoptid eq $env{'request.course.id'}) { return; }; |
|
%courseopt = &Apache::lonnet::dump |
|
('resourcedata', |
|
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
|
$env{'course.'.$env{'request.course.id'}.'.num'}); |
|
$courseoptid=$env{'request.course.id'}; |
|
} |
|
|
################################################## |
################################################## |
################################################## |
################################################## |
Line 271 sub storeparm_by_symb {
|
Line 325 sub storeparm_by_symb {
|
} else { |
} else { |
&Apache::lonnet::expirespread('','','assesscalc'); |
&Apache::lonnet::expirespread('','','assesscalc'); |
} |
} |
|
&resetcourseopt(); |
# Store parameter |
# Store parameter |
if ($delete) { |
if ($delete) { |
$reply=&Apache::lonnet::del |
$reply=&Apache::lonnet::del |
Line 297 sub storeparm_by_symb {
|
Line 352 sub storeparm_by_symb {
|
} else { |
} else { |
&Apache::lonnet::expirespread($uname,$udom,'assesscalc'); |
&Apache::lonnet::expirespread($uname,$udom,'assesscalc'); |
} |
} |
|
&resetuseropt(); |
# Store parameter |
# Store parameter |
if ($delete) { |
if ($delete) { |
$reply=&Apache::lonnet::del |
$reply=&Apache::lonnet::del |
Line 825 sub assessparms {
|
Line 881 sub assessparms {
|
my %allparts; |
my %allparts; |
|
|
my %defp; |
my %defp; |
%courseopt=(); |
|
%useropt=(); |
|
|
|
@ids=(); |
@ids=(); |
%symbp=(); |
%symbp=(); |
Line 928 sub assessparms {
|
Line 982 sub assessparms {
|
my $fcat=$env{'form.fcat'}; |
my $fcat=$env{'form.fcat'}; |
unless ($fcat) { $fcat=''; } |
unless ($fcat) { $fcat=''; } |
|
|
# ------------------------------------------------------------------- Tie hashs |
|
|
|
if (!(tie(%parmhash,'GDBM_File', |
|
$env{'request.course.fn'}.'_parms.db',&GDBM_READER(),0640))) { |
|
$r->print("Unable to access parameter data. (File $env{'request.course.fn'}_parms.db not tieable)"); |
|
return ; |
|
} |
|
|
|
# --------------------------------------------------------- Get all assessments |
# --------------------------------------------------------- Get all assessments |
&extractResourceInformation(\@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles,\%uris); |
&extractResourceInformation(\@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles,\%uris); |
|
|
Line 956 sub assessparms {
|
Line 1002 sub assessparms {
|
$env{'course.'.$env{'request.course.id'}.'.num'}, |
$env{'course.'.$env{'request.course.id'}.'.num'}, |
$env{'course.'.$env{'request.course.id'}.'.domain'}); |
$env{'course.'.$env{'request.course.id'}.'.domain'}); |
#&Apache::lonnet::clear_EXT_cache_status(); |
#&Apache::lonnet::clear_EXT_cache_status(); |
# -------------------------------------------------------------- Get coursedata |
|
%courseopt = &Apache::lonnet::dump |
|
('resourcedata', |
|
$env{'course.'.$env{'request.course.id'}.'.domain'}, |
|
$env{'course.'.$env{'request.course.id'}.'.num'}); |
|
# --------------------------------------------------- Get userdata (if present) |
|
if ($uname) { |
|
%useropt=&Apache::lonnet::dump('resourcedata',$udom,$uname); |
|
} |
|
|
|
# ------------------------------------------------------------------- Sort this |
# ------------------------------------------------------------------- Sort this |
|
|
Line 990 sub assessparms {
|
Line 1027 sub assessparms {
|
$trimheader = 'yes'; |
$trimheader = 'yes'; |
&startpage($r,$id,$udom,$csec,$uname,$have_assesments,$trimheader); |
&startpage($r,$id,$udom,$csec,$uname,$have_assesments,$trimheader); |
|
|
if (!$have_assesments) { |
|
untie(%parmhash); |
|
return ''; |
|
} |
|
# if ($env{'form.url'}) { |
# if ($env{'form.url'}) { |
# $r->print('<input type="hidden" value="'.$env{'form.url'}. |
# $r->print('<input type="hidden" value="'.$env{'form.url'}. |
# '" name="url"><input type="hidden" name="command" value="set">'); |
# '" name="url"><input type="hidden" name="command" value="set">'); |
Line 1503 ENDMAPONE
|
Line 1536 ENDMAPONE
|
} # end of $parmlev eq general |
} # end of $parmlev eq general |
} |
} |
$r->print('</form></body></html>'); |
$r->print('</form></body></html>'); |
untie(%parmhash); |
|
} # end sub assessparms |
} # end sub assessparms |
|
|
|
|
Line 2186 sub handler {
|
Line 2218 sub handler {
|
|
|
# ----------------------------------------------------------- Clear out garbage |
# ----------------------------------------------------------- Clear out garbage |
|
|
%courseopt=(); |
|
%useropt=(); |
|
%parmhash=(); |
|
|
|
@ids=(); |
@ids=(); |
%symbp=(); |
%symbp=(); |