--- loncom/interface/lonparmset.pm 2003/10/08 23:07:01 1.129 +++ loncom/interface/lonparmset.pm 2003/11/21 18:18:04 1.138 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.129 2003/10/08 23:07:01 www Exp $ +# $Id: lonparmset.pm,v 1.138 2003/11/21 18:18:04 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,7 +61,7 @@ use Apache::loncommon; use GDBM_File; use Apache::lonhomework; use Apache::lonxml; - +use Apache::lonlocal; my %courseopt; my %useropt; @@ -285,7 +285,7 @@ sub plink { sub startpage { - my ($r,$id,$udom,$csec,$uname,$have_assesments)=@_; + my ($r,$id,$udom,$csec,$uname,$have_assesments,$trimheader)=@_; my $bodytag=&Apache::loncommon::bodytag('Set/Modify Course Parameters','', 'onUnload="pclose()"'); @@ -293,6 +293,19 @@ sub startpage { &Apache::loncommon::selectstudent_link('parmform','uname','udom'); my $selscript=&Apache::loncommon::studentbrowser_javascript(); my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); + my %lt=&Apache::lonlocal::texthash( + 'cep' => "Course Environment Parameters", + 'scep' => "Set Course Environment Parameters", + 'smcap' => "Set/Modify Course Assessment Parameter", + 'mcap' => "Modify Course Assessment Parameters", + 'caphm' => "Course Assessment Parameter - Helper Mode", + 'capom' => "Course Assessment Parameters - Overview Mode", + 'captm' => "Course Assessments Parameters - Table Mode", + 'sg' => "Section/Group", + 'fu' => "For User", + 'oi' => "or ID", + 'ad' => "at Domain" + ); $r->print(< @@ -341,39 +354,44 @@ sub startpage { $selscript $bodytag +ENDHEAD + unless ($trimheader) {$r->print(< -

Course Environment Parameters

- +

$lt{'cep'}

+
-

Course Assessment Parameter - Helper Mode

- +

$lt{'caphm'}

+

-

Course Assessment Parameters - Overview Mode

- +

$lt{'capom'}

+

