--- loncom/interface/courseprefs.pm 2014/06/13 02:03:41 1.49.2.15 +++ loncom/interface/courseprefs.pm 2013/05/12 02:46:32 1.57 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.49.2.15 2014/06/13 02:03:41 raeburn Exp $ +# $Id: courseprefs.pm,v 1.57 2013/05/12 02:46:32 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -215,14 +215,10 @@ use Apache::lonnet; use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonconfigsettings; -use Apache::lonrelrequtils; use Apache::lonparmset; use Apache::lonlocal; use LONCAPA qw(:DEFAULT :match); -my $registered_cleanup; -my $modified_courses; - sub handler { my $r=shift; if ($r->header_only) { @@ -232,7 +228,7 @@ sub handler { } my $context = 'course'; my $cid = $env{'request.course.id'}; - my ($cnum,$cdom,$chome) = &get_course($cid); + my ($cnum,$cdom) = &get_course($cid); my $crstype = &Apache::loncommon::course_type(); my $parm_permission = &Apache::lonnet::allowed('opa',$cid); my $navmap = Apache::lonnavmaps::navmap->new(); @@ -261,9 +257,6 @@ sub handler { return HTTP_NOT_ACCEPTABLE; } - $registered_cleanup=0; - @{$modified_courses}=(); - &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['phase','actions','origin']); &Apache::lonhtmlcommon::clear_breadcrumbs(); @@ -279,7 +272,6 @@ sub handler { edit => 'Edit Community Settings', gens => 'General community settings', idnu => 'Community ID or number', - unco => 'Unique code', desc => 'Community Description', ownr => 'Community Owner', cown => 'Community Co-owners', @@ -307,9 +299,8 @@ sub handler { edit => 'Edit Course Settings', gens => 'General course settings', idnu => 'Course ID or number', - unco => 'Unique code', desc => 'Course Description', - cred => 'Student credits', + cred => 'Student credits', ownr => 'Course Owner', cown => 'Course Co-owners', catg => 'Categorize course', @@ -351,14 +342,7 @@ sub handler { if ($phase eq 'releaseinfo') { my $loncaparev = $env{'course.'.$cid.'.internal.releaserequired'}; if ($loncaparev) { - if (&display_loncaparev_constraints($r,$navmap,$loncaparev,$crstype)) { - push(@{$modified_courses},[$cdom,$cnum,$chome,$crstype]); - unless ($registered_cleanup) { - my $handlers = $r->get_handlers('PerlCleanupHandler'); - $r->set_handlers('PerlCleanupHandler' => [\&update_releasereq,@{$handlers}]); - $registered_cleanup=1; - } - } + &display_loncaparev_constraints($r,$navmap,$loncaparev,$crstype); return OK; } } @@ -373,23 +357,20 @@ sub handler { { text => $lt{'gens'}, help => 'Course_Prefs_General', ordered => ['owner','co-owners','loncaparev','description', - 'clonedfrom','courseid','uniquecode','categories', - 'hidefromcat','externalsyllabus','cloners','url', - 'rolenames'], + 'courseid','categories','hidefromcat', + 'externalsyllabus','cloners','url','rolenames'], itemtext => { 'owner' => $lt{'ownr'}, 'co-owners' => $lt{'cown'}, 'description' => $lt{'desc'}, 'courseid' => $lt{'idnu'}, - 'uniquecode' => $lt{'unco'}, 'categories' => $lt{'catg'}, 'hidefromcat' => $lt{'excc'}, 'cloners' => $lt{'clon'}, - 'externalsyllabus' => 'Syllabus status', + 'externalsyllabus' => 'URL of Syllabus', 'url' => 'Top Level Map', 'rolenames' => $lt{'rept'}, 'loncaparev' => $lt{'lcrv'}, - 'clonedfrom' => 'Cloned from', }, }, 'localization' => @@ -490,7 +471,7 @@ sub handler { help => 'Course_Prefs_Printouts', ordered => ['problem_stream_switch','suppress_tries', 'default_paper_size','print_header_format', - 'disableexampointprint'], + 'disableexampointprint','canuse_pdfforms'], itemtext => { problem_stream_switch => 'Allow problems to be split over pages', suppress_tries => 'Suppress number of tries in printing', @@ -724,8 +705,7 @@ sub process_changes { next if (($entry eq 'categories') && (!$can_categorize)); next if (($entry eq 'loncaparev') || - ($entry eq 'owner') || - ($entry eq 'clonedfrom')); + ($entry eq 'owner')); push(@ordered,$entry); } } elsif ($action eq 'classlists') { @@ -1047,14 +1027,14 @@ sub process_changes { my ($classorder,$classtitles) = &discussion_vote_classes(); my $fontchange = 0; foreach my $class (@{$classorder}) { - my $ext_entry = $entry.'_'.$class; + my $ext_entry = $entry.'_'.$class; my $size = $env{'form.'.$ext_entry.'_size'}; my $unit = $env{'form.'.$ext_entry.'_unit'}; my $weight = $env{'form.'.$ext_entry.'_weight'}; my $style = $env{'form.'.$ext_entry.'_style'}; my $other = $env{'form.'.$ext_entry.'_other'}; $size =~ s/,//g; - $unit =~ s/,//g; + $unit =~ s/,//g; $weight =~ s/,//g; $style =~ s/,//g; $other =~ s/[^\w;:\s\-\%.]//g; @@ -1062,7 +1042,7 @@ sub process_changes { $newvalues{$ext_entry} = join(',',($size.$unit,$weight,$style,$other)); my $current = $values->{$ext_entry}; if ($values->{$ext_entry} eq '') { - $current = ',,,'; + $current = ',,,'; } if ($newvalues{$ext_entry} ne $current) { $changes->{$ext_entry} = $newvalues{$ext_entry}; @@ -1071,7 +1051,7 @@ sub process_changes { } if ($fontchange) { $changes->{$entry} = 1; - } + } } elsif ($entry eq 'nothideprivileged') { my @curr_nothide; my @new_nothide; @@ -1146,7 +1126,7 @@ sub process_changes { my $newtext = $maxnum-1; $newhdr[$env{'form.printfmthdr_pos_'.$newtext}] = $env{'form.printfmthdr_text_'.$newtext}; $newvalues{$entry} = join('',@newhdr); - } elsif (($entry eq 'languages') || + } elsif (($entry eq 'languages') || ($entry eq 'checkforpriv')) { my $settings; my $total = $env{'form.'.$entry.'_total'}; @@ -1162,7 +1142,7 @@ sub process_changes { } if ($env{'form.'.$entry.'_'.$total} ne '') { my $new = $env{'form.'.$entry.'_'.$total}; - if ($entry eq 'languages') { + if ($entry eq 'languages') { my %langchoices = &get_lang_choices(); if ($langchoices{$new}) { $settings .= $new; @@ -1677,8 +1657,7 @@ sub get_course { } my $cdom=$env{'course.'.$courseid.'.domain'}; my $cnum=$env{'course.'.$courseid.'.num'}; - my $chome=$env{'course.'.$courseid.'.home'}; - return ($cnum,$cdom,$chome); + return ($cnum,$cdom); } sub get_jscript { @@ -1715,23 +1694,10 @@ function loncaparevinfo() { } ENDSCRIPT } - my $cnum = $env{'course.'.$cid.'.num'}; - my $syllabus_js = <'."\n". + $cloners_js."\n".'// ]]>'."\n". ''."\n".$stubrowse_js."\n"; return $jscript; } @@ -1842,7 +1808,6 @@ sub print_courseinfo { } my ($can_toggle_cat,$can_categorize) = &can_modify_catsettings($cdom,$crstype); - my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $replace; if ($crstype eq 'Community') { @@ -1873,18 +1838,12 @@ sub print_courseinfo { 'co-owners' => { text => ''.&mt($itemtext->{'co-owners'}).'', }, - 'clonedfrom' => { - text => ''.&mt($itemtext->{'clonedfrom'}).'', - }, 'courseid' => { text => ''.&mt($itemtext->{'courseid'}).'
'.'('. &mt('internal, optional').')', input => 'textbox', size => '25', }, - 'uniquecode' => { - text => ''.&mt($itemtext->{'uniquecode'}).'', - }, 'cloners' => { text => ''.&mt($itemtext->{'cloners'}).'
'. &mt('Owner and Coordinators included automatically'), @@ -1899,10 +1858,10 @@ sub print_courseinfo { advanced => 1 }, 'externalsyllabus' => { - text => ''.&mt($itemtext->{'externalsyllabus'}).'
'. - &mt('(Syllabus type in use)').(' ' x2). - &mt('[_1]Edit[_2]','', - ''), + text => ''.&mt($itemtext->{'externalsyllabus'}).'
('. + &mt('not using syllabus template)'), + input => 'textbox', + size => '40', }, 'hidefromcat' => { text => ''.&mt($itemtext->{'hidefromcat'}).'
'. @@ -1930,11 +1889,9 @@ sub print_courseinfo { next if (!$can_toggle_cat); } elsif ($item eq 'categories') { next if (!$can_categorize); - } elsif ($item eq 'uniquecode') { - next if (!$env{'course.'.$env{'request.course.id'}.'.internal.uniquecode'}); } unless (($item eq 'cloners') || ($item eq 'rolenames')) { - $colspan = 2; + $colspan = 2; } $count ++; if (exists $items{$item}{advanced} && $items{$item}{advanced} == 1) { @@ -2067,22 +2024,8 @@ sub print_courseinfo { $owner = &mt('None specified'); } $datatable .= $owner; - } elsif ($item eq 'clonedfrom') { - my $clonesrc = $env{'course.'.$env{'request.course.id'}.'.clonedfrom'}; - my $clonedfrom = &mt('None'); - if ($clonesrc =~ m{/$match_domain/$match_courseid}) { - my %clonesrcinfo = &Apache::lonnet::coursedescription($clonesrc); - if ($clonesrcinfo{'description'}) { - $clonedfrom = $clonesrcinfo{'description'}.' '.($clonesrc); - } - } - $datatable .= $clonedfrom; - } elsif ($item eq 'uniquecode') { - my $code = $env{'course.'.$env{'request.course.id'}.'.internal.uniquecode'}; - if ($code) { - $datatable .= $code; - } } elsif ($item eq 'co-owners') { + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; my $coowners = $env{'course.'.$env{'request.course.id'}.'.internal.co-owners'}; my @currcoown; if ($coowners) { @@ -2101,36 +2044,6 @@ sub print_courseinfo { $datatable .= &manage_coownership($cnum,$cdom,@currcoown); } } - } elsif ($item eq 'externalsyllabus') { - my $external = $env{'course.'.$env{'request.course.id'}.'.externalsyllabus'}; - my $uploaded = $env{'course.'.$env{'request.course.id'}.'.uploadedsyllabus'}; - my $minimal = $env{'course.'.$env{'request.course.id'}.'.minimalsyllabus'}; - if (($minimal =~/\w/) || ($uploaded =~/\w/)) { - if ($minimal =~/\w/) { - if ($external =~ m{\Q$minimal\E$}) { - undef($external); - } - } elsif ($uploaded =~/\w/) { - if ($external =~ m{\Q$uploaded\E$}) { - undef($external); - } - } - } elsif ($external!~/\w/) { - undef($external); - } - if ($external) { - $datatable .= &mt('External URL'); - } elsif ($minimal) { - $datatable .= &mt('Minimal template'); - } elsif ($uploaded) { - $datatable .= &mt('Uploaded file'); - } else { - $datatable .= &mt('Standard template'); - } - $datatable .= (' ' x 2). - &mt('[_1]View[_2]', - '', - ''); } elsif ($item eq 'loncaparev') { my $loncaparev = $env{'course.'.$env{'request.course.id'}.'.internal.releaserequired'}; my $showreqd; @@ -2300,7 +2213,6 @@ ENDSCRIPT sub display_loncaparev_constraints { my ($r,$navmap,$loncaparev,$crstype) = @_; - my ($reqdmajor,$reqdminor); my $cid = $env{'request.course.id'}; my $cdom = $env{'course.'.$cid.'.domain'}; my $cnum = $env{'course.'.$cid.'.num'}; @@ -2310,45 +2222,25 @@ sub display_loncaparev_constraints { 'section/group' => 'section/group', 'user' => 'user', ); - &Apache::lonrelrequtils::init_global_hashes(); - if (defined($Apache::lonrelrequtils::checkcrstypes{$crstype})) { - ($reqdmajor,$reqdminor) = split(/\./,$Apache::lonrelrequtils::checkcrstypes{$crstype}); + my (%checkparms,%checkresponsetypes,%checkcrstypes,%anonsurvey,%randomizetry); + &Apache::loncommon::build_release_hashes(\%checkparms,\%checkresponsetypes, + \%checkcrstypes,\%anonsurvey,\%randomizetry); + if (defined($checkcrstypes{$crstype})) { $output .= '

