--- loncom/interface/lonparmset.pm 2010/01/12 18:11:58 1.491
+++ loncom/interface/lonparmset.pm 2010/06/16 14:26:18 1.497
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.491 2010/01/12 18:11:58 bisitz Exp $
+# $Id: lonparmset.pm,v 1.497 2010/06/16 14:26:18 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -248,37 +248,6 @@ Variables used (guessed by Jeremy):
=item parse_key()
-=item check_cloners() :
-
-Checks if new users included in list of allowed cloners
-are valid users. Replaces supplied list with
-cleaned list containing only users with valid usernames
-and domains.
-
-Inputs: $clonelist, $oldcloner
-where $clonelist is ref to array of requested cloners,
-and $oldcloner is ref to array of currently allowed
-cloners.
-
-Returns: string - comma separated list of requested
-cloners (username:domain) who do not exist in system.
-
-=item change_clone() :
-
-Modifies the list of courses a user can clone (stored
-in the user's environment.db file), called when a
-change is made to the list of users allowed to clone
-a course.
-
-Inputs: $action,$cloner
-where $action is add or drop, and $cloner is identity of
-user for whom cloning ability is to be changed in course.
-
-
-=item check_cloners()
-
-=item change_clone()
-
=item header()
Output html header for page
@@ -1767,27 +1736,34 @@ sub mapmenu {
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder'),'','',' id="mapmenu"'));
if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) {
my $icon = ' ';
- $r->print(&Apache::loncommon::start_data_table()
- .&Apache::loncommon::start_data_table_row()
+ my $whitespace =
+ ' ';
+
+ $r->print(&Apache::loncommon::start_data_table());
+
+ # Display row: "All Maps and Folders"
+ $r->print(&Apache::loncommon::start_data_table_row()
.'
'.$icon
- .' '
- .' '
+ .''
+ .' print(' checked="checked"') if ($pschp eq 'all' || !$pschp);
+ $r->print( ' value="all" />'
.&mt('All Maps or Folders')
.' '
.&Apache::loncommon::end_data_table_row()
);
- my $whitespace = ' ';
+
+ # Display row: "Main Course Documents"
if (exists($$allmaps{1})) {
$r->print(&Apache::loncommon::start_data_table_row()
.''.$icon
- .' '
+ .''
.' print(' checked="checked"');
- }
+ $r->print(' checked="checked"') if ($pschp eq '1');
$r->print('/>'
.$$maptitles{1}
.($$allmaps{1} !~/^uploaded/?' ['.$$allmaps{1}.']':'')
@@ -1796,6 +1772,8 @@ sub mapmenu {
.&Apache::loncommon::end_data_table_row()
);
}
+
+ # Display rows for all course maps and folders
foreach my $id (@{$tree}) {
my ($mapid,$resid)=split(/\./,$id);
# Indentation
@@ -1813,11 +1791,13 @@ sub mapmenu {
$symb_name = $tail;
$r->print(&Apache::loncommon::start_data_table_row()
.''.$indent.$icon
- .' '
+ .''
.' print(' checked="checked"');
+ if ($allmaps_inverted{$symb_name} && $pschp) {
+ if ($allmaps_inverted{$symb_name} eq $pschp) {
+ $r->print(' checked="checked"');
+ }
}
$r->print('/>'
.$treeinfo->{$id}->{name}
@@ -1827,6 +1807,7 @@ sub mapmenu {
.&Apache::loncommon::end_data_table_row()
);
}
+
$r->print(&Apache::loncommon::end_data_table());
}
}
@@ -3020,7 +3001,7 @@ sub date_interval_selector {
my %select = ((map {$_ => $_} (0..$max)),
'select_form_order' => [0..$max]);
$result .= &Apache::loncommon::select_form($amount,$name.'_'.$thiskey,
- %select);
+ \%select);
$result .= ' '.&mt($name);
}
$result .= ' ';
@@ -3503,123 +3484,6 @@ sub parse_key {
}
-
-sub extract_cloners {
- my ($clonelist,$allowclone) = @_;
- if ($clonelist =~ /,/) {
- @{$allowclone} = split(/,/,$clonelist);
- } else {
- $$allowclone[0] = $clonelist;
- }
-}
-
-sub check_cloners {
- my ($clonelist,$oldcloner) = @_;
- my ($clean_clonelist,%disallowed);
- my @allowclone = ();
- &extract_cloners($$clonelist,\@allowclone);
- foreach my $currclone (@allowclone) {
- if (!grep(/^\Q$currclone\E$/,@$oldcloner)) {
- if ($currclone eq '*') {
- $clean_clonelist .= $currclone.',';
- } else {
- my ($uname,$udom) = split(/:/,$currclone);
- if ($uname eq '*') {
- if ($udom =~ /^$match_domain$/) {
- if (!&Apache::lonnet::domain($udom)) {
- $disallowed{'domain'} .= $currclone.',';
- } else {
- $clean_clonelist .= $currclone.',';
- }
- } else {
- $disallowed{'format'} .= $currclone.',';
- }
- } elsif ($currclone !~/^($match_username)\:($match_domain)$/) {
- $disallowed{'format'} .= $currclone.',';
- } else {
- if (&Apache::lonnet::homeserver($uname,$udom) eq 'no_host') {
- $disallowed{'newuser'} .= $currclone.',';
- } else {
- $clean_clonelist .= $currclone.',';
- }
- }
- }
- } else {
- $clean_clonelist .= $currclone.',';
- }
- }
- foreach my $key (keys(%disallowed)) {
- $disallowed{$key} =~ s/,$//;
- }
- if ($clean_clonelist) {
- $clean_clonelist =~ s/,$//;
- }
- $$clonelist = $clean_clonelist;
- return %disallowed;
-}
-
-sub change_clone {
- my ($clonelist,$oldcloner) = @_;
- my ($uname,$udom);
- my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
- my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
- my $clone_crs = $cnum.':'.$cdom;
-
- if ($cnum && $cdom) {
- my @allowclone;
- &extract_cloners($clonelist,\@allowclone);
- foreach my $currclone (@allowclone) {
- if (!grep(/^$currclone$/,@$oldcloner)) {
- if ($currclone ne '*') {
- ($uname,$udom) = split(/:/,$currclone);
- if ($uname && $udom && $uname ne '*') {
- if (&Apache::lonnet::homeserver($uname,$udom) ne 'no_host') {
- my %currclonecrs = &Apache::lonnet::dump('environment',$udom,$uname,'cloneable');
- if ($currclonecrs{'cloneable'} !~ /\Q$clone_crs\E/) {
- if ($currclonecrs{'cloneable'} eq '') {
- $currclonecrs{'cloneable'} = $clone_crs;
- } else {
- $currclonecrs{'cloneable'} .= ','.$clone_crs;
- }
- &Apache::lonnet::put('environment',\%currclonecrs,$udom,$uname);
- }
- }
- }
- }
- }
- }
- foreach my $oldclone (@$oldcloner) {
- if (!grep(/^\Q$oldclone\E$/,@allowclone)) {
- if ($oldclone ne '*') {
- ($uname,$udom) = split(/:/,$oldclone);
- if ($uname && $udom && $uname ne '*' ) {
- if (&Apache::lonnet::homeserver($uname,$udom) ne 'no_host') {
- my %currclonecrs = &Apache::lonnet::dump('environment',$udom,$uname,'cloneable');
- my %newclonecrs = ();
- if ($currclonecrs{'cloneable'} =~ /\Q$clone_crs\E/) {
- if ($currclonecrs{'cloneable'} =~ /,/) {
- my @currclonecrs = split/,/,$currclonecrs{'cloneable'};
- foreach my $crs (@currclonecrs) {
- if ($crs ne $clone_crs) {
- $newclonecrs{'cloneable'} .= $crs.',';
- }
- }
- $newclonecrs{'cloneable'} =~ s/,$//;
- } else {
- $newclonecrs{'cloneable'} = '';
- }
- &Apache::lonnet::put('environment',\%newclonecrs,$udom,$uname);
- }
- }
- }
- }
- }
- }
- }
-}
-
-
-
sub header {
return &Apache::loncommon::start_page('Parameter Manager');
}
@@ -3647,25 +3511,12 @@ ENDMAINFORMHEAD
my @menu =
( { categorytitle=>"Settings for this $crstype",
items => [
- { linktext => "$crstype Configuration",
- url => '/adm/courseprefs?origin=params',
- permission => $parm_permission,
- linktitle => "Edit $lc_crstype configuration." ,
- icon => 'preferences-desktop-remote-desktop.png' ,
- #help => 'Course_Environment',
- },
{ linktext => 'Portfolio Metadata',
url => '/adm/parmset?action=setrestrictmeta',
permission => $parm_permission,
linktitle => "Restrict metadata for this $lc_crstype." ,
icon =>'contact-new.png' ,
},
- { linktext => "Manage $crstype Slots",
- url => '/adm/slotrequest?command=showslots',
- permission => $vgr,
- linktitle => "Manage slots for this $lc_crstype." ,
- icon => 'rsrv.png' ,
- },
{ linktext => 'Reset Student Access Times',
url => '/adm/helper/resettimes.helper',
permission => $mgr,
@@ -4625,8 +4476,6 @@ sub handler {
&date_shift_one($r);
} elsif ($env{'form.action'} eq 'dateshift2') {
&date_shift_two($r);
- } elsif ($env{'form.action'} eq 'categorizecourse') {
- &assign_course_categories($r);
}
} else {
# ----------------------------- Not in a course, or not allowed to modify parms