Diff for /loncom/interface/lonparmset.pm between versions 1.71 and 1.95.2.1

version 1.71, 2002/10/01 07:09:05 version 1.95.2.1, 2003/06/04 18:23:54
Line 56  package Apache::lonparmset; Line 56  package Apache::lonparmset;
 use strict;  use strict;
 use Apache::lonnet;  use Apache::lonnet;
 use Apache::Constants qw(:common :http REDIRECT);  use Apache::Constants qw(:common :http REDIRECT);
   use Apache::lonhtmlcommon();
 use Apache::loncommon;  use Apache::loncommon;
   use Apache::lonmenu;
 use GDBM_File;  use GDBM_File;
 use Apache::lonhomework;  use Apache::lonhomework;
 use Apache::lonxml;  use Apache::lonxml;
Line 72  my %mapp; Line 74  my %mapp;
 my %typep;  my %typep;
 my %keyp;  my %keyp;
   
   my %maptitles;
   
 my $uname;  my $uname;
 my $udom;  my $udom;
 my $uhome;  my $uhome;
Line 96  Returns:  A list, the first item is the Line 100  Returns:  A list, the first item is the
 11- resource default  11- resource default
 10- map default  10- map default
 9 - General Course  9 - General Course
 8 - Map level in course  8 - Map or Folder level in course
 7 - resource level in course  7 - resource level in course
 6 - General for section  6 - General for section
 5 - Map level for section  5 - Map or Folder level for section
 4 - resource level in section  4 - resource level in section
 3 - General for specific student  3 - General for specific student
 2 - Map level for specific student  2 - Map or Folder level for specific student
 1 - resource level for specific student  1 - resource level for specific student
   
 =cut  =cut