'.&mt('Course type: [_1] requires [_2] or newer',$crstype, - $Apache::lonrelrequtils::checkcrstypes{$crstype}).'

'; + $checkcrstypes{$crstype}).''; } my (%fromparam,%rowspan,%bymap,%byresource,@scopeorder,%toshow,%allmaps, - %byresponsetype,%bysubmission,%fromblocks); + %byresponsetype,%bysubmission); @scopeorder = ('all','section/group','user'); - my $now = time; my $resourcedata = &Apache::lonparmset::readdata($cnum,$cdom); if (ref($resourcedata) eq 'HASH') { foreach my $key (keys(%{$resourcedata})) { - foreach my $item (keys(%Apache::lonrelrequtils::checkparms)) { + foreach my $item (keys(%checkparms)) { if ($key =~ /(\Q$item\E)$/) { - if (ref($Apache::lonrelrequtils::checkparms{$item}) eq 'ARRAY') { + if (ref($checkparms{$item}) eq 'ARRAY') { my $value = $resourcedata->{$key}; - if ($item eq 'examcode') { - if (&Apache::lonnet::validCODE($value)) { - $value = 'valid'; - } else { - $value = ''; - } - } elsif ($item eq 'printstartdate') { - if ($value =~ /^\d+$/) { - if ($value > $now) { - $value = 'future'; - } - } - } elsif ($item eq 'printenddate') { - if ($value =~ /^\d+$/) { - if ($value < $now) { - $value = 'past'; - } - } - - } my ($middle,$scope,$which,$level,$map,$resource); - if (grep(/^\Q$value\E$/,@{$Apache::lonrelrequtils::checkparms{$item}})) { + if (grep(/^\Q$value\E$/,@{$checkparms{$item}})) { my $stdtype = &Apache::lonparmset::standard_parameter_types($item); my $stdname = &Apache::lonparmset::standard_parameter_names($item); my $valname = &get_param_description($stdtype,$value); @@ -2440,9 +2332,6 @@ sub display_loncaparev_constraints { ''.&mt('Extent').''.&mt('Setting').''. &Apache::loncommon::end_data_table_header_row(); foreach my $rev (keys(%fromparam)) { - my ($major,$minor) = split(/\./,$rev); - ($reqdmajor,$reqdminor) = - &Apache::lonrelrequtils::update_reqd_loncaparev($major,$minor,$reqdmajor,$reqdminor); $output .= &Apache::loncommon::start_data_table_row(). ''.$rev.''; my $newrow; @@ -2473,75 +2362,6 @@ sub display_loncaparev_constraints { } } - my %comm_blocks = &Apache::lonnet::dump('comm_block',$cdom,$cnum); - my $now = time; - if (keys(%comm_blocks) > 0) { - foreach my $block (keys(%comm_blocks)) { - if ($block =~ /^firstaccess____(.+)$/) { - my $rev = $Apache::lonnet::needsrelease{'course:commblock:timer'}; - if (ref($comm_blocks{$block}) eq 'HASH') { - push(@{$fromblocks{'timer'}{$rev}},&unescape($comm_blocks{$block}{'event'}). - ' '.&mt('set by [_1]', - &Apache::loncommon::plainname(split(/:/,$comm_blocks{$block}{'setter'})))); - } - next; - } elsif ($block =~ /^(\d+)____(\d+)$/) { - my ($start,$end) = ($1,$2); - next if ($end < $now); - } - if (ref($comm_blocks{$block}) eq 'HASH') { - if (ref($comm_blocks{$block}{'blocks'}) eq 'HASH') { - if (ref($comm_blocks{$block}{'blocks'}{'docs'}) eq 'HASH') { - if (keys(%{$comm_blocks{$block}{'blocks'}{'docs'}}) > 0) { - my $rev = $Apache::lonnet::needsrelease{'course:commblock:docs'}; - push(@{$fromblocks{'docs'}{$rev}},&unescape($comm_blocks{$block}{'event'}). - ' '. - &mt('set by [_1]', - &Apache::loncommon::plainname(split(/:/,$comm_blocks{$block}{'setter'})))); - } - } elsif ($comm_blocks{$block}{'blocks'}{'printout'} eq 'on') { - my $rev = $Apache::lonnet::needsrelease{'course:commblock:printout'}; - push(@{$fromblocks{'printout'}{$rev}},&unescape($comm_blocks{$block}{'event'}). - ' '. - &mt('set by [_1]', - &Apache::loncommon::plainname(split(/:/,$comm_blocks{$block}{'setter'})))); - - } - } - } - } - if (keys(%fromblocks)) { - my %lt = ( - docs => 'Content blocking', - printout => 'Printout generation', - timer => 'Timed quiz trigger', - ); - $output .= '

