version 1.9, 2013/01/04 05:45:50
|
version 1.10, 2013/11/12 14:36:07
|
Line 135 Outputs: 2
|
Line 135 Outputs: 2
|
$output - Information about changes made. |
$output - Information about changes made. |
|
|
|
|
=item &enumerate_course_contents() |
|
|
|
Create hashes of maps (for folders/pages) and symbs (for resources) in |
|
a course, where keys are numbers (starting with 1) and values are |
|
map url, or symb, for an iteration through the course, as seen by |
|
a Course Coordinator. Used to generate numerical IDs to facilitate |
|
storage of lists of maps or resources to be blocked during an exam. |
|
|
|
Inputs: 3 |
|
$navmap - navmaps object |
|
|
|
$map_url - reference to hash to contain URLs of maps in course |
|
|
|
$resource_symb - reference to hash to contain symbs for |
|
resources in course |
|
|
|
Outputs: None |
|
|
|
Side Effects: $map_url and $resource_symb hashrefs are populated. |
|
|
|
|
|
=item &get_dates_from_form() |
=item &get_dates_from_form() |
|
|
Extract start and end dates from web form input for blocks with |
Extract start and end dates from web form input for blocks with |
Line 388 use Apache::Constants qw(:common :http);
|
Line 367 use Apache::Constants qw(:common :http);
|
use Apache::loncommon(); |
use Apache::loncommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonhtmlcommon(); |
use Apache::lonparmset(); |
use Apache::lonparmset(); |
|
use Apache::loncourserespicker(); |
use HTML::Entities(); |
use HTML::Entities(); |
use Apache::lonlocal; |
use Apache::lonlocal; |
use lib '/home/httpd/lib/perl/'; |
use lib '/home/httpd/lib/perl/'; |
Line 664 sub blockstore {
|
Line 644 sub blockstore {
|
my $changestotal = 0; |
my $changestotal = 0; |
my $addtimer = 0; |
my $addtimer = 0; |
my %blocking = (); |
my %blocking = (); |
my (%map_url,%resource_symb,$output); |
my (%map_url,%resource_symb,%titles,$output); |
$output = '<h3>'.$lt{'head'}.'</h3>'; |
$output = '<h3>'.$lt{'head'}.'</h3>'; |
if ($env{'form.blockaction'} eq 'modify') { |
if ($env{'form.blockaction'} eq 'modify') { |
foreach my $envkey (keys(%env)) { |
foreach my $envkey (keys(%env)) { |
Line 690 sub blockstore {
|
Line 670 sub blockstore {
|
$output = $lt{'unna'}.' '.$lt{'ncwm'}.'</br>'; |
$output = $lt{'unna'}.' '.$lt{'ncwm'}.'</br>'; |
return ($changestotal,$output); |
return ($changestotal,$output); |
} |
} |
&enumerate_course_contents($navmap,\%map_url,\%resource_symb); |
&Apache::loncourserespicker::enumerate_course_contents($navmap,\%map_url,\%resource_symb,\%titles,'examblock'); |
foreach my $key (keys(%removals)) { |
foreach my $key (keys(%removals)) { |
my $hashkey = $env{'form.key_'.$key}; |
my $hashkey = $env{'form.key_'.$key}; |
&Apache::lonnet::del('comm_block',["$hashkey"], |
&Apache::lonnet::del('comm_block',["$hashkey"], |
Line 800 sub blockstore {
|
Line 780 sub blockstore {
|
return ($changestotal,$output); |
return ($changestotal,$output); |
} |
} |
|
|
sub enumerate_course_contents { |
|
my ($navmap,$map_url,$resource_symb) = @_; |
|
if ((ref($navmap)) && (ref($map_url) eq 'HASH') && |
|
(ref($resource_symb) eq 'HASH')) { |
|
my $it = $navmap->getIterator(undef,undef,undef,1,undef,undef); |
|
my $count = 0; |
|
while (my $curRes = $it->next()) { |
|
if (ref($curRes)) { |
|
$count ++; |
|
my $symb = $curRes->symb(); |
|
my $ressymb = $symb; |
|
if ($ressymb =~ m|adm/($match_domain)/($match_username)/(\d+)/bulletinboard$|) { |
|
unless ($ressymb =~ m|adm/wrapper/adm|) { |
|
$ressymb = 'bulletin___'.$3.'___adm/wrapper/adm/'.$1.'/'.$2.'/'.$3. |
|
'/bulletinboard'; |
|
} |
|
} |
|
if (($curRes->is_sequence()) || ($curRes->is_page())) { |
|
$map_url->{$count} = (&Apache::lonnet::decode_symb($symb))[2]; |
|
} else { |
|
$resource_symb->{$count} = $ressymb; |
|
} |
|
} |
|
} |
|
} |
|
return; |
|
} |
|
|
|
sub get_dates_from_form { |
sub get_dates_from_form { |
my $item = shift; |
my $item = shift; |
my $startdate = &Apache::lonhtmlcommon::get_date_from_form('startdate_'.$item); |
my $startdate = &Apache::lonhtmlcommon::get_date_from_form('startdate_'.$item); |
Line 916 sub check_release_required {
|
Line 868 sub check_release_required {
|
sub display_blocker_status { |
sub display_blocker_status { |
my ($r,$records,$ltext,$intervals,$navmap,$errormsg,$blockcount) = @_; |
my ($r,$records,$ltext,$intervals,$navmap,$errormsg,$blockcount) = @_; |
my $parmcount = 0; |
my $parmcount = 0; |
my (%map_url,%resource_symb,%lookups); |
my (%map_url,%resource_symb,%titles,%lookups); |
&enumerate_course_contents($navmap,\%map_url,\%resource_symb); |
&Apache::loncourserespicker::enumerate_course_contents($navmap,\%map_url,\%resource_symb,\%titles,'examblock'); |
%{$lookups{'maps'}} = reverse(%map_url); |
%{$lookups{'maps'}} = reverse(%map_url); |
%{$lookups{'resources'}} = reverse(%resource_symb); |
%{$lookups{'resources'}} = reverse(%resource_symb); |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |