+
+ if (!exists($helper->{'VARS'}{'name'}) ||
+ $helper->{'VARS'}{'name'} !~ /\S/) {
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
+ if (exists($env{'form.name'}) ||
+ $env{'form.name'} =~ /\S/) {
+ $helper->{'VARS'}{'name'}=$env{'form.name'};
+ }
+ }
+ $helper->{DATA}{origslot} = sub {
+ my ($which,$default)=@_;
+ if (!exists($helper->{'VARS'}{'name'}) ||
+ $helper->{'VARS'}{'name'} !~ /\S/) {
+ return $default;
+ }
+ my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+ my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+ my $name=$helper->{'VARS'}{'name'};
+ my %slot=&Apache::lonnet::get('slots', [$name], $cdom, $cnum);
+ if (!ref($slot{$name})) { return $default; }
+ if (!exists($slot{$name}{$which})) { return $default; }
+ return $slot{$name}{$which};
+ }
+
Name:
@@ -11,23 +35,34 @@
if ($val=~/\s$/) { return 'Must not contain spaces'; }
return undef;
+
+ return $helper->{'VARS'}{'name'};
+
Start time:
-
+
+
+ return &{$helper->{DATA}{origslot}}('starttime');
+
+
End time:
-
+
+
+ return &{$helper->{DATA}{origslot}}('endtime');
+
+
Type:
Instructor asssignable.
- Student selectable.
+ Student selectable.
- return 'preassigned';
+ return &{$helper->{DATA}{origslot}}('type','preassigned');
@@ -38,14 +73,20 @@
Description:
-
+
+
+ return &{$helper->{DATA}{origslot}}('description');
+
+
Time students can start reserving:
- 'anytime'
+
+ return &{$helper->{DATA}{origslot}}('startreserve','anytime');
+
@@ -57,6 +98,9 @@
if ($val ne '' && $val=~/\D/) { return 'Must be numeric.'; }
return undef;
+
+ return &{$helper->{DATA}{origslot}}('maxspace');
+
@@ -67,6 +111,9 @@
return undef;
+
+ return &{$helper->{DATA}{origslot}}('secret');
+
@@ -74,11 +121,21 @@
- 'anytime'
+
+ my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');
+ if ($default eq 'anytime') { return 'anytime' };
+ if (ref($default)) { return $default->[0]; }
+ return 'anytime';
+
End:
- 'anytime'
+
+ my $default=&{$helper->{DATA}{origslot}}('uniqueperiod','anytime');
+ if ($default eq 'anytime') { return 'anytime' };
+ if (ref($default)) { return $default->[1]; }
+ return 'anytime';
+
@@ -88,7 +145,11 @@
usable for any resource.
restricted to a specific resource.
- 'any'
+
+ my $default=&{$helper->{DATA}{origslot}}('symb');
+ if ($default) { return 'resource'; }
+ return 'any';
+
@@ -99,6 +160,9 @@
return undef;
+
+ return &{$helper->{DATA}{origslot}}('ip');
+
@@ -107,11 +171,23 @@
return $res->is_problem()
return $res->symb()
PROCTOR
+
+ return &{$helper->{DATA}{origslot}}('symb');
+
+
+ my @defaults;
+ my $default=&{$helper->{DATA}{origslot}}('proctor');
+ if ($default) {
+ $default=~ tr/@/:/;
+ @defaults=(split(',',$default));
+ }
+ return @defaults;
+
@@ -149,7 +225,7 @@
my $ret = &Apache::lonnet::cput('slots',
{$helper->{'VARS'}{'name'} => \%slot},
$cdom,$cname);
- $result.="\n$ret ".'Name: '.&HTML::Entities::encode($helper->{'VARS'}{'name'}).''.
+ $result.="\n ".'Name: '.&HTML::Entities::encode($helper->{'VARS'}{'name'}).''.
"\n".' Starts: '.&Apache::lonlocal::locallocaltime($slot{'starttime'}).''.
"\n".' Ends: '.&Apache::lonlocal::locallocaltime($slot{'endtime'}).''.
"\n".' Type: '.$slot{'type'}.'';