'.&mt('Requirements from exam blocking').'

'. - &Apache::loncommon::start_data_table(). - &Apache::loncommon::start_data_table_header_row(). - ''.&mt('Release').''.&mt('Setting').''. - ''.&mt('Event(s)').''. - &Apache::loncommon::end_data_table_header_row(); - foreach my $type ('docs','printout','timer') { - if (ref($fromblocks{$type}) eq 'HASH') { - foreach my $rev (keys(%{$fromblocks{$type}})) { - my ($major,$minor) = split(/\./,$rev); - ($reqdmajor,$reqdminor) = - &Apache::lonrelrequtils::update_reqd_loncaparev($major,$minor,$reqdmajor,$reqdminor); - $output .= &Apache::loncommon::start_data_table_row(). - ''.$rev.''.$lt{$type}.''; - foreach my $event (sort(@{$fromblocks{$type}{$rev}})) { - $output .= $event.'
'; - } - $output =~ s{\Q
\E$}{}; - $output .= ''.&Apache::loncommon::end_data_table_row(); - } - } - } - $output .= &Apache::loncommon::end_data_table().'
'; - } - } - if (defined($navmap)) { my %anonsubms=&Apache::lonnet::dump('nohist_anonsurveys',$cdom,$cnum); my $rev_anonsurv=$Apache::lonnet::needsrelease{'parameter:type:anonsurvey'}; @@ -2551,7 +2371,7 @@ sub display_loncaparev_constraints { my $stdname=&Apache::lonparmset::standard_parameter_names('type'); my $valanon=&get_param_description($stdtype,'anonsurvey'); my $valrandtry=&get_param_description($stdtype,'randomizetry'); - my %checkedrev; + foreach my $res ($navmap->retrieveResources(undef,sub { $_[0]->is_problem() },1,0)) { my @parts = @{$res->parts()}; my $symb = $res->symb(); @@ -2568,13 +2388,6 @@ sub display_loncaparev_constraints { push(@{$bysubmission{$symb}{$rev}},$what); } $allmaps{$enclosing_map} = 1; - unless ($checkedrev{'anonsurvey'}) { - my ($major,$minor) = split(/\./,$rev); - ($reqdmajor,$reqdminor) = - &Apache::lonrelrequtils::update_reqd_loncaparev($major,$minor, - $reqdmajor,$reqdminor); - $checkedrev{'anonsurvey'} = 1; - } } if (exists($randtrysubms{$symb."\0".$part})) { my $rev = $rev_randtry; @@ -2587,27 +2400,12 @@ sub display_loncaparev_constraints { push(@{$bysubmission{$symb}{$rev}},$what); } $allmaps{$enclosing_map} = 1; - unless ($checkedrev{'randomizetry'}) { - my ($major,$minor) = split(/\./,$rev); - ($reqdmajor,$reqdminor) = - &Apache::lonrelrequtils::update_reqd_loncaparev($major,$minor, - $reqdmajor,$reqdminor); - $checkedrev{'randomizetry'} = 1; - } } } my %responses = $res->responseTypes(); foreach my $key (keys(%responses)) { - if (exists($Apache::lonrelrequtils::checkresponsetypes{$key})) { - my $rev = $Apache::lonrelrequtils::checkresponsetypes{$key}; - unless ($checkedrev{$key}) { - my ($major,$minor) = split(/\./,$rev); - ($reqdmajor,$reqdminor) = - &Apache::lonrelrequtils::update_reqd_loncaparev($major,$minor, - $reqdmajor,$reqdminor); - $checkedrev{$key} = 1; - } - push(@{$byresponsetype{$symb}{$rev}},$key); + if (exists($checkresponsetypes{$key})) { + push(@{$byresponsetype{$symb}{$checkresponsetypes{$key}}},$key); $allmaps{$enclosing_map} = 1; } } @@ -2668,10 +2466,6 @@ sub display_loncaparev_constraints { '