Line 283  sub plink { Line 287  sub plink {
   
 sub startpage {  sub startpage {
     my ($r,$id,$udom,$csec,$uname)=@_;      my ($r,$id,$udom,$csec,$uname)=@_;
     $r->content_type('text/html');  
     $r->send_http_header;  
     
     my $bodytag=&Apache::loncommon::bodytag('Set Course Parameters','',      my $bodytag=&Apache::lonmenu::registerurl().
                                             'onUnload="pclose()"');                  &Apache::loncommon::bodytag('Set Course Parameters','',
                                               'onUnload="'.
          &Apache::lonmenu::unloadevents().';pclose();" onLoad="'.
          &Apache::lonmenu::loadevents().'"').
          &Apache::lonmenu::regflush();
       my $chooseopt=&Apache::loncommon::select_dom_form($udom,'udom').' '.
           &Apache::loncommon::selectstudent_link('parmform','uname','udom');
       my $selscript=&Apache::loncommon::studentbrowser_javascript();
       my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
     $r->print(<<ENDHEAD);      $r->print(<<ENDHEAD);
 <html>  <html>
 <head>  <head>
Line 300  sub startpage { Line 310  sub startpage {
         parmwin.close();          parmwin.close();
     }      }
   
     function pjump(type,dis,value,marker,ret,call) {      $pjump_def
         document.parmform.pres_marker.value='';  
         parmwin=window.open("/adm/rat/parameter.html?type="+escape(type)  
                  +"&value="+escape(value)+"&marker="+escape(marker)  
                  +"&return="+escape(ret)  
                  +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms",  
                  "height=350,width=350,scrollbars=no,menubar=no");  
   
     }  
   
     function psub() {      function psub() {
         pclose();          pclose();
Line 341  sub startpage { Line 343  sub startpage {
         newWin.focus();          newWin.focus();
     }      }
 </script>  </script>
   $selscript
 </head>  </head>
 $bodytag  $bodytag
   
   <!--<a href="/adm/helper/parameter.helper">Use Assignment Parameter Helper</a>, a
   simpler interface to set open, due, or answer open dates for problems or sequences.-->
   
 <form method="post" action="/adm/parmset" name="envform">  <form method="post" action="/adm/parmset" name="envform">
 <h3>Course Environment</h3>  <h3>Course Environment</h3>
 <input type="submit" name="crsenv" value="Set Course Environment">  <input type="submit" name="crsenv" value="Set Course Environment">
Line 358  For User Line 365  For User
 or ID  or ID
 <input type="text" value="$id" size="12" name="id">   <input type="text" value="$id" size="12" name="id"> 
 at Domain   at Domain 
 <input type="text" value="$udom" size="6" name="udom">  $chooseopt
 </b>  </b>
 <input type="hidden" value='' name="pres_value">  <input type="hidden" value='' name="pres_value">
 <input type="hidden" value='' name="pres_type">  <input type="hidden" value='' name="pres_type">
Line 467  sub print_row { Line 474  sub print_row {
 #                                      '.'.$$name{$which}.'.type',$symbp{$rid});  #                                      '.'.$$name{$which}.'.type',$symbp{$rid});
 # this seems to work  # this seems to work
     my $sessionvaltype=$typeoutpar[$result];      my $sessionvaltype=$typeoutpar[$result];
       if (!defined($sessionvaltype)) { $sessionvaltype=$$defaulttype{$which}; }
     $r->print('<td bgcolor=#999999 align="center"><font color=#FFFFFF>'.      $r->print('<td bgcolor=#999999 align="center"><font color=#FFFFFF>'.
                   &valout($sessionval,$sessionvaltype).'&nbsp;'.                    &valout($sessionval,$sessionvaltype).'&nbsp;'.
                   '</font></td>');                    '</font></td>');
Line 543  sub extractResourceInformation { Line 551  sub extractResourceInformation {
     my $defp = shift;      my $defp = shift;
     my $mapp = shift;      my $mapp = shift;
     my $symbp = shift;      my $symbp = shift;
       my $maptitles=shift;
   
     foreach (keys %$bighash) {      foreach (keys %$bighash) {
  if ($_=~/^src\_(\d+)\.(\d+)$/) {   if ($_=~/^src\_(\d+)\.(\d+)$/) {
Line 583  sub extractResourceInformation { Line 592  sub extractResourceInformation {
     &Apache::lonnet::declutter($$bighash{'map_id_'.$mapid});      &Apache::lonnet::declutter($$bighash{'map_id_'.$mapid});
                 $$mapp{$mapid}=$$mapp{$id};                  $$mapp{$mapid}=$$mapp{$id};
  $$allmaps{$mapid}=$$mapp{$id};   $$allmaps{$mapid}=$$mapp{$id};
    $$maptitles{$mapid}=
    $$bighash{'title_'.$$bighash{'ids_'.&Apache::lonnet::clutter($$mapp{$id})}};
    $$maptitles{$$mapp{$id}}=$$maptitles{$mapid};
  $$symbp{$id}=$$mapp{$id}.   $$symbp{$id}=$$mapp{$id}.
  '___'.$resid.'___'.   '___'.$resid.'___'.
     &Apache::lonnet::declutter($srcf);      &Apache::lonnet::declutter($srcf);
Line 656  sub assessparms { Line 668  sub assessparms {
     my @pscat=&get_env_multiple('form.pscat');      my @pscat=&get_env_multiple('form.pscat');
     my $pschp=$ENV{'form.pschp'};      my $pschp=$ENV{'form.pschp'};
     my @psprt=&get_env_multiple('form.psprt');      my @psprt=&get_env_multiple('form.psprt');
       if (!@psprt) { $psprt[0]='0'; }
     my $showoptions=$ENV{'form.showoptions'};      my $showoptions=$ENV{'form.showoptions'};
   
     my $pssymb='';      my $pssymb='';
Line 679  sub assessparms { Line 692  sub assessparms {
  my $url=$ENV{'form.url'};   my $url=$ENV{'form.url'};
  $url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;   $url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
  $pssymb=&Apache::lonnet::symbread($url);   $pssymb=&Apache::lonnet::symbread($url);
  @pscat='all';   if (!@pscat) { @pscat=('all'); }
  $pschp='';   $pschp='';
         $parmlev = 'full';          $parmlev = 'full';
     } elsif ($ENV{'form.symb'}) {      } elsif ($ENV{'form.symb'}) {
  $pssymb=$ENV{'form.symb'};   $pssymb=$ENV{'form.symb'};
  @pscat='all';   if (!@pscat) { @pscat=('all'); }
  $pschp='';   $pschp='';
         $parmlev = 'full';          $parmlev = 'full';
     } else {      } else {
Line 749  sub assessparms { Line 762  sub assessparms {
     }      }
   
 # --------------------------------------------------------- Get all assessments  # --------------------------------------------------------- Get all assessments
     extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp);      extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp,\%maptitles);
   
     $mapp{'0.0'} = '';      $mapp{'0.0'} = '';
     $symbp{'0.0'} = '';      $symbp{'0.0'} = '';
Line 778  sub assessparms { Line 791  sub assessparms {
  if ($snum==5) { $storeunder=$seclevelm; }   if ($snum==5) { $storeunder=$seclevelm; }
  if ($snum==4) { $storeunder=$seclevelr; }   if ($snum==4) { $storeunder=$seclevelr; }
   
    my $delete;
    if ($ENV{'form.pres_value'} eq '') { $delete=1;}
         my %storecontent = ($storeunder         => $ENV{'form.pres_value'},          my %storecontent = ($storeunder         => $ENV{'form.pres_value'},
                             $storeunder.'.type' => $ENV{'form.pres_type'});                              $storeunder.'.type' => $ENV{'form.pres_type'});
  my $reply='';   my $reply='';
Line 794  sub assessparms { Line 809  sub assessparms {
  &Apache::lonnet::expirespread('','','assesscalc');   &Apache::lonnet::expirespread('','','assesscalc');
     }      }
 # Store parameter  # Store parameter
             $reply=&Apache::lonnet::cput      if ($delete) {
                 ('resourcedata',\%storecontent,   $reply=&Apache::lonnet::del
                  $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},      ('resourcedata',[keys(%storecontent)],
                  $ENV{'course.'.$ENV{'request.course.id'}.'.num'});       $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
        $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
       } else {
    $reply=&Apache::lonnet::cput
       ('resourcedata',\%storecontent,
        $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
        $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
       }
  } else {   } else {
 # ------------------------------------------------------------------ Store User  # ------------------------------------------------------------------ Store User
 #  #
Line 813  sub assessparms { Line 835  sub assessparms {
  &Apache::lonnet::expirespread($uname,$udom,'assesscalc');   &Apache::lonnet::expirespread($uname,$udom,'assesscalc');
     }      }
 # Store parameter  # Store parameter
     $reply=&Apache::lonnet::cput      if ($delete) {
                 ('resourcedata',\%storecontent,$udom,$uname);   $reply=&Apache::lonnet::del
       ('resourcedata',[keys(%storecontent)],$udom,$uname);
       } else {
    $reply=&Apache::lonnet::cput
       ('resourcedata',\%storecontent,$udom,$uname);
       }
  }   }
   
  if ($reply=~/^error\:(.*)/) {   if ($reply=~/^error\:(.*)/) {
     $message.="<font color=red>Write Error: $1</font>";      $message.="<font color=red>Write Error: $1</font>";
  }   }
 # ---------------------------------------------------------------- Done storing  # ---------------------------------------------------------------- Done storing
    $message.='<h3>Changes can take up to 10 minutes before being active for all students</h3>';
     }      }
 # --------------------------------------------- Devalidate cache for this child  # --------------------------------------------- Devalidate cache for this child
         &Apache::lonnet::devalidatecourseresdata(          &Apache::lonnet::devalidatecourseresdata(
Line 893  sub assessparms { Line 921  sub assessparms {
   
         $r->print('</tr><tr><td><hr /></td>');          $r->print('</tr><tr><td><hr /></td>');
   
         $r->print('<tr><td>Select Enclosing Map</td>');          $r->print('<tr><td>Select Enclosing Map or Folder</td>');
         $r->print('<td colspan="2"><select name="pschp">');          $r->print('<td colspan="2"><select name="pschp">');
         $r->print('<option value="all">All Maps</option>');          $r->print('<option value="all">All Maps or Folders</option>');
         foreach (sort {$allmaps{$a} cmp $allmaps{$b}} keys %allmaps) {          foreach (sort {$allmaps{$a} cmp $allmaps{$b}} keys %allmaps) {
             $r->print('<option value="'.$_.'"');              $r->print('<option value="'.$_.'"');
             if (($pschp eq $_)) { $r->print(' selected'); }              if (($pschp eq $_)) { $r->print(' selected'); }
             $r->print('>/res/'.$allmaps{$_}.'</option>');              $r->print('>'.$maptitles{$_}.($allmaps{$_}!~/^uploaded/?'  ['.$allmaps{$_}.']':'').'</option>');
         }          }
         $r->print("</select></td></tr>\n");          $r->print("</select></td></tr>\n");
     } else {      } else {
Line 929  sub assessparms { Line 957  sub assessparms {
         $r->print('>All Parameters</td>');          $r->print('>All Parameters</td>');
   
         my $cnt=0;          my $cnt=0;
   
         foreach $tempkey (sort { $allparms{$a} cmp $allparms{$b} }          foreach $tempkey (sort { $allparms{$a} cmp $allparms{$b} }
                       keys %allparms ) {                        keys %allparms ) {
             ++$cnt;              ++$cnt;
Line 948  sub assessparms { Line 975  sub assessparms {
         $r->print('<option value="all"');          $r->print('<option value="all"');
         $r->print(' selected') unless (@psprt);          $r->print(' selected') unless (@psprt);
         $r->print('>All Parts</option>');          $r->print('>All Parts</option>');
           my %temphash=();
           foreach (@psprt) { $temphash{$_}=1; }
         foreach $tempkey (sort keys %allparts) {          foreach $tempkey (sort keys %allparts) {
             unless ($tempkey =~ /\./) {              unless ($tempkey =~ /\./) {
                 $r->print('<option value="'.$tempkey.'"');                  $r->print('<option value="'.$tempkey.'"');
                 if ($psprt[0] eq "all" ||  grep $_ == $tempkey, @psprt) {                  if ($psprt[0] eq "all" ||  $temphash{$tempkey}) {
                     $r->print(' selected');                      $r->print(' selected');
                 }                  }
                 $r->print('>'.$allparts{$tempkey}.'</option>');                  $r->print('>'.$allparts{$tempkey}.'</option>');
Line 961  sub assessparms { Line 990  sub assessparms {
   
         $r->print('<tr><td>Sort list by</td><td>');          $r->print('<tr><td>Sort list by</td><td>');
         $r->print('<select name="fcat">');          $r->print('<select name="fcat">');
         $r->print('<option value="">Enclosing Map</option>');          $r->print('<option value="">Enclosing Map or Folder</option>');
         foreach (sort keys %allkeys) {          foreach (sort keys %allkeys) {
             $r->print('<option value="'.$_.'"');              $r->print('<option value="'.$_.'"');
             if ($fcat eq $_) { $r->print(' selected'); }              if ($fcat eq $_) { $r->print(' selected'); }
Line 998  sub assessparms { Line 1027  sub assessparms {
     }      }
     $r->print('</table>');      $r->print('</table>');
   
     my @temp_psprt;  #    my @temp_psprt;
     foreach my $t (@psprt) {  #    foreach my $t (@psprt) {
  push(@temp_psprt, grep {eval (/^$t\./ || ($_ == $t))} (keys %allparts));  # push(@temp_psprt, grep {eval (/^$t\./ || ($_ == $t))} (keys %allparts));
     }  #    }
   
     @psprt = @temp_psprt;  #    @psprt = @temp_psprt;
   
     my @temp_pscat;      my @temp_pscat;
     map {      map {
Line 1041  ENDTABLETWO Line 1070  ENDTABLETWO
            }             }
            $r->print(<<ENDTABLEHEADFOUR);             $r->print(<<ENDTABLEHEADFOUR);
 </tr><tr><th>Assessment URL and Title</th><th>Type</th>  </tr><tr><th>Assessment URL and Title</th><th>Type</th>
 <th>Enclosing Map</th><th>Part No.</th><th>Parameter Name</th>  <th>Enclosing Map or Folder</th><th>Part No.</th><th>Parameter Name</th>
 <th>default</th><th>from Enclosing Map</th>  <th>default</th><th>from Enclosing Map or Folder</th>
 <th>general</th><th>for Enclosing Map</th><th>for Resource</th>  <th>general</th><th>for Enclosing Map or Folder</th><th>for Resource</th>
 ENDTABLEHEADFOUR  ENDTABLEHEADFOUR
   
            if ($csec) {             if ($csec) {
                $r->print('<th>general</th><th>for Enclosing Map</th><th>for Resource</th>');                 $r->print('<th>general</th><th>for Enclosing Map or Folder</th><th>for Resource</th>');
            }             }
   
            if ($uname) {             if ($uname) {
                $r->print('<th>general</th><th>for Enclosing Map</th><th>for Resource</th>');                 $r->print('<th>general</th><th>for Enclosing Map or Folder</th><th>for Resource</th>');
            }             }
   
            $r->print('</tr>');             $r->print('</tr>');
Line 1195  ENDTABLEHEADFOUR Line 1224  ENDTABLEHEADFOUR
                     foreach (split(/\,/,$keyp{$rid})) {                      foreach (split(/\,/,$keyp{$rid})) {
                       my $tempkeyp = $_;                        my $tempkeyp = $_;
                       my $fullkeyp = $tempkeyp;                        my $fullkeyp = $tempkeyp;
                       $tempkeyp =~ s/_[\d_]+_/_0_/;                        $tempkeyp =~ s/_\w+_/_0_/;
                                               
                       if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {                        if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {
                         $part{$tempkeyp}="0";                          $part{$tempkeyp}="0";
Line 1203  ENDTABLEHEADFOUR Line 1232  ENDTABLEHEADFOUR
                         $display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display');                          $display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display');
                         unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; }                          unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; }
                         $display{$tempkeyp}.=' ('.$name{$tempkeyp}.')';                          $display{$tempkeyp}.=' ('.$name{$tempkeyp}.')';
                         $display{$tempkeyp} =~ s/_[\d_]+_/_0_/;                          $display{$tempkeyp} =~ s/_\w+_/_0_/;
                         $default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp);                          $default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp);
                         $type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type');                          $type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type');
                       }                        }
Line 1212  ENDTABLEHEADFOUR Line 1241  ENDTABLEHEADFOUR
                 } # end loop through ids                  } # end loop through ids
                                                                     
 #---------------------------------------------------- print header information  #---------------------------------------------------- print header information
                   my $foldermap=($maptitle=~/^uploaded/?'Folder':'Map');
                   my $showtitle=$maptitles{$maptitle}.($maptitle!~/^uploaded/?' ['.$maptitle.']':'');
                 $r->print(<<ENDMAPONE);                  $r->print(<<ENDMAPONE);
 <center><h4>  <center><h4>
 <font color="red">Set Defaults for All Resources in map  <font color="red">Set Defaults for All Resources in $foldermap<br />
 <i>$maptitle</i><br />  <i>$showtitle</i><br />
 Specifically for  Specifically for
 ENDMAPONE  ENDMAPONE
                 if ($uname) {                  if ($uname) {
Line 1277  ENDMAPONE Line 1308  ENDMAPONE
                 foreach (split(/\,/,$keyp{$rid})) {                  foreach (split(/\,/,$keyp{$rid})) {
                   my $tempkeyp = $_;                    my $tempkeyp = $_;
                   my $fullkeyp = $tempkeyp;                    my $fullkeyp = $tempkeyp;
                   $tempkeyp =~ s/_[\d_]+_/_0_/;                    $tempkeyp =~ s/_\w+_/_0_/;
                   if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {                    if ((grep $_ eq $fullkeyp, @catmarker) &&(!$name{$tempkeyp})) {
                     $part{$tempkeyp}="0";                      $part{$tempkeyp}="0";
                     $name{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.name');                      $name{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.name');
                     $display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display');                      $display{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.display');
                     unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; }                      unless ($display{$tempkeyp}) { $display{$tempkeyp}=''; }
                     $display{$tempkeyp}.=' ('.$name{$tempkeyp}.')';                      $display{$tempkeyp}.=' ('.$name{$tempkeyp}.')';
                     $display{$tempkeyp} =~ s/_[\d_]+_/_0_/;                      $display{$tempkeyp} =~ s/_\w+_/_0_/;
                     $default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp);                      $default{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp);
                     $type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type');                      $type{$tempkeyp}=&Apache::lonnet::metadata($uri,$fullkeyp.'.type');
                   }                    }
Line 1374  sub crsenv { Line 1405  sub crsenv {
                          $dom,$crs).                           $dom,$crs).
                     '<br>';                      '<br>';
             }              }
               if ($name =~ /^spreadsheet_default_(classcalc|
                                                   studentcalc|
                                                   assesscalc)$/x) {
                   my $sheettype = $1; 
                   if ($sheettype eq 'classcalc') {
                       # no need to do anything since viewing the sheet will
                       # cause it to be updated. 
                   } elsif ($sheettype eq 'studentcalc') {
                       # expire all the student spreadsheets
                       &Apache::lonnet::expirespread('','','studentcalc');
                   } else {
                       # expire all the default assessment spreadsheets
                   }
               }
   
             if ($name) {              if ($name) {
                 $setoutput.='Setting <tt>'.$name.'</tt> to <tt>'.                  $setoutput.='Setting <tt>'.$name.'</tt> to <tt>'.
                     $value.'</tt>: '.                      $value.'</tt>: '.
Line 1392  sub crsenv { Line 1438  sub crsenv {
     ('url'            => '<b>Top Level Map</b> '.      ('url'            => '<b>Top Level Map</b> '.
                                  '<a href="javascript:openbrowser'.                                   '<a href="javascript:openbrowser'.
                                  "('envform','url','sequence')\">".                                   "('envform','url','sequence')\">".
                                  'Browse</a><br><font color=red> '.                                   'Browse</a><br /><font color=red> '.
                                  'Modification may make assessment data '.                                   'Modification may make assessment data '.
                                  'inaccessible</font>',                                   'inaccessible</font>',
              'description'    => '<b>Course Description</b>',               'description'    => '<b>Course Description</b>',
              'courseid'       => '<b>Course ID or number</b><br>'.               'courseid'       => '<b>Course ID or number</b><br />'.
                                  '(internal, optional)',                                   '(internal, optional)',
              'default_xml_style' => '<b>Default XML Style File</b> '.               'default_xml_style' => '<b>Default XML Style File</b> '.
                     '<a href="javascript:openbrowser'.                      '<a href="javascript:openbrowser'.
                     "('envform','default_xml_style'".                      "('envform','default_xml_style'".
                     ",'sty')\">Browse</a><br>",                      ",'sty')\">Browse</a><br>",
              'question.email' => '<b>Feedback Addresses for Content '.               'question.email' => '<b>Feedback Addresses for Resource Content '.
                                  'Questions</b><br>(<tt>user:domain,'.                                   'Questions</b><br />(<tt>user:domain,'.
                                  'user:domain,...</tt>)',                                   'user:domain(section;section;...;*;...),...</tt>)',
              'comment.email'  => '<b>Feedback Addresses for Comments</b><br>'.               'comment.email'  => '<b>Feedback Addresses for Course Content Comments</b><br />'.
                                  '(<tt>user:domain,user:domain,...</tt>)',                                   '(<tt>user:domain,user:domain(section;section;...;*;...),...</tt>)',
              'policy.email'   => '<b>Feedback Addresses for Course Policy</b>'.               'policy.email'   => '<b>Feedback Addresses for Course Policy</b>'.
                                  '<br>(<tt>user:domain,user:domain,...</tt>)',                                   '<br />(<tt>user:domain,user:domain(section;section;...;*;...),...</tt>)',
              'hideemptyrows'  => '<b>Hide Empty Rows in Spreadsheets</b><br>'.               'hideemptyrows'  => '<b>Hide Empty Rows in Spreadsheets</b><br />'.
                                  '("<tt>yes</tt>" for default hiding)',                                   '("<tt>yes</tt>" for default hiding)',
              'pageseparators'  => '<b>Visibly Separate Items on Pages</b><br>'.               'pageseparators'  => '<b>Visibly Separate Items on Pages</b><br />'.
                                  '("<tt>yes</tt>" for visible separation)',                                   '("<tt>yes</tt>" for visible separation, '.
                                    'changes will not show until next login)',
              'pch.roles.denied'=> '<b>Disallow Resource Discussion for '.               'pch.roles.denied'=> '<b>Disallow Resource Discussion for '.
                                   'Roles</b><br>"<tt>st</tt>": '.                                    'Roles</b><br />"<tt>st</tt>": '.
                                   'student, "<tt>ta</tt>": '.                                    'student, "<tt>ta</tt>": '.
                                   'TA, "<tt>in</tt>": '.                                    'TA, "<tt>in</tt>": '.
                                   'instructor;<br><tt>role,role,...</tt>) '.                                    'instructor;<br /><tt>role,role,...</tt>) '.
        Apache::loncommon::help_open_topic("Course_Disable_Discussion"),         Apache::loncommon::help_open_topic("Course_Disable_Discussion"),
              'pch.users.denied' =>                'pch.users.denied' => 
                           '<b>Disallow Resource Discussion for Users</b><br>'.                            '<b>Disallow Resource Discussion for Users</b><br />'.
                                  '(<tt>user:domain,user:domain,...</tt>)',                                   '(<tt>user:domain,user:domain,...</tt>)',
              'spreadsheet_default_classcalc'                'spreadsheet_default_classcalc' 
                  => '<b>Default Course Spreadsheet</b> '.                   => '<b>Default Course Spreadsheet</b> '.
                     '<a href="javascript:openbrowser'.                      '<a href="javascript:openbrowser'.
                     "('envform','spreadsheet_default_classcalc'".                      "('envform','spreadsheet_default_classcalc'".
                     ",'spreadsheet')\">Browse</a><br>",                      ",'spreadsheet')\">Browse</a><br />",
              'spreadsheet_default_studentcalc'                'spreadsheet_default_studentcalc' 
                  => '<b>Default Student Spreadsheet</b> '.                   => '<b>Default Student Spreadsheet</b> '.
                     '<a href="javascript:openbrowser'.                      '<a href="javascript:openbrowser'.
                     "('envform','spreadsheet_default_calc'".                      "('envform','spreadsheet_default_calc'".
                     ",'spreadsheet')\">Browse</a><br>",                      ",'spreadsheet')\">Browse</a><br />",
              'spreadsheet_default_assesscalc'                'spreadsheet_default_assesscalc' 
                  => '<b>Default Assessment Spreadsheet</b> '.                   => '<b>Default Assessment Spreadsheet</b> '.
                     '<a href="javascript:openbrowser'.                      '<a href="javascript:openbrowser'.
                     "('envform','spreadsheet_default_assesscalc'".                      "('envform','spreadsheet_default_assesscalc'".
                     ",'spreadsheet')\">Browse</a><br>",                      ",'spreadsheet')\">Browse</a><br />",
        'allow_limited_html_in_feedback'
            => '<b>Allow limited HTML in discussion posts</b><br />'.
               '(Set value to yes to allow)',
        'rndseed'
            => '<b>Randomization algorithm used</b> <br />'.
                       '<font color="red">Modifying this will make problems '.
                       'have different numbers and answers</font>',
                'problem_stream_switch'
                    => '<b>Allow problems to be splitted over pages</b><br />'.
                       ' (<tt><b>yes</b> if allow anything else if not</tt>)'
              );               );
  foreach (keys(%values)) {   foreach (keys(%values)) {
     unless ($descriptions{$_}) {      unless ($descriptions{$_}) {
Line 1513  ENDENV Line 1570  ENDENV
   
 =pod  =pod
   
 =item handler  =item * handler
   
 Main handler.  Calls &assessparms and &crsenv subroutines.  Main handler.  Calls &assessparms and &crsenv subroutines.
   
Line 1521  Main handler.  Calls &assessparms and &c Line 1578  Main handler.  Calls &assessparms and &c
   
 ##################################################  ##################################################
 ##################################################  ##################################################
       use Data::Dumper;
 sub handler {  sub handler {
     my $r=shift;      my $r=shift;
   
Line 1530  sub handler { Line 1588  sub handler {
  return OK;   return OK;
     }      }
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
   
       $r->content_type('text/html');
       $r->send_http_header;
   
 # ----------------------------------------------------- Needs to be in a course  # ----------------------------------------------------- Needs to be in a course
   
     if (($ENV{'request.course.id'}) &&       if (($ENV{'request.course.id'}) && 

Removed from v.1.71  
changed lines
  Added in v.1.95.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>