--- loncom/interface/lonparmset.pm 2012/05/01 15:54:49 1.505.2.1.2.2 +++ loncom/interface/lonparmset.pm 2011/12/04 14:55:16 1.516 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.505.2.1.2.2 2012/05/01 15:54:49 raeburn Exp $ +# $Id: lonparmset.pm,v 1.516 2011/12/04 14:55:16 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -137,33 +137,41 @@ javascript function 'pjump'. =item extractResourceInformation() : -Given the course data hash, extractResourceInformation extracts lots of information about the course's resources into a variety of hashes. + extractResourceInformation extracts lots of information about all of the the course's resources into a variety of hashes. Input: See list below: -=item * B : An array that will contain all of the ids in the course. +=item * B : Current username -=item * B : hash, id->type, where "type" contains the extension of the file, thus, I. +=item * B : Domain of current user. -=item * B : hash, id->key list, will contain a comma separated list of the meta-data keys available for the given id +=item * b : hash, name of parameter->display value (what is the display value?) +Outputs: See list below: -=item * B : hash, part identification->text representation of part, where the text representation is "[Part $part]" +=item * B (out) : An array that will contain all of the ids in the course. -=item * B : hash, full key to part->display value (what's display value?) +=item * B(out) : hash, id->type, where "type" contains the extension of the file, thus, I. -=item * B : hash, ??? +=item * B (out) : hash, id->key list, will contain a comma separated list of the meta-data keys available for the given id -=item * B : ??? +=item * B (out) : hash, name of parameter->display value (what is the display value?) -=item * B : hash, ??? +=item * B (out) : hash, part identification->text representation of part, where the text representation is "[Part $part]" + +=item * B (out) : hash, ??? =item * B : ?? =item * B : hash, id->full sym? +=item * B + +=item * B +=item * B + +=item * B =item isdateparm() @@ -196,8 +204,8 @@ Input: See list below: Show assessment data and parameters. This is a large routine that should be simplified and shortened... someday. -Inputs: $r - +Inputs: $r - the Apache request object. + Returns: nothing Variables used (guessed by Jeremy): @@ -302,9 +310,31 @@ use Apache::lonlocal; use Apache::lonnavmaps; use Apache::longroup; use Apache::lonrss; +use HTML::Entities; use LONCAPA qw(:DEFAULT :match); +sub startSettingsScreen { + my ($r,$mode)=@_; + + $r->print("\n".''."\n"); + $r->print('
'); +} + +sub endSettingsScreen { + my ($r)=@_; + $r->print('
'); +} + + + sub parmval { my ($what,$id,$def,$uname,$udom,$csec,$cgroup,$courseopt)=@_; return &parmval_by_symb($what,&symbcache($id),$def,$uname,$udom,$csec, @@ -868,12 +898,17 @@ $selscript ENDJS } + sub startpage { - my ($r) = @_; + my ($r,$psymb) = @_; - my %loaditems = ('onunload' => "pclose()", - 'onload' => "showHide_courseContent(); group_or_section('cgroup')", - ); + my %loaditems = ( + 'onunload' => "pclose()", + 'onload' => "group_or_section('cgroup')", + ); + if (!$psymb) { + $loaditems{'onload'} = "showHide_courseContent(); group_or_section('cgroup')"; + } if ((($env{'form.command'} eq 'set') && ($env{'form.url'}) && (!$env{'form.dis'})) || ($env{'form.symb'})) { @@ -890,14 +925,18 @@ sub startpage { {'add_entries' => \%loaditems,}); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Table Mode Parameter Setting','Table_Mode'); + my $escfilter=&Apache::lonhtmlcommon::entity_encode($env{'form.filter'}); + my $escpart=&Apache::lonhtmlcommon::entity_encode($env{'form.part'}); + $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset'); $r->print(< + + ENDHEAD } @@ -930,7 +969,7 @@ sub print_row { if ($parmlev eq 'full') { $r->print('' - .$$part{$which}.''); + .($$part{$which} eq '0'?'0 ('.&mt('default').')':$$part{$which}).''); } else { $parm=~s|\[.*\]\s||g; } @@ -1138,6 +1177,7 @@ sub extractResourceInformation { $$typep{$id}=$1; $$keyp{$id}=''; $$uris{$id}=$srcf; + foreach my $key (split(/\,/,&Apache::lonnet::metadata($srcf,'allpossiblekeys'))) { next if ($key!~/^parameter_/); @@ -1237,14 +1277,12 @@ sub parmmenu { ele = document.forms.parmform.elements[i]; if (ele.name == checkName) { document.forms.parmform.elements[i].checked=value; - document.getElementById(document.forms.parmform.elements[i].value.concat(li)).style.display = displayOverview; } } } function checkthis(thisvalue, checkName) { - document.getElementById(thisvalue.concat("_li")).style.display = ""; for (i=0; i ENDSCRIPT - $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parameters to View'))); - - #part to print selected parms overview - $r->print(&mt('Selected Parameters:').'
'); - - #print out all possible parms and hide them by default - $r->print('
    '); - foreach $tempkey (&keysindisplayorder($allparms,$keyorder)) { - $r->print('
  • print(' style="display:none"'); - } - $r->print('>' - .($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey} : $tempkey) - .'
  • ' - ); - } - $r->print('