'); } $r->print(&Apache::loncommon::end_page()); - my ($currmajor,$currminor) = split(/\./,$loncaparev); - if (($currmajor != $reqdmajor) || ($currminor != $reqdminor)) { - return 1; - } return; } @@ -2690,7 +2484,7 @@ sub show_contents_view { ''.&mt('Attribute/Setting').''. &Apache::loncommon::end_data_table_header_row(). &Apache::loncommon::start_data_table_row(). - ' '.$icon.' '.&mt('Main Content').''); + ' '.$icon.' '.&mt('Main Course Documents').''); &releases_by_map($r,$bymap,$topmap,$scopeorder,$lt); $r->print(&Apache::loncommon::end_data_table_row()); my $it=$navmap->getIterator(undef,undef,undef,1,1,undef); @@ -2813,7 +2607,6 @@ sub show_contents_view { } $r->print(&Apache::loncommon::end_data_table()); } - return; } sub releases_by_map { @@ -2867,24 +2660,6 @@ sub get_param_description { return $name; } -sub update_releasereq { - my $readmap = 1; - my $getrelreq = 1; - if (ref($modified_courses) eq 'ARRAY') { - foreach my $item (@{$modified_courses}) { - if (ref($item) eq 'ARRAY') { - my ($cdom,$cnum,$chome,$crstype) = @{$item}; - &Apache::lonrelrequtils::modify_course_relreq(undef,undef,$cnum,$cdom, - $chome,$crstype,$cdom.'_'.$cnum, - $readmap,$getrelreq); - } - } - $modified_courses = []; - } - undef($registered_cleanup); - return; -} - sub show_autocoowners { my (@currcoown) = @_; my $output = ''.&mt('Co-ownership is set automatically when a Course Coordinator role[_1] is assigned to official course personnel (from institutional data).','
').'
'; @@ -3033,7 +2808,7 @@ sub print_localization { $count ++; my $colspan; unless ($item eq 'languages') { - $colspan = 2; + $colspan = 2; } $datatable .= &item_table_row_start($items{$item}{text},$count,undef,$colspan); if ($item eq 'timezone') { @@ -3153,8 +2928,8 @@ sub print_feedback { } if ($position eq 'top') { my $includeempty = 0; - $datatable .= ''. - &user_table($cdom,$item,\@sections, + $datatable .= ''. + &user_table($cdom,$item,\@sections, $settings->{$item},\%lt); } else { $datatable .= &Apache::lonhtmlcommon::textbox($item.'.text', @@ -3343,15 +3118,15 @@ sub print_discussion { my $colspan; if ($item eq 'allow_limited_html_in_feedback') { $colspan = 2; - } + } $datatable .= &item_table_row_start($items{$item}{text},$count,undef,$colspan); if ($item eq 'plc.roles.denied') { $datatable .= ''. ''.&role_checkboxes($cdom,$cnum,$item,$settings). '
'; } elsif ($item eq 'plc.users.denied') { - $datatable .= ''. - &user_table($cdom,$item,undef, + $datatable .= ''. + &user_table($cdom,$item,undef, $settings->{$item},\%lt); } elsif ($item eq 'pch.roles.denied') { $datatable .= ''. @@ -3380,7 +3155,7 @@ sub print_discussion { ''.&mt('font-size').''. ''.&mt('font-weight').''. ''.&mt('font-style').''. - ''.&mt('Other css').''. + ''.&mt('Other css').''. &Apache::loncommon::end_data_table_row(). &set_discussion_fonts($cdom,$cnum,$item,$settings). &Apache::loncommon::end_data_table().'
'; @@ -3552,7 +3327,7 @@ sub set_discussion_fonts { sub discussion_vote_classes { my $classorder = ['twoplus','oneplus','zero','oneminus','twominus']; - my %classtitles = &Apache::lonlocal::texthash( + my %classtitles = &Apache::lonlocal::texthash( 'twoplus' => 'Two sigma above mean', 'oneplus' => 'One sigma above mean', 'zero' => 'Within one sigma of mean', @@ -3618,7 +3393,7 @@ sub print_classlists { 'defaultcredits' => { text => ''.&mt($itemtext->{'defaultcredits'}).'', }, - + 'nothideprivileged' => { text => ''.&mt($itemtext->{'nothideprivileged'}).'', input => 'checkbox', @@ -3685,12 +3460,11 @@ sub print_appearance { text => ''.&mt($itemtext->{'texengine'}).'', input => 'selectbox', options => { - MathJax => 'MathJax', jsMath => 'jsMath', mimetex => &mt('Convert to Images'), tth => &mt('TeX to HTML'), }, - order => ['MathJax','jsMath','mimetex','tth'], + order => ['jsMath','mimetex','tth'], nullval => $mathdef, }, 'tthoptions' => { @@ -3714,11 +3488,12 @@ sub print_grading { input => 'selectbox', options => { standard => &mt('Standard: shows points'), + categories => &mt('Categories: shows points according to categories'), external => &mt('External: shows number of completed parts and totals'), externalnototals => &mt('External: shows only number of completed parts'), spreadsheet => &mt('Spreadsheet: (with link to detailed scores)'), }, - order => ['standard','external','externalnototals','spreadsheet'], + order => ['standard','categories','external','externalnototals','spreadsheet'], }, 'rndseed' => { text => ''.&mt($itemtext->{'rndseed'}).''. @@ -3928,9 +3703,7 @@ sub get_other_items { ($parameter =~ m/^selfenroll_/) || ($parameter =~ /_selfenroll$/) || ($parameter eq 'type') || ($parameter =~ m/^(cc|co|in|ta|ep|ad|st)\.plaintext$/) - || ($parameter =~ m/^discussion_post_fonts/) || - ($parameter =~ m{^(minimal|updated|uploaded|external)syllabus$}) || - ($parameter eq 'clonedfrom')) { + || ($parameter =~ m/^discussion_post_fonts/)) { push(@ordered,$parameter); } } @@ -4093,7 +3866,7 @@ sub nothidepriv_row { } } if ($settings->{'checkforpriv'}) { - @checkdoms = split(/,/,$settings->{'checkforpriv'}); + @checkdoms = split(/,/,$settings->{'checkforpriv'}); } } push(@checkdoms,$cdom); @@ -4107,7 +3880,7 @@ sub nothidepriv_row { if ($end == -1 || $start == -1) { next; } - foreach my $dom (@checkdoms) { + foreach my $dom (@checkdoms) { if (&Apache::lonnet::privileged($uname,$udom,\@checkdoms,['dc','su'])) { unless (grep(/^\Q$user\E$/,@privusers)) { push(@privusers,$user); @@ -4173,7 +3946,7 @@ sub checkforpriv_row { my $domdesc = &Apache::lonnet::domain($currdom,'description'); if ($domdesc eq '') { $domdesc = $currdom; - } + } $datatable .= &Apache::loncommon::start_data_table_row(). ''. @@ -4185,13 +3958,13 @@ sub checkforpriv_row { &mt('Delete').''. &Apache::loncommon::end_data_table_row(); $num ++; - unless (grep(/^\Q$currdom\E$/,@excdoms)) { + unless (grep(/^\Q$currdom\E$/,@excdoms)) { push(@excdoms,$currdom); } } } if ((scalar(keys(%domains)) - scalar(@excdoms)) > 0) { - $datatable .= + $datatable .= &Apache::loncommon::start_data_table_row(). ''. &mt('Additional domain:'). '
'.