Diff for /loncom/interface/lonpreferences.pm between versions 1.125.4.9 and 1.125.8.3

version 1.125.4.9, 2010/01/28 15:40:10 version 1.125.8.3, 2009/11/19 15:41:59
Line 42  use Apache::loncommon(); Line 42  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
 use LONCAPA::lonauthcgi();  
 use LONCAPA();  use LONCAPA();
   
 #  #
Line 156  sub languagechanger { Line 155  sub languagechanger {
                = &Apache::loncommon::plainlanguagedescription($_);                 = &Apache::loncommon::plainlanguagedescription($_);
  }   }
     }      }
     my $selectionbox=      my $selectionbox=&Apache::loncommon::select_form($language,'language',
            &Apache::loncommon::select_form(       %langchoices);
                $language,  
                'language',  
                &Apache::lonlocal::texthash(%langchoices));  
     $r->print(<<ENDLSCREEN);      $r->print(<<ENDLSCREEN);
 <form name="prefs" action="/adm/preferences" method="post">  <form name="prefs" action="/adm/preferences" method="post">
 <input type="hidden" name="action" value="verify_and_change_languages" />  <input type="hidden" name="action" value="verify_and_change_languages" />
Line 211  sub texenginechanger { Line 207  sub texenginechanger {
      'mimetex' => 'mimetex (Convert to Images)',       'mimetex' => 'mimetex (Convert to Images)',
                      'raw' => 'Raw (Screen Reader)'                       'raw' => 'Raw (Screen Reader)'
                      );                       );
     my $selectionbox=      my $selectionbox=&Apache::loncommon::select_form($texengine,'texengine',
            &Apache::loncommon::select_form(       %mathchoices);
                $texengine,  
                'texengine',  
                &Apache::lonlocal::texthash(%mathchoices));  
     my $jsMath_start=&Apache::lontexconvert::jsMath_header();      my $jsMath_start=&Apache::lontexconvert::jsMath_header();
     my %lt=&Apache::lonlocal::texthash(      my %lt=&Apache::lonlocal::texthash(
       'headline' => 'Change how math is displayed',        'headline' => 'Change Math Preferences',
       'preftxt'  => 'Preferred method to display math',        'preftxt'  => 'Preferred method to display Math',
       'change'   => 'Save',        'change'   => 'Save',
       'exmpl'    => 'Examples',        'exmpl'    => 'Examples',
       'jsmath'   => 'jsMath:',        'jsmath'   => 'jsMath:',
Line 274  if (jsMath.nofonts == 1) { Line 267  if (jsMath.nofonts == 1) {
   
 <h3>$lt{'tth'}</h3>  <h3>$lt{'tth'}</h3>
 <p>  <p>
 <iframe src="/res/adm/pages/math_example.tex?inhibitmenu=yes&texengine=tth" width="400" height="220"></iframe>  <iframe src="/res/adm/pages/math_example.tex?inhibitmenu=yes&texengine=tth" width="400" height="200"></iframe>
 </p>  </p>
 ENDLSCREEN  ENDLSCREEN
     if ($env{'environment.texengine'} ne 'jsMath') {      if ($env{'environment.texengine'} ne 'jsMath') {
Line 383  sub rolesprefchanger { Line 376  sub rolesprefchanger {
 </p>  </p>
 <form name="prefs" action="/adm/preferences" method="post">  <form name="prefs" action="/adm/preferences" method="post">
 <input type="hidden" name="action" value="verify_and_change_rolespref" />  <input type="hidden" name="action" value="verify_and_change_rolespref" />
 <br />'.  <br /><label>'.&mt('Enable Recent '.$role.'s Hotlist:').'
 '<h2>'.&mt('Recent '.$role.'s Hotlist').'</h2>'.  <input type="checkbox"'.$checked.' name="recentroles" value="true" /></label>
 &Apache::lonhtmlcommon::start_pick_box().  <br />'.&mt('Number of '.$role.'s in Hotlist:').'
 &Apache::lonhtmlcommon::row_title('<label for="Hotlist">'.&mt('Enable Recent '.$role.'s Hotlist').'</label>').  <select name="recentrolesn" size="1">
 '<input id="Hotlist" type="checkbox"'.$checked.' name="recentroles" value="true" />'.  '.$options.'
 &Apache::lonhtmlcommon::row_closure().  </select>
 &Apache::lonhtmlcommon::row_title('<label for="NumberOfRoles">'.&mt('Number of '.$role.'s in Hotlist').'</label>').  <p>'.&mt('This list below can be used to <q>freeze</q> '.$lc_role.'s on your screen. Those marked as frozen will not be removed from the list, even if they have not been used recently.').'
 '<select name="recentrolesn" size="1" id ="NumberOfRoles">'.  
 $options.  
 '</select>'.  
 &Apache::lonhtmlcommon::row_closure(1).  
 &Apache::lonhtmlcommon::end_pick_box().  
 '<br/><h2>'.&mt('Freeze Roles').'</h2>'.  
 '<p>'.&mt('This list below can be used to <q>freeze</q> '.$lc_role.'s on your screen. Those marked as frozen will not be removed from the list, even if they have not been used recently.').'  
 </p>  </p>
 '.$roles_check_list.'  '.$roles_check_list.'
 <br />  <br />
Line 446  sub verify_and_change_rolespref { Line 432  sub verify_and_change_rolespref {
     if ($hotlist_flag) {      if ($hotlist_flag) {
         &Apache::lonnet::put('environment',{'recentroles' => $hotlist_flag});          &Apache::lonnet::put('environment',{'recentroles' => $hotlist_flag});
         &Apache::lonnet::appenv({'environment.recentroles' => $hotlist_flag});          &Apache::lonnet::appenv({'environment.recentroles' => $hotlist_flag});
         $message=&Apache::lonhtmlcommon::confirm_success(&mt('Recent '.$role.'s Hotlist is Enabled.')." ".&mt('Display [_1] Most Recent '.$role.'s.',$hotlist_n));          $message=&mt('Recent '.$role.'s Hotlist is Enabled');
     } else {      } else {
         &Apache::lonnet::del('environment',['recentroles']);          &Apache::lonnet::del('environment',['recentroles']);
         &Apache::lonnet::delenv('environment.recentroles');          &Apache::lonnet::delenv('environment.recentroles');
         $message=&Apache::lonhtmlcommon::confirm_success(&mt('Recent '.$role.'s Hotlist is Disabled'));          $message=&mt('Recent '.$role.'s Hotlist is Disabled');
     }      }
     if ($hotlist_n) {      if ($hotlist_n) {
         &Apache::lonnet::put('environment',{'recentrolesn' => $hotlist_n});          &Apache::lonnet::put('environment',{'recentrolesn' => $hotlist_n});
Line 765  sub msgforwardchanger { Line 751  sub msgforwardchanger {
                                           all   => 'All',                                            all   => 'All',
                                           crit  => 'Critical only',                                            crit  => 'Critical only',
                                           reg   => 'Non-critical only',                                            reg   => 'Non-critical only',
                                           foad  => 'Forward to account(s)',                                            foad  => 'Forwarding Address(es)',
                                           fwdm  => 'Forward messages to other account(s) in LON-CAPA',                                            noti  => 'Notification E-mail Address(es)', 
                                           noti  => 'E-mail notification of LON-CAPA messages',  
                                           foad_exmpl => 'e.g. <tt>userA:domain1,userB:domain2,...</tt>',                                            foad_exmpl => 'e.g. <tt>userA:domain1,userB:domain2,...</tt>',
                                           mnot  => 'E-mail Address(es) which should be notified about new LON-CAPA messages',                                            mnot  => 'E-mail Address(es) which should be notified about new LON-CAPA messages',
                                           mnot_exmpl => 'e.g. <tt>joe@doe.com</tt>',                                            mnot_exmpl => 'e.g. <tt>joe@doe.com</tt>',
Line 842  $validatescript Line 827  $validatescript
     $r->print(<<ENDMSG);      $r->print(<<ENDMSG);
 $jscript  $jscript
 $message  $message
 <h3>$lt{'fwdm'} $forwardingHelp</h3>  <h3>$lt{'foad'} $forwardingHelp</h3>
 <form name="prefs" action="/adm/preferences" method="post">  <form name="prefs" action="/adm/preferences" method="post">
 <input type="hidden" name="action" value="verify_and_change_msgforward" />  <input type="hidden" name="action" value="verify_and_change_msgforward" />
 $lt{'foad'} ($lt{'foad_exmpl'}):  $lt{'foad'} ($lt{'foad_exmpl'}):
 <input type="text" size="40" value="$msgforward" name="msgforward" />  <input type="text" size="40" value="$msgforward" name="msgforward" /><br />
 <br /><br />  
 <h3>$lt{'noti'} $notificationHelp</h3>  <h3>$lt{'noti'} $notificationHelp</h3>
 $lt{'mnot'} ($lt{'mnot_exmpl'}):<br />  $lt{'mnot'} ($lt{'mnot_exmpl'}):<br />
 ENDMSG  ENDMSG
Line 892  ENDMSG Line 876  ENDMSG
                        '<input type="radio" name="notify_type_'.$num.                          '<input type="radio" name="notify_type_'.$num. 
                        '" value="'.$type.'" '.$chk{$type}.                         '" value="'.$type.'" '.$chk{$type}.
                        ' onchange="javascript:address_changes('."'$num'".')" />'.                         ' onchange="javascript:address_changes('."'$num'".')" />'.
                        $lt{$type}.'</label></span>'.('&nbsp;' x4);                         $lt{$type}.'</label></span>&nbsp;';
         }          }
         my $htmlon = '';          my $htmlon = '';
         my $htmloff = '';          my $htmloff = '';
Line 904  ENDMSG Line 888  ENDMSG
         $output .= '</td><td><label><input type="radio" name="html_'.$num.          $output .= '</td><td><label><input type="radio" name="html_'.$num.
                    '" value="1" '.$htmlon.                     '" value="1" '.$htmlon.
                    ' onchange="javascript:address_changes('."'$num'".')" />'.                     ' onchange="javascript:address_changes('."'$num'".')" />'.
                    &mt('Yes').'</label>'.('&nbsp;' x3).                     &mt('Yes').'</label>&nbsp;'.
                    '<label><input type="radio" name="html_'.$num.'" value="0" '.                     '<label><input type="radio" name="html_'.$num.'" value="0" '.
                    $htmloff. ' onchange="javascript:address_changes('."'$num'".                     $htmloff. ' onchange="javascript:address_changes('."'$num'".
 ')" />'.  ')" />'.
Line 929  ENDMSG Line 913  ENDMSG
         $output .= '<span class="LC_nobreak"><label>'.          $output .= '<span class="LC_nobreak"><label>'.
                    '<input type="radio" name="notify_type_'.$num.                     '<input type="radio" name="notify_type_'.$num.
                    '" value="'.$type.'" '.$defchk{$type}.'/>'.                     '" value="'.$type.'" '.$defchk{$type}.'/>'.
                    $lt{$type}.'</label></span>'.('&nbsp;' x4);                     $lt{$type}.'</label></span>&nbsp;';
     }      }
     $output .= '</td><td><label><input type="radio" name="html_'.$num.      $output .= '</td><td><label><input type="radio" name="html_'.$num.
                '" value="1" />'.&mt('Yes').'</label>'.('&nbsp;' x3).                 '" value="1" />'.&mt('Yes').'</label>&nbsp;'.
                '<label><input type="radio" name="html_'.$num.'" value="0" '.                 '<label><input type="radio" name="html_'.$num.'" value="0" '.
                ' checked="checked" />'.                 ' checked="checked" />'.
                &mt('No').'</label></td>'.                 &mt('No').'</label></td>'.
Line 970  sub verify_and_change_msgforward { Line 954  sub verify_and_change_msgforward {
     my $domain     = $env{'user.domain'};      my $domain     = $env{'user.domain'};
     my $newscreen  = '';      my $newscreen  = '';
     my $message='';      my $message='';
     foreach my $recip (split(/\,/,$env{'form.msgforward'})) {      foreach (split(/\,/,$env{'form.msgforward'})) {
         my ($msuser,$msdomain);   my ($msuser,$msdomain)=split(/[\@\:]/,$_);
         if ($recip =~ /:/) {  
             ($msuser,$msdomain)=split(':',$recip);  
         } else {  
             ($msuser,$msdomain)=split(/\@/,$recip);  
         }  
         $msuser = &LONCAPA::clean_username($msuser);          $msuser = &LONCAPA::clean_username($msuser);
         $msdomain = &LONCAPA::clean_domain($msdomain);          $msdomain = &LONCAPA::clean_domain($msdomain);
         if (($msuser) && ($msdomain)) {          if (($msuser) && ($msdomain)) {
     if (&Apache::lonnet::homeserver($msuser,$msdomain) ne 'no_host') {      if (&Apache::lonnet::homeserver($msuser,$msdomain) ne 'no_host') {
                 $newscreen.=$msuser.':'.$msdomain.',';                 $newscreen.=$msuser.':'.$msdomain.',';
             } else {     } else {
                 $message.= &mt('No such user: ').'<tt>'.$msuser.':'.$msdomain.'</tt><br />';                 $message.= &mt('No such user: ').'<tt>'.$msuser.':'.$msdomain.'</tt><br />';
             }             }
         }          }
     }      }
     $newscreen=~s/\,$//;      $newscreen=~s/\,$//;
     if ($newscreen) {      if ($newscreen) {
         &Apache::lonnet::put('environment',{'msgforward' => $newscreen});          &Apache::lonnet::put('environment',{'msgforward' => $newscreen});
         &Apache::lonnet::appenv({'environment.msgforward' => $newscreen});          &Apache::lonnet::appenv({'environment.msgforward' => $newscreen});
         $message .= &Apache::lonhtmlcommon::confirm_success(&mt('Set message forwarding to ').'<tt>"'.$newscreen.'"</tt>.<br />');          $message .= &mt('Set message forwarding to ').'<tt>"'.$newscreen.'"</tt>.'
                       .'<br />';
     } else {      } else {
         &Apache::lonnet::del('environment',['msgforward']);          &Apache::lonnet::del('environment',['msgforward']);
         &Apache::lonnet::delenv('environment.msgforward');          &Apache::lonnet::delenv('environment.msgforward');
         $message.= &Apache::lonhtmlcommon::confirm_success(&mt("Set message forwarding to 'off'.").'<br />');          $message.= &mt("Set message forwarding to 'off'.").'<br />';
     }      }
     my $critnotification;      my $critnotification;
     my $notification;      my $notification;
Line 1031  sub verify_and_change_msgforward { Line 1011  sub verify_and_change_msgforward {
     if ($notification) {      if ($notification) {
         &Apache::lonnet::put('environment',{'notification' => $notification});          &Apache::lonnet::put('environment',{'notification' => $notification});
         &Apache::lonnet::appenv({'environment.notification' => $notification});          &Apache::lonnet::appenv({'environment.notification' => $notification});
         $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Set non-critical message notification address(es) to ').'<tt>"'.$notification.'"</tt>.<br />');          $message.=&mt('Set non-critical message notification address(es) to ').'<tt>"'.$notification.'"</tt>.<br />';
     } else {      } else {
         &Apache::lonnet::del('environment',['notification']);          &Apache::lonnet::del('environment',['notification']);
         &Apache::lonnet::delenv('environment.notification');          &Apache::lonnet::delenv('environment.notification');
         $message.=&Apache::lonhtmlcommon::confirm_success(&mt("Set non-critical message notification to 'off'.").'<br />');          $message.=&mt("Set non-critical message notification to 'off'.").'<br />';
     }      }
     if ($critnotification) {      if ($critnotification) {
         &Apache::lonnet::put('environment',{'critnotification' => $critnotification});          &Apache::lonnet::put('environment',{'critnotification' => $critnotification});
         &Apache::lonnet::appenv({'environment.critnotification' => $critnotification});          &Apache::lonnet::appenv({'environment.critnotification' => $critnotification});
         $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Set critical message notification address(es) to ').'<tt>"'.$critnotification.'"</tt>.<br />');          $message.=&mt('Set critical message notification address(es) to ').'<tt>"'.$critnotification.'"</tt>.<br />';
     } else {      } else {
         &Apache::lonnet::del('environment',['critnotification']);          &Apache::lonnet::del('environment',['critnotification']);
         &Apache::lonnet::delenv('environment.critnotification');          &Apache::lonnet::delenv('environment.critnotification');
         $message.=&Apache::lonhtmlcommon::confirm_success(&mt("Set critical message notification to 'off'.").'<br />');          $message.=&mt("Set critical message notification to 'off'.").'<br />';
     }      }
     if ($critnotification || $notification) {      if ($critnotification || $notification) {
         if ($notify_with_html) {          if ($notify_with_html) {
             &Apache::lonnet::put('environment',{'notifywithhtml' => $notify_with_html});              &Apache::lonnet::put('environment',{'notifywithhtml' => $notify_with_html});
             &Apache::lonnet::appenv({'environment.notifywithhtml' => $notify_with_html});              &Apache::lonnet::appenv({'environment.notifywithhtml' => $notify_with_html});
             $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Set address(es) to receive excerpts with html retained ').'<tt>"'.$notify_with_html.'"</tt>.');              $message.=&mt('Set address(es) to receive excerpts with html retained ').'<tt>"'.$notify_with_html.'"</tt>.';
         } else {          } else {
             &Apache::lonnet::del('environment',['notifywithhtml']);              &Apache::lonnet::del('environment',['notifywithhtml']);
             &Apache::lonnet::delenv('environment.notifywithhtml');              &Apache::lonnet::delenv('environment.notifywithhtml');
             if ($totaladdresses == 1) {              if ($totaladdresses == 1) {
                 $message.=&Apache::lonhtmlcommon::confirm_success(&mt("Set notification address to receive excerpts with html stripped."));                  $message.=&mt("Set notification address to receive excerpts with html stripped.");
             } else {              } else {
                 $message.=&Apache::lonhtmlcommon::confirm_success(&mt("Set all notification addresses to receive excerpts with html stripped."));                  $message.=&mt("Set all notification addresses to receive excerpts with html stripped.");
             }              }
         }          }
     } else {      } else {
Line 1068  sub verify_and_change_msgforward { Line 1048  sub verify_and_change_msgforward {
         $message .= '<br /><hr />';          $message .= '<br /><hr />';
     }      }
     &Apache::loncommon::flush_email_cache($user,$domain);      &Apache::loncommon::flush_email_cache($user,$domain);
     $message=&Apache::loncommon::confirmwrapper($message);  
     &msgforwardchanger($r,$message);      &msgforwardchanger($r,$message);
 }  }
   
Line 1541  ENDERROR Line 1520  ENDERROR
     my $message;      my $message;
     if ($result =~ /^ok$/) {      if ($result =~ /^ok$/) {
         $message = &Apache::lonhtmlcommon::confirm_success(&mt('The password for user [_1] was successfully changed.','<i>'.$user.'</i>'));          $message = &Apache::lonhtmlcommon::confirm_success(&mt('The password for user [_1] was successfully changed.','<i>'.$user.'</i>'));
         $message = &Apache::loncommon::confirmwrapper($message);  
         if ($caller eq 'reset_by_email') {          if ($caller eq 'reset_by_email') {
             $r->print($message.'<br />');              $r->print($message.'<br />');
         } else {          } else {
Line 1770  sub verify_and_change_coursepage { Line 1748  sub verify_and_change_coursepage {
             my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};               my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; 
             my ($furl,$ferr)=              my ($furl,$ferr)=
                 &Apache::lonuserstate::readmap($cdom.'/'.$cnum);                  &Apache::lonuserstate::readmap($cdom.'/'.$cnum);
             $message .= '<br /><a href="'.$furl.'">'.$lt{'gtts'}.' <i>'.&mt('now').'</i></a>';              $message .= '<br /><font size="+1"><a href="'.$furl.'">'.$lt{'gtts'}.' <i>'.&mt('now').'</i></a></font>';
         } else {          } else {
             $message .= '<br /><a href="/adm/whatsnew?refpage='.              $message .= '<br /><font size="+1"><a href="/adm/whatsnew?refpage='.
                         $refpage.'">'.$lt{'dasp'}.'</a>';                          $refpage.'">'.$lt{'dasp'}.'</a></font>';
         }          }
     }      }
     $message = &Apache::lonhtmlcommon::confirm_success($message);      $message = &Apache::lonhtmlcommon::confirm_success($message);
     $message = &Apache::loncommon::confirmwrapper($message);  
     $r->print(<<ENDVCSCREEN);      $r->print(<<ENDVCSCREEN);
 $message  $message
 ENDVCSCREEN  ENDVCSCREEN
 }  }
   
   
 ######################################################  ######################################################
 #            other handler subroutines               #  #            other handler subroutines               #
 ######################################################  ######################################################
Line 1852  sub handler { Line 1830  sub handler {
                       help     => 'Prefs_Messages',                        help     => 'Prefs_Messages',
                       breadcrumb =>                         breadcrumb => 
                           { href => '/adm/preferences?action=changemsgforward',                            { href => '/adm/preferences?action=changemsgforward',
                               text => 'Change Message Forwarding/Notification'},
                             text => 'Messages & Notifications'},  
                       subroutine => \&msgforwardchanger,                        subroutine => \&msgforwardchanger,
                       },                        },
                     { action => 'verify_and_change_msgforward',                      { action => 'verify_and_change_msgforward',
                       help   => 'Prefs_Messages',                        help   => 'Prefs_Messages',
                       breadcrumb =>                         breadcrumb => 
                           { href => '/adm/preferences?action=changemsgforward',                            { href => '/adm/preferences?action=changemsgforward',
                             text => 'Messages & Notifications'},                              text => 'Change Message Forwarding/Notification'},
                       printmenu => 'no',                        printmenu => 'no',
                       subroutine => \&verify_and_change_msgforward }));                        subroutine => \&verify_and_change_msgforward }));
     if (&Apache::lonnet::usertools_access($user,$domain,'aboutme')) {      if (&Apache::lonnet::usertools_access($user,$domain,'aboutme')) {
Line 1886  sub handler { Line 1863  sub handler {
                       printmenu => 'yes',                        printmenu => 'yes',
                       subroutine => \&verify_and_change_colors,                        subroutine => \&verify_and_change_colors,
                       }));                        }));
     push (@Options,({ action => 'changelanguages',      if ($env{'user.adv'}) {
                       linktext => 'Change Language Preferences',          push (@Options,({ action => 'changelanguages',
                       href => '/adm/preferences',                            linktext => 'Change Language Preferences',
       help => 'Prefs_Language',                            href => '/adm/preferences',
                       breadcrumb=>                help => 'Prefs_Language',
                           { href => '/adm/preferences?action=changelanguages',                            breadcrumb=>
                             text => 'Change Language'},                                { href => '/adm/preferences?action=changelanguages',
                       subroutine =>  \&languagechanger,                                  text => 'Change Language'},
                   },                            subroutine =>  \&languagechanger,
                     { action => 'verify_and_change_languages',                        },
                       breadcrumb=>                          { action => 'verify_and_change_languages',
                           {href => '/adm/preferences?action=changelanguages',                            breadcrumb=>
                            text => 'Change Language'},                                {href => '/adm/preferences?action=changelanguages',
                       printmenu => 'yes',                                 text => 'Change Language'},
                       subroutine=>\&verify_and_change_languages, }                            printmenu => 'yes',
                             subroutine=>\&verify_and_change_languages, }
                     ));                      ));
       }
     push (@Options,({ action => 'changewysiwyg',      push (@Options,({ action => 'changewysiwyg',
                       linktext => 'Change WYSIWYG Editor Preferences',                        linktext => 'Change WYSIWYG Editor Preferences',
                       href => '/adm/preferences',                        href => '/adm/preferences',
Line 1952  sub handler { Line 1931  sub handler {
                       }));                        }));
   
     push (@Options,({ action   => 'changetexenginepref',      push (@Options,({ action   => 'changetexenginepref',
                       linktext => 'Math display settings',                        linktext => 'Change How Math Equations Are Displayed',
                       href     => '/adm/preferences',                        href     => '/adm/preferences',
                       subroutine => \&texenginechanger,                        subroutine => \&texenginechanger,
                       breadcrumb =>                        breadcrumb =>
                           { href => '/adm/preferences?action=changetexenginepref',                            { href => '/adm/preferences?action=changetexenginepref',
                             text => 'Math display settings'},                              text => 'Change Math Pref'},
                       },                        },
                     { action   => 'verify_and_change_texengine',                      { action   => 'verify_and_change_texengine',
                       subroutine => \&verify_and_change_texengine,                        subroutine => \&verify_and_change_texengine,
Line 1994  sub handler { Line 1973  sub handler {
                             text => 'Change Main Menu'},                              text => 'Change Main Menu'},
                       printmenu => 'yes',                        printmenu => 'yes',
                       }));                        }));
       if ($env{'user.adv'}) {
     push (@Options,({ action   => 'changeclicker',          push (@Options,({ action   => 'changeclicker',
                       linktext => 'Register Response Devices (&quot;Clickers&quot;)',                            linktext => 'Register Response Devices (&quot;Clickers&quot;)',
                       href     => '/adm/preferences',                            href     => '/adm/preferences',
                       subroutine => \&clickerchanger,                            subroutine => \&clickerchanger,
                       breadcrumb =>                            breadcrumb =>
                           { href => '/adm/preferences?action=changeclicker',                                { href => '/adm/preferences?action=changeclicker',
                             text => 'Register Clicker'},                                  text => 'Register Clicker'},
                       },                            },
                     { action   => 'verify_and_change_clicker',                            { action   => 'verify_and_change_clicker',
                       subroutine => \&verify_and_change_clicker,                            subroutine => \&verify_and_change_clicker,
                       breadcrumb =>                            breadcrumb =>
                           { href => '/adm/preferences?action=changeclicker',                                { href => '/adm/preferences?action=changeclicker',
                             text => 'Register Clicker'},                                  text => 'Register Clicker'},
                       printmenu => 'yes',                            printmenu => 'yes',
                       }));                            }));
       }
     my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au']);      my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au']);
     if (keys(%author_roles) > 0) {      if (keys(%author_roles) > 0) {
       push (@Options,({ action   => 'changedomcoord',        push (@Options,({ action   => 'changedomcoord',
Line 2063  sub handler { Line 2043  sub handler {
                        }));                         }));
     }      }
   
     if (&can_toggle_debug()) {      if ($env{'user.name'} =~ /^(albertel|fox|foxr|kortemey|korte|raeburn)$/) {
         push (@Options,({ action => 'debugtoggle',          push (@Options,({ action => 'debugtoggle',
                           printmenu => 'yes',                            printmenu => 'yes',
                           subroutine => \&toggle_debug,                            subroutine => \&toggle_debug,
Line 2095  sub handler { Line 2075  sub handler {
    || ($printmenu eq 'not_on_error' && !$error) )     || ($printmenu eq 'not_on_error' && !$error) )
  && (!$env{'form.returnurl'})) {   && (!$env{'form.returnurl'})) {
         my $optionlist = '<table cellpadding="5">';          my $optionlist = '<table cellpadding="5">';
         if (&can_toggle_debug()) {          if ($env{'user.name'} =~ 
                            /^(albertel|kortemey|fox|foxr|korte|hallmat3|turtle|raeburn)$/
               ) {
             push (@Options,({ action => 'debugtoggle',              push (@Options,({ action => 'debugtoggle',
                               linktext => 'Toggle Debug Messages',                                linktext => 'Toggle Debug Messages',
                               text => 'Current Debug status is: '.                                text => 'Current Debug status is -'.
                                       ($env{'user.debug'} ? 'on' : 'off'),                                    $env{'user.debug'}.'-.',
                               href => '/adm/preferences',                                href => '/adm/preferences',
                               printmenu => 'yes',                                printmenu => 'yes',
                               subroutine => \&toggle_debug,                                subroutine => \&toggle_debug,
Line 2141  sub handler { Line 2123  sub handler {
 }  }
   
 sub toggle_debug {  sub toggle_debug {
     if (&can_toggle_debug()) {      if ($env{'user.debug'}) {
         if ($env{'user.debug'}) {          &Apache::lonnet::delenv('user.debug');
             &Apache::lonnet::delenv('user.debug');      } else {
         } else {          &Apache::lonnet::appenv({'user.debug' => 1});
             &Apache::lonnet::appenv({'user.debug' => 1});  
         }  
     }  
 }  
   
 sub can_toggle_debug {  
     my $can_toggle = 0;  
     my $page = 'toggledebug';  
     if (&LONCAPA::lonauthcgi::can_view($page)) {  
         $can_toggle = 1;  
     } elsif (&LONCAPA::lonauthcgi::check_ipbased_access($page)) {  
         $can_toggle = 1;  
     }      }
     return $can_toggle;  
 }  }
   
   
 1;  1;
 __END__  __END__

Removed from v.1.125.4.9  
changed lines
  Added in v.1.125.8.3


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