--- loncom/interface/lonparmset.pm 2011/01/15 15:14:47 1.508
+++ loncom/interface/lonparmset.pm 2012/03/13 05:37:49 1.521
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.508 2011/01/15 15:14:47 www Exp $
+# $Id: lonparmset.pm,v 1.521 2012/03/13 05:37:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -137,33 +137,41 @@ javascript function 'pjump'.
=item extractResourceInformation() :
-Given the course data hash, extractResourceInformation extracts lots of information about the course's resources into a variety of hashes.
+ extractResourceInformation extracts lots of information about all of the the course's resources into a variety of hashes.
Input: See list below:
-=item * B : An array that will contain all of the ids in the course.
+=item * B : Current username
-=item * B : hash, id->type, where "type" contains the extension of the file, thus, I.
+=item * B : Domain of current user.
-=item * B : hash, id->key list, will contain a comma separated list of the meta-data keys available for the given id
+=item * b : hash, name of parameter->display value (what is the display value?)
+Outputs: See list below:
-=item * B : hash, part identification->text representation of part, where the text representation is "[Part $part]"
+=item * B (out) : An array that will contain all of the ids in the course.
-=item * B : hash, full key to part->display value (what's display value?)
+=item * B(out) : hash, id->type, where "type" contains the extension of the file, thus, I.
-=item * B : hash, ???
+=item * B (out) : hash, id->key list, will contain a comma separated list of the meta-data keys available for the given id
-=item * B : ???
+=item * B (out) : hash, name of parameter->display value (what is the display value?)
-=item * B : hash, ???
+=item * B (out) : hash, part identification->text representation of part, where the text representation is "[Part $part]"
+
+=item * B (out) : hash, ???
=item * B : ??
=item * B : hash, id->full sym?
+=item * B
+
+=item * B
+
+=item * B
+=item * B
=item isdateparm()
@@ -196,8 +204,8 @@ Input: See list below:
Show assessment data and parameters. This is a large routine that should
be simplified and shortened... someday.
-Inputs: $r
-
+Inputs: $r - the Apache request object.
+
Returns: nothing
Variables used (guessed by Jeremy):
@@ -805,6 +813,7 @@ sub valout {
&date_sanity_info($value);
} else {
$result = $value;
+ $result=~s/\,/\, /gs;
$result = &HTML::Entities::encode($result,'"<>&');
}
}
@@ -846,16 +855,10 @@ sub page_js {
return(<
// "pclose()",
- 'onload' => "showHide_courseContent(); group_or_section('cgroup')",
- );
+ my %loaditems = (
+ 'onload' => "group_or_section('cgroup')",
+ );
+ if (!$psymb) {
+ $loaditems{'onload'} = "showHide_courseContent(); group_or_section('cgroup')";
+ }
if ((($env{'form.command'} eq 'set') && ($env{'form.url'})
&& (!$env{'form.dis'})) || ($env{'form.symb'})) {
@@ -1165,6 +1171,7 @@ sub extractResourceInformation {
$$typep{$id}=$1;
$$keyp{$id}='';
$$uris{$id}=$srcf;
+
foreach my $key (split(/\,/,&Apache::lonnet::metadata($srcf,'allpossiblekeys'))) {
next if ($key!~/^parameter_/);
@@ -1264,14 +1271,12 @@ sub parmmenu {
ele = document.forms.parmform.elements[i];
if (ele.name == checkName) {
document.forms.parmform.elements[i].checked=value;
- document.getElementById(document.forms.parmform.elements[i].value.concat(li)).style.display = displayOverview;
}
}
}
function checkthis(thisvalue, checkName) {
- document.getElementById(thisvalue.concat("_li")).style.display = "";
for (i=0; i
ENDSCRIPT
- $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parameters to View')));
-
- #part to print selected parms overview
- $r->print(&mt('Selected Parameters:').' ');
-
- #print out all possible parms and hide them by default
- $r->print('
'.
- &Apache::lonhtmlcommon::date_setter('shiftform',
+ &Apache::lonhtmlcommon::dshowerfuck.net
+ate_setter('shiftform',
'timeshifted',
$env{'form.timebase'},,
'').
@@ -3700,6 +3683,11 @@ ENDMAINFORMHEAD
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $vgr = &Apache::lonnet::allowed('vgr',$env{'request.course.id'});
my $mgr = &Apache::lonnet::allowed('mgr',$env{'request.course.id'});
+ my $dcm = &Apache::lonnet::allowed('dcm',$env{'request.course.id'});
+ if ((!$dcm) && ($env{'request.course.sec'} ne '')) {
+ $dcm = &Apache::lonnet::allowed('dcm',$env{'request.course.id'}.
+ '/'.$env{'request.course.sec'});
+ }
my $crstype = &Apache::loncommon::course_type();
my $lc_crstype = lc($crstype);
@@ -3719,7 +3707,12 @@ ENDMAINFORMHEAD
linktitle => "Reset access times for folders/maps, resources or the $lc_crstype." ,
icon => 'start-here.png' ,
},
-
+ { linktext => 'Blocking Communication/Resource Access',
+ url => '/adm/setblock',
+ permission => $dcm,
+ linktitle => 'Configure blocking of communication/collaboration and access to resources during an exam',
+ icon => 'comblock.png',
+ },
{ linktext => 'Set Parameter Setting Default Actions',
url => '/adm/parmset?action=setdefaults',
permission => $parm_permission,
@@ -4613,7 +4606,7 @@ sub check_for_course_info {
return 0;
}
-sub questiontype_release_vars {
+sub parameter_release_vars {
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $chome = $env{'course.'.$env{'request.course.id'}.'.home'};
my $chostname = &Apache::lonnet::hostname($chome);
@@ -4622,35 +4615,44 @@ sub questiontype_release_vars {
return ($chostname,$cmajor,$cminor);
}
-sub questiontype_releasecheck {
- my ($questiontype,$needsrelease,$chostname,$cmajor,$cminor) = @_;
+sub parameter_releasecheck {
+ my ($name,$value,$needsrelease,$chostname,$cmajor,$cminor) = @_;
my $needsnewer;
my ($needsmajor,$needsminor) = split(/\./,$needsrelease);
if (($cmajor < $needsmajor) ||
($cmajor == $needsmajor && $cminor < $needsminor)) {
$needsnewer = 1;
} else {
- &Apache::lonnet::update_released_required($Apache::lonnet::needsrelease{'parameter:type:'.$questiontype});
+ &Apache::lonnet::update_released_required($Apache::lonnet::needsrelease{'parameter:'.$name.':'.$value});
}
return $needsnewer;
}
sub oldversion_warning {
- my ($questiontype,$chostname,$cmajor,$cminor,$needsrelease) = @_;
+ my ($name,$value,$chostname,$cmajor,$cminor,$needsrelease) = @_;
my $desc;
- if (ref($strings{'string_questiontype'}) eq 'ARRAY') {
- foreach my $possibilities (@{ $strings{'string_questiontype'} }) {
- next unless (ref($possibilities) eq 'ARRAY');
- my ($name, $description) = @{ $possibilities };
- if ($name eq $questiontype) {
- $desc = $description;
- last;
+ my %stringtypes = (
+ type => 'string_questiontype',
+ lenient => 'string_lenient',
+ retrypartial => 'string_yesno',
+ discussvote => 'string_discussvote',
+ );
+ if (exists($stringtypes{$name})) {
+ if (ref($strings{$stringtypes{$name}}) eq 'ARRAY') {
+ foreach my $possibilities (@{ $strings{$stringtypes{$name}} }) {
+ next unless (ref($possibilities) eq 'ARRAY');
+ my ($parmval, $description) = @{ $possibilities };
+ if ($parmval eq $value) {
+ $desc = $description;
+ last;
+ }
}
}
}
+ my $standard_name = &standard_parameter_names($name);
return '
'.
- &mt('Question Type was [_1]not[_2] set to [_3].',
- '','','"'.$desc.'"').' '.
+ &mt('[_1] was [_2]not[_3] set to [_4].',
+ $standard_name,'','','"'.$desc.'"').' '.
&mt('LON-CAPA version ([_1]) installed on home server ([_2]) does not meet version requirements ([_3] or newer).',
$cmajor.'.'.$cminor,$chostname,
$needsrelease).