--- loncom/interface/lonparmset.pm 2016/01/31 21:25:38 1.555
+++ loncom/interface/lonparmset.pm 2016/07/12 20:30:20 1.560
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.555 2016/01/31 21:25:38 raeburn Exp $
+# $Id: lonparmset.pm,v 1.560 2016/07/12 20:30:20 damieng Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -36,7 +36,11 @@ lonparmset - Handler to set parameters f
=head1 SYNOPSIS
-lonparmset provides an interface to setting course parameters.
+lonparmset provides an interface to setting course parameters.
+
+It contains all the code for the "Content and Problem Settings" UI, except
+for the helpers parameter.helper and resettimes.helper, and lonhelper.pm,
+and lonblockingmenu.pm.
=head1 DESCRIPTION
@@ -54,21 +58,25 @@ Inputs: $what - a parameter spec (inclu
$id - a bighash Id number
$def - the resource's default value 'stupid emacs
-Returns: A list, the first item is the index into the remaining list of items of parm valuse that is the active one, the list consists of parm values at the 14 possible levels
+Returns: A list, the first item is the index into the remaining list of items of parm values that is the active one, the list consists of parm values at the 18 possible levels
-14- General Course
-13- Map or Folder level in course
-12- resource default
-11- map default
-10- resource level in course
-9 - General for section
-8 - Map or Folder level for section
-7 - resource level in section
-6 - General for group
-5 - Map or Folder level for group
-4 - resource level in group
-3 - General for specific student
-2 - Map or Folder level for specific student
+18 - General Course
+17 - Map or Folder level in course (recursive)
+16 - Map or Folder level in course (non-recursive)
+15 - resource default
+14 - map default
+13 - resource level in course
+12 - General for section
+11 - Map or Folder level for section (recursive)
+10 - Map or Folder level for section (non-recursive)
+9 - resource level in section
+8 - General for group
+7 - Map or Folder level for group (recursive)
+6 - Map or Folder level for group (non-recursive)
+5 - resource level in group
+4 - General for specific student
+3 - Map or Folder level for specific student (recursive)
+2 - Map or Folder level for specific student (non-recursive)
1 - resource level for specific student
=item parmval_by_symb()
@@ -323,6 +331,11 @@ use HTML::Entities;
use LONCAPA qw(:DEFAULT :match);
+##################################################
+# CONTENT AND PROBLEM SETTINGS HTML PAGE HEADER/FOOTER
+##################################################
+
+# Page header
sub startSettingsScreen {
my ($r,$mode,$crstype)=@_;
@@ -341,6 +354,7 @@ sub startSettingsScreen {
$r->print('
');
}
+# Page footer
sub endSettingsScreen {
my ($r)=@_;
$r->print('
');
@@ -348,6 +362,11 @@ sub endSettingsScreen {
+##################################################
+# TABLE MODE
+# (parmval is also used for the log of parameter changes)
+##################################################
+
sub parmval {
my ($what,$id,$def,$uname,$udom,$csec,$cgroup,$courseopt)=@_;
return &parmval_by_symb($what,&symbcache($id),$def,$uname,$udom,$csec,
@@ -369,84 +388,106 @@ sub parmval_by_symb {
$map = &Apache::lonnet::deversion($map);
my $symbparm=$symb.'.'.$what;
+ my $recurseparm=$map.'___(rec).'.$what;
my $mapparm=$map.'___(all).'.$what;
my $grplevel=$env{'request.course.id'}.'.['.$cgroup.'].'.$what;
my $grplevelr=$env{'request.course.id'}.'.['.$cgroup.'].'.$symbparm;
+ my $grpleveli=$env{'request.course.id'}.'.['.$cgroup.'].'.$recurseparm;
my $grplevelm=$env{'request.course.id'}.'.['.$cgroup.'].'.$mapparm;
my $seclevel=$env{'request.course.id'}.'.['.$csec.'].'.$what;
my $seclevelr=$env{'request.course.id'}.'.['.$csec.'].'.$symbparm;
+ my $secleveli=$env{'request.course.id'}.'.['.$csec.'].'.$recurseparm;
my $seclevelm=$env{'request.course.id'}.'.['.$csec.'].'.$mapparm;
my $courselevel=$env{'request.course.id'}.'.'.$what;
my $courselevelr=$env{'request.course.id'}.'.'.$symbparm;
+ my $courseleveli=$env{'request.course.id'}.'.'.$recurseparm;
my $courselevelm=$env{'request.course.id'}.'.'.$mapparm;
# --------------------------------------------------------- first, check course
if (defined($$courseopt{$courselevel})) {
- $outpar[14]=$$courseopt{$courselevel};
- $result=14;
+ $outpar[18]=$$courseopt{$courselevel};
+ $result=18;
+ }
+
+ if (defined($$courseopt{$courseleveli})) {
+ $outpar[17]=$$courseopt{$courseleveli};
+ $result=17;
}
if (defined($$courseopt{$courselevelm})) {
- $outpar[13]=$$courseopt{$courselevelm};
- $result=13;
+ $outpar[16]=$$courseopt{$courselevelm};
+ $result=16;
}
# ------------------------------------------------------- second, check default
- if (defined($def)) { $outpar[12]=$def; $result=12; }
+ if (defined($def)) { $outpar[15]=$def; $result=15; }
# ------------------------------------------------------ third, check map parms
+
my $thisparm=&parmhash($symbparm);
- if (defined($thisparm)) { $outpar[11]=$thisparm; $result=11; }
+ if (defined($thisparm)) { $outpar[14]=$thisparm; $result=14; }
if (defined($$courseopt{$courselevelr})) {
- $outpar[10]=$$courseopt{$courselevelr};
- $result=10;
+ $outpar[13]=$$courseopt{$courselevelr};
+ $result=13;
}
# ------------------------------------------------------ fourth, back to course
if ($csec ne '') {
if (defined($$courseopt{$seclevel})) {
- $outpar[9]=$$courseopt{$seclevel};
- $result=9;
- }
+ $outpar[12]=$$courseopt{$seclevel};
+ $result=12;
+ }
+ if (defined($$courseopt{$secleveli})) {
+ $outpar[11]=$$courseopt{$secleveli};
+ $result=11;
+ }
if (defined($$courseopt{$seclevelm})) {
- $outpar[8]=$$courseopt{$seclevelm};
- $result=8;
- }
-
+ $outpar[10]=$$courseopt{$seclevelm};
+ $result=10;
+ }
if (defined($$courseopt{$seclevelr})) {
- $outpar[7]=$$courseopt{$seclevelr};
- $result=7;
- }
+ $outpar[9]=$$courseopt{$seclevelr};
+ $result=9;
+ }
}
# ------------------------------------------------------ fifth, check course group
if ($cgroup ne '') {
if (defined($$courseopt{$grplevel})) {
- $outpar[6]=$$courseopt{$grplevel};
- $result=6;
+ $outpar[8]=$$courseopt{$grplevel};
+ $result=8;
+ }
+ if (defined($$courseopt{$grpleveli})) {
+ $outpar[7]=$$courseopt{$grpleveli};
+ $result=7;
}
if (defined($$courseopt{$grplevelm})) {
- $outpar[5]=$$courseopt{$grplevelm};
- $result=5;
+ $outpar[6]=$$courseopt{$grplevelm};
+ $result=6;
}
if (defined($$courseopt{$grplevelr})) {
- $outpar[4]=$$courseopt{$grplevelr};
- $result=4;
+ $outpar[5]=$$courseopt{$grplevelr};
+ $result=5;
}
}
-# ---------------------------------------------------------- fifth, check user
+# ---------------------------------------------------------- sixth, check user
if ($uname ne '') {
if (defined($$useropt{$courselevel})) {
- $outpar[3]=$$useropt{$courselevel};
+ $outpar[4]=$$useropt{$courselevel};
+ $result=4;
+ }
+
+ if (defined($$useropt{$courseleveli})) {
+ $outpar[3]=$$useropt{$courseleveli};
$result=3;
}
@@ -478,74 +519,74 @@ sub reset_caches {
my $parmhashid;
my %parmhash;
sub resetparmhash {
- undef($parmhashid);
- undef(%parmhash);
+ undef($parmhashid);
+ undef(%parmhash);
}
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'};
- }
+ 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 parmhash {
- my ($id) = @_;
- &cacheparmhash();
- return $parmhash{$id};
+ my ($id) = @_;
+ &cacheparmhash();
+ return $parmhash{$id};
}
- }
+}
{
my $symbsid;
my %symbs;
sub resetsymbcache {
- undef($symbsid);
- undef(%symbs);
+ undef($symbsid);
+ undef(%symbs);
}
sub symbcache {
- my $id=shift;
- if ($symbsid ne $env{'request.course.id'}) {
- undef(%symbs);
- }
- if (!$symbs{$id}) {
- my $navmap = Apache::lonnavmaps::navmap->new();
- if ($id=~/\./) {
- my $resource=$navmap->getById($id);
- $symbs{$id}=$resource->symb();
- } else {
- my $resource=$navmap->getByMapPc($id);
- $symbs{$id}=&Apache::lonnet::declutter($resource->src());
+ my $id=shift;
+ if ($symbsid ne $env{'request.course.id'}) {
+ undef(%symbs);
+ }
+ if (!$symbs{$id}) {
+ my $navmap = Apache::lonnavmaps::navmap->new();
+ if ($id=~/\./) {
+ my $resource=$navmap->getById($id);
+ $symbs{$id}=$resource->symb();
+ } else {
+ my $resource=$navmap->getByMapPc($id);
+ $symbs{$id}=&Apache::lonnet::declutter($resource->src());
+ }
+ $symbsid=$env{'request.course.id'};
}
- $symbsid=$env{'request.course.id'};
- }
- return $symbs{$id};
+ return $symbs{$id};
}
- }
+}
{
my $rulesid;
my %rules;
sub resetrulescache {
- undef($rulesid);
- undef(%rules);
+ undef($rulesid);
+ undef(%rules);
}
sub rulescache {
- my $id=shift;
- if ($rulesid ne $env{'request.course.id'}
- && !defined($rules{$id})) {
- my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
- my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
- %rules=&Apache::lonnet::dump('parmdefactions',$dom,$crs);
- $rulesid=$env{'request.course.id'};
- }
- return $rules{$id};
+ my $id=shift;
+ if ($rulesid ne $env{'request.course.id'}
+ && !defined($rules{$id})) {
+ my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $crs = $env{'course.'.$env{'request.course.id'}.'.num'};
+ %rules=&Apache::lonnet::dump('parmdefactions',$dom,$crs);
+ $rulesid=$env{'request.course.id'};
+ }
+ return $rules{$id};
}
}
@@ -554,14 +595,14 @@ sub reset_caches {
sub preset_defaults {
my $type=shift;
if (&rulescache($type.'_action') eq 'default') {
-# yes, there is something
- return (&rulescache($type.'_hours'),
- &rulescache($type.'_min'),
- &rulescache($type.'_sec'),
- &rulescache($type.'_value'));
+ # yes, there is something
+ return (&rulescache($type.'_hours'),
+ &rulescache($type.'_min'),
+ &rulescache($type.'_sec'),
+ &rulescache($type.'_value'));
} else {
-# nothing there or something else
- return ('','','','','');
+ # nothing there or something else
+ return ('','','','','');
}
}
@@ -625,50 +666,51 @@ my %recstack;
sub storeparm_by_symb {
my ($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec,$recflag,$cgroup)=@_;
unless ($recflag) {
-# first time call
- %recstack=();
- $recflag=1;
+ # first time call
+ %recstack=();
+ $recflag=1;
}
-# store parameter
+ # store parameter
&storeparm_by_symb_inner
($symb,$spnam,$snum,$nval,$ntype,$uname,$udom,$csec,$cgroup);
-# don't do anything if parameter was reset
+ # don't do anything if parameter was reset
unless ($nval) { return; }
my ($prefix,$parm)=($spnam=~/^(.*[\_\.])([^\_\.]+)$/);
-# remember that this was set
+ # remember that this was set
$recstack{$parm}=1;
-# what does this trigger?
+ # what does this trigger?
foreach my $triggered (split(/\:/,&rulescache($parm.'_triggers'))) {
-# don't backfire
- unless ((!$triggered) || ($recstack{$triggered})) {
- my $action=&rulescache($triggered.'_action');
- my ($whichaction,$whichparm)=($action=~/^(.*\_)([^\_]+)$/);
-# set triggered parameter on same level
- my $newspnam=$prefix.$triggered;
- my $newvalue='';
- my $active=1;
- if ($action=~/^when\_setting/) {
-# are there restrictions?
- if (&rulescache($triggered.'_triggervalue')=~/\w/) {
- $active=0;
- foreach my $possiblevalue (split(/\s*\,\s*/,&rulescache($triggered.'_triggervalue'))) {
- if (lc($possiblevalue) eq lc($nval)) { $active=1; }
- }
- }
- $newvalue=&rulescache($triggered.'_value');
- } else {
- my $totalsecs=((&rulescache($triggered.'_days')*24+&rulescache($triggered.'_hours'))*60+&rulescache($triggered.'_min'))*60+&rulescache($triggered.'_sec');
- if ($action=~/^later\_than/) {
- $newvalue=$nval+$totalsecs;
- } else {
- $newvalue=$nval-$totalsecs;
- }
- }
- if ($active) {
- &storeparm_by_symb($symb,$newspnam,$snum,$newvalue,&rulescache($triggered.'_type'),
- $uname,$udom,$csec,$recflag,$cgroup);
- }
- }
+ # don't backfire
+ unless ((!$triggered) || ($recstack{$triggered})) {
+ my $action=&rulescache($triggered.'_action');
+ my ($whichaction,$whichparm)=($action=~/^(.*\_)([^\_]+)$/);
+ # set triggered parameter on same level
+ my $newspnam=$prefix.$triggered;
+ my $newvalue='';
+ my $active=1;
+ if ($action=~/^when\_setting/) {
+ # are there restrictions?
+ if (&rulescache($triggered.'_triggervalue')=~/\w/) {
+ $active=0;
+ foreach my $possiblevalue (split(/\s*\,
+ \s*/,&rulescache($triggered.'_triggervalue'))) {
+ if (lc($possiblevalue) eq lc($nval)) { $active=1; }
+ }
+ }
+ $newvalue=&rulescache($triggered.'_value');
+ } else {
+ my $totalsecs=((&rulescache($triggered.'_days')*24+&rulescache($triggered.'_hours'))*60+&rulescache($triggered.'_min'))*60+&rulescache($triggered.'_sec');
+ if ($action=~/^later\_than/) {
+ $newvalue=$nval+$totalsecs;
+ } else {
+ $newvalue=$nval-$totalsecs;
+ }
+ }
+ if ($active) {
+ &storeparm_by_symb($symb,$newspnam,$snum,$newvalue,&rulescache($triggered.'_type'),
+ $uname,$udom,$csec,$recflag,$cgroup);
+ }
+ }
}
return '';
}
@@ -686,30 +728,37 @@ sub storeparm_by_symb_inner {
$map = &Apache::lonnet::deversion($map);
my $symbparm=$symb.'.'.$spnam;
+ my $recurseparm=$map.'___(rec).'.$spnam;
my $mapparm=$map.'___(all).'.$spnam;
my $grplevel=$env{'request.course.id'}.'.['.$cgroup.'].'.$spnam;
my $grplevelr=$env{'request.course.id'}.'.['.$cgroup.'].'.$symbparm;
+ my $grpleveli=$env{'request.course.id'}.'.['.$cgroup.'].'.$recurseparm;
my $grplevelm=$env{'request.course.id'}.'.['.$cgroup.'].'.$mapparm;
my $seclevel=$env{'request.course.id'}.'.['.$csec.'].'.$spnam;
my $seclevelr=$env{'request.course.id'}.'.['.$csec.'].'.$symbparm;
+ my $secleveli=$env{'request.course.id'}.'.['.$csec.'].'.$recurseparm;
my $seclevelm=$env{'request.course.id'}.'.['.$csec.'].'.$mapparm;
my $courselevel=$env{'request.course.id'}.'.'.$spnam;
my $courselevelr=$env{'request.course.id'}.'.'.$symbparm;
+ my $courseleveli=$env{'request.course.id'}.'.'.$recurseparm;
my $courselevelm=$env{'request.course.id'}.'.'.$mapparm;
my $storeunder='';
- if (($snum==14) || ($snum==3)) { $storeunder=$courselevel; }
- if (($snum==13) || ($snum==2)) { $storeunder=$courselevelm; }
- if (($snum==10) || ($snum==1)) { $storeunder=$courselevelr; }
- if ($snum==9) { $storeunder=$seclevel; }
- if ($snum==8) { $storeunder=$seclevelm; }
- if ($snum==7) { $storeunder=$seclevelr; }
- if ($snum==6) { $storeunder=$grplevel; }
- if ($snum==5) { $storeunder=$grplevelm; }
- if ($snum==4) { $storeunder=$grplevelr; }
+ if (($snum==18) || ($snum==4)) { $storeunder=$courselevel; }
+ if (($snum==17) || ($snum==3)) { $storeunder=$courseleveli; }
+ if (($snum==16) || ($snum==2)) { $storeunder=$courselevelm; }
+ if (($snum==13) || ($snum==1)) { $storeunder=$courselevelr; }
+ if ($snum==12) { $storeunder=$seclevel; }
+ if ($snum==11) { $storeunder=$secleveli; }
+ if ($snum==10) { $storeunder=$seclevelm; }
+ if ($snum==9) { $storeunder=$seclevelr; }
+ if ($snum==8) { $storeunder=$grplevel; }
+ if ($snum==7) { $storeunder=$grpleveli; }
+ if ($snum==6) { $storeunder=$grplevelm; }
+ if ($snum==5) { $storeunder=$grplevelr; }
my $delete;
@@ -717,60 +766,61 @@ sub storeparm_by_symb_inner {
my %storecontent = ($storeunder => $nval,
$storeunder.'.type' => $ntype);
my $reply='';
- if ($snum>3) {
+
+ if ($snum>4) {
# ---------------------------------------------------------------- Store Course
#
- my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
- my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
-# Expire sheets
- &Apache::lonnet::expirespread('','','studentcalc');
- if (($snum==10) || ($snum==7) || ($snum==4)) {
- &Apache::lonnet::expirespread('','','assesscalc',$symb);
- } elsif (($snum==11) || ($snum==8) || ($snum==5)) {
- &Apache::lonnet::expirespread('','','assesscalc',$map);
- } else {
- &Apache::lonnet::expirespread('','','assesscalc');
- }
-# Store parameter
- if ($delete) {
- $reply=&Apache::lonnet::del
- ('resourcedata',[keys(%storecontent)],$cdom,$cnum);
- &log_parmset(\%storecontent,1);
- } else {
- $reply=&Apache::lonnet::cput
- ('resourcedata',\%storecontent,$cdom,$cnum);
- &log_parmset(\%storecontent);
- }
- &Apache::lonnet::devalidatecourseresdata($cnum,$cdom);
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ # Expire sheets
+ &Apache::lonnet::expirespread('','','studentcalc');
+ if (($snum==13) || ($snum==9) || ($snum==5)) {
+ &Apache::lonnet::expirespread('','','assesscalc',$symb);
+ } elsif (($snum==14) || ($snum==10) || ($snum==6)) {
+ &Apache::lonnet::expirespread('','','assesscalc',$map);
+ } else {
+ &Apache::lonnet::expirespread('','','assesscalc');
+ }
+ # Store parameter
+ if ($delete) {
+ $reply=&Apache::lonnet::del
+ ('resourcedata',[keys(%storecontent)],$cdom,$cnum);
+ &log_parmset(\%storecontent,1);
+ } else {
+ $reply=&Apache::lonnet::cput
+ ('resourcedata',\%storecontent,$cdom,$cnum);
+ &log_parmset(\%storecontent);
+ }
+ &Apache::lonnet::devalidatecourseresdata($cnum,$cdom);
} else {
# ------------------------------------------------------------------ Store User
#
-# Expire sheets
- &Apache::lonnet::expirespread($uname,$udom,'studentcalc');
- if ($snum==1) {
- &Apache::lonnet::expirespread
- ($uname,$udom,'assesscalc',$symb);
- } elsif ($snum==2) {
- &Apache::lonnet::expirespread
- ($uname,$udom,'assesscalc',$map);
- } else {
- &Apache::lonnet::expirespread($uname,$udom,'assesscalc');
- }
-# Store parameter
- if ($delete) {
- $reply=&Apache::lonnet::del
- ('resourcedata',[keys(%storecontent)],$udom,$uname);
- &log_parmset(\%storecontent,1,$uname,$udom);
- } else {
- $reply=&Apache::lonnet::cput
- ('resourcedata',\%storecontent,$udom,$uname);
- &log_parmset(\%storecontent,0,$uname,$udom);
- }
- &Apache::lonnet::devalidateuserresdata($uname,$udom);
+ # Expire sheets
+ &Apache::lonnet::expirespread($uname,$udom,'studentcalc');
+ if ($snum==1) {
+ &Apache::lonnet::expirespread
+ ($uname,$udom,'assesscalc',$symb);
+ } elsif ($snum==2) {
+ &Apache::lonnet::expirespread
+ ($uname,$udom,'assesscalc',$map);
+ } else {
+ &Apache::lonnet::expirespread($uname,$udom,'assesscalc');
+ }
+ # Store parameter
+ if ($delete) {
+ $reply=&Apache::lonnet::del
+ ('resourcedata',[keys(%storecontent)],$udom,$uname);
+ &log_parmset(\%storecontent,1,$uname,$udom);
+ } else {
+ $reply=&Apache::lonnet::cput
+ ('resourcedata',\%storecontent,$udom,$uname);
+ &log_parmset(\%storecontent,0,$uname,$udom);
+ }
+ &Apache::lonnet::devalidateuserresdata($uname,$udom);
}
if ($reply=~/^error\:(.*)/) {
- return "Write Error: $1";
+ return "Write Error: $1";
}
return '';
}
@@ -791,7 +841,16 @@ sub valout {
}
} else {
if ($type eq 'date_interval') {
- my ($totalsecs,$donebutton) = split(/_/,$value);
+ my ($totalsecs,$donesuffix) = split(/_/,$value,2);
+ my ($usesdone,$donebuttontext,$proctor,$secretkey);
+ if ($donesuffix =~ /^done\:([^\:]+)\:(.*)$/) {
+ $donebuttontext = $1;
+ (undef,$proctor,$secretkey) = split(/_/,$2);
+ $usesdone = 'done';
+ } elsif ($donesuffix =~ /^done(|_.+)$/) {
+ $donebuttontext = &mt('Done');
+ ($usesdone,$proctor,$secretkey) = split(/_/,$donesuffix);
+ }
my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($totalsecs);
my @timer;
$year=$year-70;
@@ -825,16 +884,20 @@ sub valout {
push(@timer,&mt('[quant,_1,sec]',0));
}
$result.=join(", ",@timer);
- if ($donebutton eq 'done') {
- $result .= ' '.&mt('+ "done"');
+ if ($usesdone eq 'done') {
+ if ($secretkey) {
+ $result .= ' '.&mt('+ "[_1]" with proctor key: [_2]',$donebuttontext,$secretkey);
+ } else {
+ $result .= ' + "'.$donebuttontext.'"';
+ }
}
} elsif (&isdateparm($type)) {
$result = &Apache::lonlocal::locallocaltime($value).
- &date_sanity_info($value);
+ &date_sanity_info($value);
} else {
$result = $value;
$result=~s/\,/\, /gs;
- $result = &HTML::Entities::encode($result,'"<>&');
+ $result = &HTML::Entities::encode($result,'"<>&');
}
}
return $result;
@@ -845,7 +908,7 @@ sub plink {
my ($type,$dis,$value,$marker,$return,$call)=@_;
my $winvalue=$value;
unless ($winvalue) {
- if (&isdateparm($type)) {
+ if (&isdateparm($type)) {
$winvalue=$env{'form.recent_'.$type};
} else {
$winvalue=$env{'form.recent_'.(split(/\_/,$type))[0]};
@@ -858,8 +921,8 @@ sub plink {
my $unencmarker = $marker;
foreach my $item (\$type, \$dis, \$winvalue, \$marker, \$return, \$call,
\$hour, \$min, \$sec) {
- $$item = &HTML::Entities::encode($$item,'"<>&');
- $$item =~ s/\'/\\\'/g;
+ $$item = &HTML::Entities::encode($$item,'"<>&');
+ $$item =~ s/\'/\\\'/g;
}
return '