'); $r->print('
'); &shortCuts($r,$allparms,$pscat,$keyorder); $r->print('
'); - - $r->print( - '

' - .&mt('Show detailed Parameter Selection') - .'

' - ); - - $r->print(&Apache::lonhtmlcommon::row_closure(1)); } # return a hash sub categories { @@ -1373,6 +1366,8 @@ sub lookUpTableParameter { 'contentopen' => 'time_settings', 'contentclose' => 'time_settings', 'discussend' => 'time_settings', + 'printopendate' => 'time_settings', + 'printclosedate' => 'time_settings', 'weight' => 'grading', 'handgrade' => 'grading', 'maxtries' => 'tries', @@ -1404,7 +1399,7 @@ sub lookUpTableParameter { 'acc' => 'misc', 'maxcollaborators' => 'misc', 'scoreformat' => 'misc', - 'discussvote' => 'misc', + 'lenient' => 'grading', ); } @@ -1473,24 +1468,12 @@ sub parmboxes { 'file_submission' => [], 'misc' => [], ); - my $hidelink = - '

' - .'' - .&mt('Hide detailed Parameter Selection') - .'' - .'

' - ."\n"; -; + foreach $tempparameter (keys %$allparms) { &whatIsMyCategory($tempparameter, \%categoryList); } #part to print the parm-list - $r->print( - '\n"); } # # This function offers some links on the parameter section to get with one click a group a parameters @@ -1683,11 +1660,19 @@ function group_or_section(caller) { # This function shows on table Mode the available Parameters for the selected Resources # sub displaymenu { - my ($r,$allparms,$allparts,$pscat,$psprt,$keyorder)=@_; + my ($r,$allparms,$pscat,$psprt,$keyorder)=@_; + $r->print(&Apache::lonhtmlcommon::start_pick_box()); + $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parameters to View'))); + &parmmenu($r,$allparms,$pscat,$keyorder); - $r->print(&Apache::lonhtmlcommon::end_pick_box()); + $r->print(&Apache::loncommon::start_scrollbox()); &parmboxes($r,$allparms,$pscat,$keyorder); + $r->print(&Apache::loncommon::end_scrollbox()); + + $r->print(&Apache::lonhtmlcommon::row_closure(1)); + $r->print(&Apache::lonhtmlcommon::end_pick_box()); + } sub mapmenu { @@ -1751,10 +1736,11 @@ sub mapmenu { $r->print( '
' .&mt('You can only select maps and folders which have modifiable settings.') - .' '.&Apache::loncommon::help_open_topic('Parameter_Set_Folder') + .' '.&Apache::loncommon::help_open_topic('Parameter_Set_Folder') .'
' ); + $r->print(&Apache::loncommon::start_scrollbox()); $r->print(&Apache::loncommon::start_data_table()); # Display row: "All Maps or Folders" @@ -1835,6 +1821,7 @@ sub mapmenu { } $r->print(&Apache::loncommon::end_data_table()); + $r->print(&Apache::loncommon::end_scrollbox()); } } @@ -1960,9 +1947,10 @@ sub standardkeyorder { 'parameter_0_tol' => 16, 'parameter_0_sig' => 17, 'parameter_0_turnoffunit' => 18, - 'parameter_0_discussend' => 19, - 'parameter_0_discusshide' => 20, - 'parameter_0_discussvote' => 21); + 'parameter_0_discussend' => 19, + 'parameter_0_discusshide' => 20, + 'parameter_0_printopendate' => 21, + 'parameter_0_printclosedate' => 22); } @@ -1970,6 +1958,9 @@ sub assessparms { my $r=shift; + + +# -------------------------------------------------------- Variable declaration my @ids=(); my %symbp=(); my %mapp=(); @@ -1977,9 +1968,6 @@ sub assessparms { my %keyp=(); my %uris=(); my %maptitles=(); - -# -------------------------------------------------------- Variable declaration - my %allmaps=(); my %alllevs=(); @@ -1998,14 +1986,16 @@ sub assessparms { my %allparms; my %allparts; +# ------------------------------------------------------------------------------ + # # Order in which these parameters will be displayed # my %keyorder=&standardkeyorder(); - @ids=(); - %symbp=(); - %typep=(); +# @ids=(); +# %symbp=(); # These seem defined above already. +# %typep=(); my $message=''; @@ -2022,8 +2012,11 @@ sub assessparms { my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); my $pschp=$env{'form.pschp'}; + + my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); - if (!@psprt) { $psprt[0]='0'; } + if (!@psprt) { $psprt[0]='all'; } + if (($env{'form.part'}) && ($psprt[0] ne 'all')) { $psprt[0]=$env{'form.part'}; } my $pssymb=''; my $parmlev=''; @@ -2124,6 +2117,8 @@ sub assessparms { my $chome = $env{'course.'.$env{'request.course.id'}.'.home'}; my ($got_chostname,$chostname,$cmajor,$cminor); my $totalstored = 0; + + for (my $i=0;$i<=$#markers;$i++) { my ($needsrelease,$needsnewer,$name); if ($markers[$i] =~ /^[\d.]+\&0_availablestudent\&(1|2|3)$/) { @@ -2156,7 +2151,7 @@ sub assessparms { } } } - } elsif ($markers[$i] =~ /_(type|discussvote)\&\d+$/) { + } elsif ($markers[$i] =~ /_(type|lenient)\&\d+$/) { $name = $1; $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$values[$i]"}; @@ -2196,7 +2191,7 @@ sub assessparms { if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);} # ------------------------------------------------------------------ Start page - &startpage($r); + &startpage($r,$pssymb); foreach ('tolerance','date_default','date_start','date_end', 'date_interval','int','float','string') { @@ -2260,7 +2255,7 @@ COURSECONTENTSCRIPT # Step 2 $r->print(&Apache::lonhtmlcommon::topic_bar(2,&mt('Parameter Specification'))); - &displaymenu($r,\%allparms,\%allparts,\@pscat,\@psprt,\%keyorder); + &displaymenu($r,\%allparms,\@pscat,\@psprt,\%keyorder); # Step 3 $r->print(&Apache::lonhtmlcommon::topic_bar(3,&mt('User Specification (optional)'))); @@ -2272,7 +2267,7 @@ COURSECONTENTSCRIPT # Update Display Button $r->print('

' .'' + .' value="'.&mt('Update Display').'" />' .'' .'

'); $r->print(''); @@ -2288,6 +2283,7 @@ COURSECONTENTSCRIPT .'' .'

'); } else { + $r->print(); # parameter screen for a single resource. my ($map,$iid,$resource)=&Apache::lonnet::decode_symb($pssymb); my $title = &Apache::lonnet::gettitle($pssymb); @@ -2297,18 +2293,12 @@ COURSECONTENTSCRIPT '
'); $r->print(&Apache::lonhtmlcommon::topic_bar('',&mt('Additional Display Specification (optional)'))); $r->print(&Apache::lonhtmlcommon::start_pick_box()); - $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parts to View')). - ''); &usermenu($r,$uname,$id,$udom,$csec,$cgroup,$parmlev,\@usersgroups); $r->print(&Apache::lonhtmlcommon::row_closure(1)); $r->print(&Apache::lonhtmlcommon::end_pick_box()); $r->print('

' .'' + .' value="'.&mt('Update Display').'" />' .'' .'

'); } @@ -2334,6 +2324,9 @@ COURSECONTENTSCRIPT my $csudom=$env{'user.domain'}; if ($parmlev eq 'full') { +# +# This produces the cascading table output of parameters +# my $coursespan=$csec?8:5; my $userspan=3; if ($cgroup ne '') { @@ -2341,6 +2334,9 @@ COURSECONTENTSCRIPT } $r->print('

'); +# +# This produces the headers +# $r->print(''); $r->print(''); if ($uname) { @@ -2404,7 +2400,9 @@ ENDTABLEHEADFOUR } $r->print(''); - +# +# Done with the headers +# my $defbgone=''; my $defbgtwo=''; my $defbgthree = ''; @@ -2444,11 +2442,18 @@ ENDTABLEHEADFOUR my %default=(); my $uri=&Apache::lonnet::declutter($uris{$rid}); + my $filter=$env{'form.filter'}; foreach (&keysplit($keyp{$rid})) { my $tempkeyp = $_; if (grep $_ eq $tempkeyp, @catmarker) { + my $parmname=&Apache::lonnet::metadata($uri,$_.'.name'); +# We may only want certain parameters listed + if ($filter) { + unless ($filter=~/\Q$parmname\E/) { next; } + } + $name{$_}=$parmname; $part{$_}=&Apache::lonnet::metadata($uri,$_.'.part'); - $name{$_}=&Apache::lonnet::metadata($uri,$_.'.name'); + my $parmdis=&Apache::lonnet::metadata($uri,$_.'.display'); if ($allparms{$name{$_}} ne '') { my $identifier; @@ -2492,8 +2497,8 @@ ENDTABLEHEADFOUR $r->print(''); - foreach (&keysinorder_bytype(\%name,\%keyorder)) { + unless ($firstrow) { $r->print(''); } else { @@ -2724,7 +2729,9 @@ ENDMAPONE ); } # end of $parmlev eq general } - $r->print(''.&Apache::loncommon::end_page()); + $r->print(''); + &endSettingsScreen($r); + $r->print(&Apache::loncommon::end_page()); } # end sub assessparms ################################################## @@ -2803,13 +2810,13 @@ sub storedata { $typeof=$env{'form.typeof_'.$thiskey}; $text = &mt('Saved modified parameter for'); if ($typeof eq 'string_questiontype') { - $name = 'type'; - } elsif ($typeof eq 'string_discussvote') { - $name = 'discussvote'; + $name = 'type'; + } elsif ($typeof eq 'string_lenient') { + $name = 'lenient'; } if ($name ne '') { my ($needsrelease,$needsnewer); - $needsrelease = $Apache::lonnet::needsrelease{'parameter:type:'.$data}; + $needsrelease = $Apache::lonnet::needsrelease{"parameter:$name:$data"}; if ($needsrelease) { unless ($got_chostname) { ($chostname,$cmajor,$cminor)=¶meter_release_vars(); @@ -3131,10 +3138,10 @@ my %strings = [ 'randomizetry', 'New Randomization Each N Tries (default N=1)'], [ 'practice', 'Practice'], [ 'surveycred', 'Survey (credit for submission)']], - 'string_discussvote' - => [['yes','Yes'], - ['notended','Yes, unless discussion ended'], - ['no','No']], + 'string_lenient' + => [['yes', 'Yes' ], + [ 'no', 'No' ], + [ 'default', 'Default - only bubblesheet grading is lenient' ]] ); sub standard_string_options { @@ -3153,8 +3160,8 @@ sub string_selector { } my %skiptype; - if (($thistype eq 'string_questiontype') || - ($thistype eq 'string_discussvote')) { + if (($thistype eq 'string_questiontype') || + ($thistype eq 'string_lenient')) { my ($got_chostname,$chostname,$cmajor,$cminor); foreach my $possibilities (@{ $strings{$thistype} }) { next unless (ref($possibilities) eq 'ARRAY'); @@ -3174,6 +3181,7 @@ sub string_selector { } } } + my $result; my $numinrow = 3; @@ -3268,9 +3276,9 @@ sub newoverview { text=>"Overview Mode"}); my $start_page = &Apache::loncommon::start_page('Set Parameters'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview'); + $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset'); $r->print(< ENDOVER my @ids=(); @@ -3296,8 +3304,9 @@ ENDOVER my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); my $pschp=$env{'form.pschp'}; + my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); - if (!@psprt) { $psprt[0]='0'; } + if (!@psprt) { $psprt[0]='all'; } my @selected_sections = &Apache::loncommon::get_env_multiple('form.Section'); @@ -3343,10 +3352,7 @@ ENDOVER $r->print('
'); $r->print('
'); - $r->print(&Apache::lonhtmlcommon::start_pick_box()); - &parmmenu($r,\%allparms,\@pscat,\%keyorder); - $r->print(&Apache::lonhtmlcommon::end_pick_box()); - &parmboxes($r,\%allparms,\@pscat,\%keyorder); + &displaymenu($r,\%allparms,\@pscat,\%keyorder); $r->print(&Apache::lonhtmlcommon::start_pick_box()); $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Parts to View'))); $r->print('
'.&mt('Any User').'
'.$maptitles{$mapp{$rid}}.'
'. @@ -3396,7 +3402,9 @@ ENDOVER } $r->print(&tableend(). ((($env{'form.store'}) || ($env{'form.dis'}))?'

':''). - ''.&Apache::loncommon::end_page()); + ''); + &endSettingsScreen($r); + $r->print(&Apache::loncommon::end_page()); } sub secgroup_lister { @@ -3443,11 +3451,10 @@ sub overview { text=>"Overview Mode"}); my $start_page=&Apache::loncommon::start_page('Modify Parameters'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Overview'); - $r->print(< -ENDOVER + $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset'); + $r->print('
'); + # Store modified &storedata($r,$crs,$dom); @@ -3552,8 +3559,9 @@ ENDOVER } $r->print(&Apache::loncommon::end_data_table().'

'. ''. - '

'. - &Apache::loncommon::end_page()); + '

'); + &endSettingsScreen($r); + $r->print(&Apache::loncommon::end_page()); } sub date_shift_one { @@ -3565,15 +3573,14 @@ sub date_shift_one { text=>"Shifting Dates"}); my $start_page=&Apache::loncommon::start_page('Shift Dates'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift'); - $r->print(<print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset'); $r->print('
'. '
'. '
'.&mt('Currently set date:').''. &Apache::lonlocal::locallocaltime($env{'form.timebase'}).'
'.&mt('Shifted date:').''. - &Apache::lonhtmlcommon::date_setter('shiftform', + &Apache::lonhtmlcommon::dshowerfuck.net +ate_setter('shiftform', 'timeshifted', $env{'form.timebase'},, ''). @@ -3581,6 +3588,7 @@ ENDOVER ''. ''. ''); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3592,16 +3600,15 @@ sub date_shift_two { text=>"Shifting Dates"}); my $start_page=&Apache::loncommon::start_page('Shift Dates'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Shift'); - $r->print(<print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset'); my $timeshifted=&Apache::lonhtmlcommon::get_date_from_form('timeshifted'); $r->print(&mt('Shifting all dates such that [_1] becomes [_2]', &Apache::lonlocal::locallocaltime($env{'form.timebase'}), &Apache::lonlocal::locallocaltime($timeshifted))); my $delta=$timeshifted-$env{'form.timebase'}; &dateshift($delta); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -3646,7 +3653,7 @@ sub parse_key { sub header { - return &Apache::loncommon::start_page('Parameter Manager'); + return &Apache::loncommon::start_page('Settings'); } @@ -3655,7 +3662,8 @@ sub print_main_menu { my ($r,$parm_permission)=@_; # $r->print(&header()); - $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Manager')); + $r->print(&Apache::lonhtmlcommon::breadcrumbs('Content and Problem Settings')); + &startSettingsScreen($r,'parmset'); $r->print(< @@ -3670,7 +3678,7 @@ ENDMAINFORMHEAD my $lc_crstype = lc($crstype); my @menu = - ( { categorytitle=>"Settings for this $crstype", + ( { categorytitle=>"Content Settings for this $crstype", items => [ { linktext => 'Portfolio Metadata', url => '/adm/parmset?action=setrestrictmeta', @@ -3731,6 +3739,7 @@ ENDMAINFORMHEAD }]} ); $r->print(&Apache::lonhtmlcommon::generate_menu(@menu)); + &endSettingsScreen($r); return; } @@ -3806,6 +3815,7 @@ sub order_meta_fields { text=>"Restrict Metadata"}, {text=>"Order Metadata"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Order Metadata')); + &startSettingsScreen($r,'parmset'); if ($env{'form.storeorder'}) { my $newpos = $env{'form.newpos'} - 1; my $currentpos = $env{'form.currentpos'} - 1; @@ -3875,6 +3885,7 @@ sub order_meta_fields { $idx ++; } $r->print('
'); + &endSettingsScreen($r); return 'ok'; } @@ -3894,6 +3905,7 @@ sub addmetafield { text=>"Add Metadata Field"}); $r->print(&Apache::loncommon::start_page('Add Metadata Field')); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Add Metadata Field')); + &startSettingsScreen($r,'parmset'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; if (exists($env{'form.undelete'})) { @@ -3935,6 +3947,7 @@ sub addmetafield { $r->print(''); } $r->print(''); + &endSettingsScreen($r); } @@ -3949,6 +3962,7 @@ sub setrestrictmeta { text=>"Restrict Metadata"}); $r->print(&Apache::loncommon::start_page('Restrict Metadata')); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Restrict Metadata')); + &startSettingsScreen($r,'parmset'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; my $key_base = $env{'course.'.$env{'request.course.id'}.'.'}; @@ -4021,6 +4035,7 @@ ENDButtons $buttons ENDenv + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); return 'ok'; } @@ -4064,11 +4079,9 @@ sub defaultsetter { my $start_page = &Apache::loncommon::start_page('Parameter Setting Default Actions'); my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs('Defaults'); - $r->print(< -ENDDEFHEAD + $r->print($start_page.$breadcrumbs); + &startSettingsScreen($r,'parmset'); + $r->print('

'); my $dom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $crs = $env{'course.'.$env{'request.course.id'}.'.num'}; @@ -4213,8 +4226,9 @@ ENDYESNO } $r->print(&Apache::loncommon::end_data_table(). "\n".'
'."\n". - &Apache::loncommon::end_page()); + &mt('Save').'" />'."\n"); + &endSettingsScreen($r); + $r->print(&Apache::loncommon::end_page()); return; } @@ -4306,7 +4320,7 @@ sub parm_change_log { text=>"Parameter Change Log"}); $r->print(&Apache::loncommon::start_page('Parameter Change Log')); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Parameter Change Log')); - + &startSettingsScreen($r,'parmset'); my %parmlog=&Apache::lonnet::dump('nohist_parameterlog', $env{'course.'.$env{'request.course.id'}.'.domain'}, $env{'course.'.$env{'request.course.id'}.'.num'}); @@ -4474,6 +4488,7 @@ sub parm_change_log { || $shown<=$env{'form.show'})) { last; } } $r->print(&Apache::loncommon::end_data_table()); + &endSettingsScreen($r); $r->print(&Apache::loncommon::end_page()); } @@ -4597,8 +4612,8 @@ sub oldversion_warning { my ($name,$value,$chostname,$cmajor,$cminor,$needsrelease) = @_; my $desc; my %stringtypes = ( - type => 'string_questiontype', - discussvote => 'string_discussvote', + type => 'string_questiontype', + lenient => 'string_lenient' ); if (exists($stringtypes{$name})) { if (ref($strings{$stringtypes{$name}}) eq 'ARRAY') { @@ -4636,12 +4651,13 @@ sub handler { 'pres_marker', 'pres_value', 'pres_type', + 'filter','part', 'udom','uname','symb','serial','timebase']); &Apache::lonhtmlcommon::clear_breadcrumbs(); &Apache::lonhtmlcommon::add_breadcrumb({href=>"/adm/parmset", - text=>"Parameter Manager", + text=>"Content and Problem Settings", faq=>10, bug=>'Instructor Interface', help =>