+ENDHEAD2 +} + $r->print(< -

Course Assessments Parameters - Table Mode

-ENDHEAD +

$lt{'captm'}

+ENDHEAD3 if (!$have_assesments) { - $r->print('There are no assesment parameters in this course to set.
'); + $r->print(''.&mt('There are no assesment parameters in this course to set.').'
'); } else { $r->print(< -Section/Group: +$lt{'sg'}:
-For User +$lt{'fu'} -or ID +$lt{'oi'} -at Domain +$lt{'ad'} $chooseopt @@ -472,21 +490,23 @@ sub print_row { } # end of $brief if/else } # end of $parmlev if/else - if ($parmlev eq 'full' || $parmlev eq 'brief') { - $r->print(''. + $r->print(''. &valout($outpar[$result],$typeoutpar[$result]).''); - } - my $sessionval=&Apache::lonnet::EXT('resource.'.$$part{$which}. + + if ($parmlev eq 'full' || $parmlev eq 'brief') { + my $sessionval=&Apache::lonnet::EXT('resource.'.$$part{$which}. '.'.$$name{$which},$symbp{$rid}); + # this doesn't seem to work, and I don't think is correct # my $sessionvaltype=&Apache::lonnet::EXT('resource.'.$$part{$which}. # '.'.$$name{$which}.'.type',$symbp{$rid}); # this seems to work - my $sessionvaltype=$typeoutpar[$result]; - if (!defined($sessionvaltype)) { $sessionvaltype=$$defaulttype{$which}; } - $r->print(''. + my $sessionvaltype=$typeoutpar[$result]; + if (!defined($sessionvaltype)) { $sessionvaltype=$$defaulttype{$which}; } + $r->print(''. &valout($sessionval,$sessionvaltype).' '. ''); + } $r->print(''); $r->print("\n"); } @@ -505,20 +525,6 @@ sub print_td { $r->print(''."\n"); } -sub get_env_multiple { - my ($name) = @_; - my @values; - if (defined($ENV{$name})) { - # exists is it an array - if (ref($ENV{$name})) { - @values=@{ $ENV{$name} }; - } else { - $values[0]=$ENV{$name}; - } - } - return(@values); -} - =pod =item B: Given the course data hash, extractResourceInformation extracts lots of information about the course's resources into a variety of hashes. @@ -680,14 +686,15 @@ sub assessparms { $udom=$ENV{'form.udom'}; unless ($udom) { $udom=$r->dir_config('lonDefDomain'); } - my @pscat=&get_env_multiple('form.pscat'); + my @pscat=&Apache::loncommon::get_env_multiple('form.pscat'); my $pschp=$ENV{'form.pschp'}; - my @psprt=&get_env_multiple('form.psprt'); + my @psprt=&Apache::loncommon::get_env_multiple('form.psprt'); if (!@psprt) { $psprt[0]='0'; } my $showoptions=$ENV{'form.showoptions'}; my $pssymb=''; my $parmlev=''; + my $trimheader=''; my $prevvisit=$ENV{'form.prevvisit'}; # unless ($parmlev==$ENV{'form.parmlev'}) { @@ -710,11 +717,13 @@ sub assessparms { if (!@pscat) { @pscat=('all'); } $pschp=''; $parmlev = 'full'; + $trimheader='yes'; } elsif ($ENV{'form.symb'}) { $pssymb=$ENV{'form.symb'}; if (!@pscat) { @pscat=('all'); } $pschp=''; $parmlev = 'full'; + $trimheader='yes'; } else { $ENV{'form.url'}=''; } @@ -726,7 +735,8 @@ sub assessparms { $id=''; } else { $message= - "Unknown ID '$id' at domain '$udom'"; + "".&mt("Unknown ID")." '$id' ". + &mt('at domain')." '$udom'"; } } else { $uname=$ENV{'form.uname'}; @@ -737,24 +747,25 @@ sub assessparms { $uhome=&Apache::lonnet::homeserver($uname,$udom); if ($uhome eq 'no_host') { $message= - "Unknown user '$uname' at domain '$udom'"; + "".&mt("Unknown user")." '$uname' ". + &mt("at domain")." '$udom'"; $uname=''; } else { $csec=&Apache::lonnet::getsection($udom,$uname, $ENV{'request.course.id'}); if ($csec eq '-1') { $message="". - "User '$uname' at domain '$udom' not ". - "in this course"; + &mt("User")." '$uname' ".&mt("at domain")." '$udom' ". + &mt("not in this course").""; $uname=''; $csec=$ENV{'form.csec'}; } else { my %name=&Apache::lonnet::userenvironment($udom,$uname, ('firstname','middlename','lastname','generation','id')); - $message="\n

\nFull Name: ". + $message="\n

\n".&mt("Full Name").": ". $name{'firstname'}.' '.$name{'middlename'}.' ' .$name{'lastname'}.' '.$name{'generation'}. - "
\nID: ".$name{'id'}.'

'; + "
\n".&mt('ID').": ".$name{'id'}.'

'; } } } @@ -864,7 +875,7 @@ sub assessparms { $message.="Write Error: $1"; } # ---------------------------------------------------------------- Done storing - $message.='

Changes can take up to 10 minutes before being active for all students.'.&Apache::loncommon::help_open_topic('Caching').'

'; + $message.='

'.&mt('Changes can take up to 10 minutes before being active for all students.').&Apache::loncommon::help_open_topic('Caching').'

'; } # --------------------------------------------- Devalidate cache for this child &Apache::lonnet::devalidatecourseresdata( @@ -902,7 +913,7 @@ sub assessparms { my $have_assesments=1; if (scalar(keys(%allkeys)) eq 0) { $have_assesments=0; } - &startpage($r,$id,$udom,$csec,$uname,$have_assesments); + &startpage($r,$id,$udom,$csec,$uname,$have_assesments,$trimheader); if (!$have_assesments) { untie(%bighash); @@ -923,9 +934,9 @@ sub assessparms { $r->print('

'.$message.'

'); - my $submitmessage = 'Update Section or Specific User'; + my $submitmessage = &mt('Update Section or Specific User'); if (!$pssymb) { - $r->print(''); if ($parmlev ne 'general') { - $r->print(''); + $r->print(''); $r->print('"); + $r->print(""); $r->print(''); $r->print(''); $r->print(''); @@ -958,7 +969,7 @@ sub assessparms { $r->print(''); + $r->print(' name="showoptions" value="show">'.&mt('Show More Options').'
'); # $r->print(""); # $r->print(""); # $r->print(""); @@ -967,12 +978,12 @@ sub assessparms { if ($showoptions eq 'show') { my $tempkey; - $r->print(''); + $r->print(''); $r->print('
Select Parameter Level'); + $r->print('
'.&mt('Select Parameter Level').''); $r->print('
Select Enclosing Map or Folder
'.&mt('Select Enclosing Map or Folder').'
Specific Resource$resource
".&mt('Specific Resource')."$resource

print(" checked ");} - $r->print(' name="showoptions" value="show">Show More Options
Show: $showoptions
pscat: @pscat
psprt: @psprt
Select Parameters to View
'.&mt('Select Parameters to View').'
'); $r->print(''); + $r->print('>'.&mt('All Parameters').''); my $cnt=0; foreach $tempkey (sort { $allparms{$a} cmp $allparms{$b} } @@ -992,7 +1003,7 @@ sub assessparms { $r->print(''); - $r->print('
print(' checked') unless (@pscat); - $r->print('>All Parameters

Sort list by'); + $r->print('
'.&mt('Sort list by').''); $r->print('

'); if (($prevvisit) || ($pschp) || ($pssymb)) { - $submitmessage = "Update Course Assessment Parameter Display"; + $submitmessage = &mt("Update Course Assessment Parameter Display"); } else { - $submitmessage = "Set/Modify Course Assessment Parameters"; + $submitmessage = &mt("Set/Modify Course Assessment Parameters"); } $r->print(''); @@ -1076,33 +1087,51 @@ sub assessparms { my $coursespan=$csec?8:5; $r->print('

'); $r->print(''); - $r->print(''); + $r->print(''); if ($uname) { $r->print(""); + $r->print(&mt("User")." $uname ".&mt('at Domain')." $udom"); } + my %lt=&Apache::lonlocal::texthash( + 'pie' => "Parameter in Effect", + 'csv' => "Current Session Value", + 'at' => 'at', + 'rl' => "Resource Level", + 'ic' => 'in Course', + 'aut' => "Assessment URL and Title", + 'type' => 'Type', + 'emof' => "Enclosing Map or Folder", + 'part' => 'Part', + 'pn' => 'Parameter Name', + 'def' => 'default', + 'femof' => 'from Enclosing Map or Folder', + 'gen' => 'general', + 'foremf' => 'for Enclosing Map or Folder', + 'fr' => 'for Resource' + ); $r->print(<Parameter in Effect - - - + + + + ENDTABLETWO if ($csec) { - $r->print(""); + $r->print(""); } $r->print(< - - - + + + + ENDTABLEHEADFOUR if ($csec) { - $r->print(''); + $r->print(''); } if ($uname) { - $r->print(''); + $r->print(''); } $r->print(''); @@ -1264,12 +1293,12 @@ ENDTABLEHEADFOUR } # end loop through ids #---------------------------------------------------- print header information - my $foldermap=($maptitle=~/^uploaded/?'Folder':'Map'); + my $foldermap=&mt($maptitle=~/^uploaded/?'Folder':'Map'); my $showtitle=$maptitles{$maptitle}.($maptitle!~/^uploaded/?' ['.$maptitle.']':''); $r->print(<

-Set Defaults for All Resources in $foldermap
-$showtitle
+Set Defaults for All Resources in $foldermap
+$showtitle
Specifically for ENDMAPONE if ($uname) { @@ -1277,20 +1306,22 @@ ENDMAPONE ('firstname','middlename','lastname','generation', 'id')); my $person=$name{'firstname'}.' '.$name{'middlename'}.' ' .$name{'lastname'}.' '.$name{'generation'}; - $r->print("User $uname \($person\) in \n"); + $r->print(&mt("User")." $uname \($person\) ". + &mt('in')." \n"); } else { - $r->print("all users in \n"); + $r->print("".&mt('all').' '.&mt('users in')." \n"); } - if ($csec) {$r->print("Section $csec of \n")}; + if ($csec) {$r->print(&mt("Section")." $csec ". + &mt('of')." \n")}; - $r->print("$coursename
"); - $r->print("

\n"); + $r->print("$coursename
"); + $r->print("\n"); #---------------------------------------------------------------- print table $r->print('

Any User'.&mt('Any User').'"); - $r->print("User $uname at Domain $udomCurrent Session Value
($csuname at $csudom)
Resource Levelin Course$lt{'pie'}$lt{'csv'}
($csuname $lt{'at'} $csudom)
$lt{'rl'}$lt{'ic'}in Section/Group $csec". + &mt("in Section/Group")." $csec
Assessment URL and TitleTypeEnclosing Map or FolderPartParameter Namedefaultfrom Enclosing Map or Foldergeneralfor Enclosing Map or Folderfor Resource
$lt{'aut'}$lt{'type'}$lt{'emof'}$lt{'part'}$lt{'pn'}$lt{'def'}$lt{'femof'}$lt{'gen'}$lt{'foremf'}$lt{'fr'}generalfor Enclosing Map or Folderfor Resource'.&mt('general').''.&mt('for Enclosing Map or Folder').''.&mt('for Resource').'generalfor Enclosing Map or Folderfor Resource'.&mt('general').''.&mt('for Enclosing Map or Folder').''.&mt('for Resource').'
'); - $r->print(''); - $r->print(''); - $r->print(''); + $r->print(''); + $r->print(''); + $r->print(''); foreach (sort keys %name) { &print_row($r,$_,\%part,\%name,$mapid,\%default, @@ -1346,28 +1377,28 @@ ENDMAPONE } # end loop through ids #---------------------------------------------------- print header information + my $setdef=&mt("Set Defaults for All Resources in Course"); $r->print(<

-Set Defaults for All Resources in Course -$coursename
+

$setdef +$coursename
ENDMAPONE if ($uname) { my %name=&Apache::lonnet::userenvironment($udom,$uname, ('firstname','middlename','lastname','generation', 'id')); my $person=$name{'firstname'}.' '.$name{'middlename'}.' ' .$name{'lastname'}.' '.$name{'generation'}; - $r->print(" User $uname \($person\) \n"); + $r->print(" ".&mt("User")." $uname \($person\) \n"); } else { - $r->print("ALL USERS \n"); + $r->print(" ".&mt("ALL")." ".&mt("USERS")." \n"); } - if ($csec) {$r->print("Section $csec\n")}; - $r->print("

\n"); + if ($csec) {$r->print(&mt("Section")." $csec\n")}; + $r->print("

\n"); #---------------------------------------------------------------- print table $r->print('

Parameter NameDefault ValueParameter in Effect
'.&mt('Parameter Name').''.&mt('Default Value').''.&mt('Parameter in Effect').'
'); - $r->print(''); - $r->print(''); - $r->print(''); + $r->print(''); + $r->print(''); + $r->print(''); foreach (sort keys %name) { &print_row($r,$_,\%part,\%name,$mapid,\%default, @@ -1423,7 +1454,7 @@ sub crsenv { my $bkuptime=time; my @tmp = &Apache::lonnet::get ('environment',['url'],$dom,$crs); - $setoutput.='Backing up previous URL: '. + $setoutput.=&mt('Backing up previous URL').': '. &Apache::lonnet::put ('environment', {'top level map backup '.$bkuptime => $tmp[1] }, @@ -1462,10 +1493,10 @@ sub crsenv { my $put_result = &Apache::lonnet::put('environment', {$name=>$value},$dom,$crs); if ($put_result eq 'ok') { - $setoutput.='Set '.$name.' to '.$value.'.
'; + $setoutput.=&mt('Set').' '.$name.' '.&mt('to').' '.$value.'.
'; } else { - $setoutput.='Unable to set '.$name.' to '. - ''.$value.' due to '.$put_result.'.
'; + $setoutput.=&mt('Unable to set').' '.$name.' '.&mt('to'). + ' '.$value.' '.&mt('due to').' '.$put_result.'.
'; } } } @@ -1489,8 +1520,8 @@ sub crsenv { 'courseid' => 'Course ID or number
'. '(internal, optional)', 'grading' => 'Grading'. - '"standard" or any other value. '. - 'Default for new courses is "standard".', + '"standard", "external", or any other value.'. + ' Default for new courses is "standard".', 'default_xml_style' => 'Default XML Style File '. '
'. '
'; + return '
Parameter NameDefault ValueParameter in Effect
'.&mt('Parameter Name').''.&mt('Default Value').''.&mt('Parameter in Effect').'
'. '
ParameterDeleteSet to ...
'; } } @@ -1738,17 +1770,17 @@ ENDOVER if ($resourcedata{$thiskey.'.type'}) { my ($course,$middle,$part,$name)= ($thiskey=~/^(\w+)\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); - my $section='All Students'; + my $section=&mt('All Students'); if ($middle=~/^\[(.*)\]\./) { - $section='Group/Section: '.$1; + $section=&mt('Group/Section').': '.$1; $middle=~s/^\[(.*)\]\.//; } $middle=~s/\.$//; - my $realm='All Resources'; + my $realm=''.&mt('All Resources').''; if ($middle=~/^(.+)\_\_\_\(all\)$/) { - $realm='Folder/Map: '.&Apache::lonnet::gettitle($1).''; + $realm=''.&mt('Folder/Map').': '.&Apache::lonnet::gettitle($1).''; } elsif ($middle) { - $realm='Resource: '.&Apache::lonnet::gettitle($middle).''; + $realm=''.&mt('Resource').': '.&Apache::lonnet::gettitle($middle).''; } if ($section ne $oldsection) { $r->print(&tableend()."\n

$section

"); @@ -1762,7 +1794,7 @@ ENDOVER } if ($part ne $oldpart) { $r->print(&tableend(). - "\n

Part: $part

"); + "\n

".&mt('Part').": $part

"); $oldpart=$part; } # @@ -1790,7 +1822,7 @@ ENDOVER } $r->print(&tableend(). - '

'); + '

'); } ################################################## @@ -1817,6 +1849,20 @@ sub handler { } &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); +# ----------------------------------------------------------- Clear out garbage + + %courseopt=(); + %useropt=(); + %parmhash=(); + + @ids=(); + %symbp=(); + %mapp=(); + %typep=(); + %keyp=(); + + %maptitles=(); + # ----------------------------------------------------- Needs to be in a course if (($ENV{'request.course.id'}) &&
'.&mt('Parameter').''. + &mt('Delete').''.&mt('Set to ...').'