Diff for /loncom/interface/lonpreferences.pm between versions 1.162 and 1.167

version 1.162, 2009/05/12 15:20:23 version 1.167, 2009/07/09 19:28:36
Line 994  sub verify_and_change_msgforward { Line 994  sub verify_and_change_msgforward {
     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 />';
            }             }
         }          }
     }      }
Line 1357  sub client_form { Line 1357  sub client_form {
                 'confirmpass' => 'Confirm Password',                  'confirmpass' => 'Confirm Password',
                 'changepass' => 'Save');                  'changepass' => 'Save');
   
     my $output = qq|      my $output = '<form name="client">'
 <form name="client" >                  .&Apache::lonhtmlcommon::start_pick_box();
 <table>  
 |;  
     if ($caller eq 'reset_by_email') {      if ($caller eq 'reset_by_email') {
         $output .= qq|          $output .= &Apache::lonhtmlcommon::row_title(
 <tr><td class="LC_preferences_labeltext"><label for="email">$lt{'email'}</label>:</td>                         '<label for="email">'.$lt{'email'}.'</label>')
     <td><input type="text" name="email" size="30" /> </td></tr>                    .'<input type="text" name="email" size="30" />'
 <tr><td class="LC_preferences_labeltext"><label for="uname">$lt{'username'}</label>:</td>                    .&Apache::lonhtmlcommon::row_closure()
     <td>                    .&Apache::lonhtmlcommon::row_title(
      <input type="text" name="uname" size="15" />                         '<label for="uname">'.$lt{'username'}.'</label>')
      <input type="hidden" name="currentpass" value="$currentpass" />                    .'<input type="text" name="uname" size="15" />'
     </td></tr>                    .'<input type="hidden" name="currentpass" value="'.$currentpass.'" />'
 <tr><td class="LC_preferences_labeltext"><label for="udom">$lt{'domain'}</label>:</td>                    .&Apache::lonhtmlcommon::row_closure()
     <td>                    .&Apache::lonhtmlcommon::row_title(
 |;                         '<label for="udom">'.$lt{'domain'}.'</label>')
         $output .= &Apache::loncommon::select_dom_form($defdom,'udom').'                    .&Apache::loncommon::select_dom_form($defdom,'udom')
    </td>                    .&Apache::lonhtmlcommon::row_closure();
 </tr>  
 ';  
     } else {      } else {
         $output .= qq|          $output .= &Apache::lonhtmlcommon::row_title(
 <tr><td class="LC_preferences_labeltext"><label for="currentpass">$lt{'currentpass'}</label></td>                         '<label for="currentpass">'.$lt{'currentpass'}.'</label>')
     <td><input type="password" name="currentpass" size="10"/> </td></tr>                    .'<input type="password" name="currentpass" size="10"/>'
 |;                    .&Apache::lonhtmlcommon::row_closure();
     }      }
     $output .= <<"ENDFORM";      $output .= &Apache::lonhtmlcommon::row_title(
 <tr><td class="LC_preferences_labeltext"><label for="newpass_1">$lt{'newpass'}</label></td>                     '<label for="newpass_1">'.$lt{'newpass'}.'</label>')
     <td><input type="password" name="newpass_1" size="10"  /> </td></tr>                .'<input type="password" name="newpass_1" size="10" />'
 <tr><td class="LC_preferences_labeltext"><label for="newpass_2">$lt{'confirmpass'}</label></td>                .&Apache::lonhtmlcommon::row_closure()
     <td><input type="password" name="newpass_2" size="10"  /> </td></tr>                .&Apache::lonhtmlcommon::row_title(
 <tr><td colspan="2" align="center">                     '<label for="newpass_2">'.$lt{'confirmpass'}.'</label>')
     <input type="button" value="$lt{'changepass'}" onClick="send();" />                .'<input type="password" name="newpass_2" size="10" />'
 </table>                .&Apache::lonhtmlcommon::row_closure(1)
                 .&Apache::lonhtmlcommon::end_pick_box();
       $output .= '<p><input type="button" value="'.$lt{'changepass'}.'" onClick="send();" /></p>'
                 .qq|
 <input type="hidden" name="ukey_cpass"  value="$hexkey->{'ukey_cpass'}" />  <input type="hidden" name="ukey_cpass"  value="$hexkey->{'ukey_cpass'}" />
 <input type="hidden" name="lkey_cpass"  value="$hexkey->{'lkey_cpass'}" />  <input type="hidden" name="lkey_cpass"  value="$hexkey->{'lkey_cpass'}" />
 <input type="hidden" name="ukey_npass1" value="$hexkey->{'ukey_npass1'}" />  <input type="hidden" name="ukey_npass1" value="$hexkey->{'ukey_npass1'}" />
Line 1399  sub client_form { Line 1398  sub client_form {
 <input type="hidden" name="lkey_npass2" value="$hexkey->{'lkey_npass2'}" />  <input type="hidden" name="lkey_npass2" value="$hexkey->{'lkey_npass2'}" />
 </form>  </form>
 </p>  </p>
 ENDFORM  |;
     return $output;      return $output;
 }  }
   
Line 1940  push(@{ $menu[0]->{items} }, { Line 1939  push(@{ $menu[0]->{items} }, {
     if ($env{'environment.remote'} eq 'off') {      if ($env{'environment.remote'} eq 'off') {
 push(@{ $menu[1]->{items} }, {  push(@{ $menu[1]->{items} }, {
  linktext => 'Launch Remote Control',   linktext => 'Launch Remote Control',
  url => '/adm/remote?url=/adm/preferences?action=launch',   url => '/adm/remote?url=/adm/preferences&amp;action=launch',
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'network-wireless.png',   icon => 'network-wireless.png',
Line 1949  push(@{ $menu[1]->{items} }, { Line 1948  push(@{ $menu[1]->{items} }, {
     }else{      }else{
 push(@{ $menu[1]->{items} }, {  push(@{ $menu[1]->{items} }, {
  linktext => 'Collapse Remote Control',   linktext => 'Collapse Remote Control',
  url => '/adm/remote?url=/adm/preferences?action=collapse',   url => '/adm/remote?url=/adm/preferences&amp;action=collapse',
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'network-wireless.png',   icon => 'network-wireless.png',
Line 2086  sub handler { Line 2085  sub handler {
  &print_main_menu($r);   &print_main_menu($r);
     }      }
   
     return OK;      # Properly end the HTML page of all preference pages
       # started in each sub routine
       # Exception: print_main_menu has its own end_page call
 }      unless (!exists $env{'form.action'} ||
 #remove when done              $env{'form.action'} eq 'debugtoggle') {
 #old handler routine          $r->print(&Apache::loncommon::end_page());
 sub handler2 {  
     my $r = shift;  
     my $user = $env{'user.name'};  
     my $domain = $env{'user.domain'};  
     &Apache::loncommon::content_type($r,'text/html');  
     # Some pages contain DES keys and should not be cached.  
     &Apache::loncommon::no_cache($r);  
     $r->send_http_header;  
     return OK if $r->header_only;  
     #  
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},  
                                    ['action','wysiwyg','returnurl','refpage']);  
     #  
     &Apache::lonhtmlcommon::clear_breadcrumbs();  
     &Apache::lonhtmlcommon::add_breadcrumb  
         ({href => '/adm/preferences',  
           text => 'Set User Preferences'});  
   
     my @Options;  
     # Determine current authentication method  
     my $currentauth=&Apache::lonnet::queryauthenticate($user,$domain);  
     if ($currentauth =~ /^(unix|internal):/) {  
         push (@Options,({ action   => 'changepass',  
                           linktext => 'Change Password',  
                           href     => '/adm/preferences',  
                           help     => 'Change_Password',  
                           subroutine => \&passwordchanger,  
                           breadcrumb =>   
                               { href => '/adm/preferences?action=changepass',  
                                 text => 'Change Password'},  
                           },  
                         { action => 'verify_and_change_pass',  
                           subroutine => \&verify_and_change_password,  
                           breadcrumb =>   
                               { href =>'/adm/preferences?action=changepass',  
                                 text => 'Change Password'},  
                           printmenu => 'not_on_error',  
                           }));  
     }  
     push (@Options,({ action   => 'changescreenname',  
                       linktext => 'Change Screen Name',  
                       href     => '/adm/preferences',  
                       help     => 'Prefs_Screen_Name_Nickname',  
                       subroutine => \&screennamechanger,  
                       breadcrumb =>   
                           { href => '/adm/preferences?action=changescreenname',  
                             text => 'Change Screen Name'},  
                       },  
                     { action   => 'verify_and_change_screenname',  
                       subroutine => \&verify_and_change_screenname,  
                       breadcrumb =>   
                           { href => '/adm/preferences?action=changescreenname',  
                             text => 'Change Screen Name'},  
                       printmenu => 'yes',  
                       }));  
   
     push (@Options,({ action   => 'changemsgforward',  
                       linktext => 'Change Message Forwarding and Notification E-mail Addresses',  
                       href     => '/adm/preferences',  
                       help     => 'Prefs_Messages',  
                       breadcrumb =>   
                           { href => '/adm/preferences?action=changemsgforward',  
                             text => 'Change Message Forwarding/Notification'},  
                       subroutine => \&msgforwardchanger,  
                       },  
                     { action => 'verify_and_change_msgforward',  
                       help   => 'Prefs_Messages',  
                       breadcrumb =>   
                           { href => '/adm/preferences?action=changemsgforward',  
                             text => 'Change Message Forwarding/Notification'},  
                       printmenu => 'yes',  
                       subroutine => \&verify_and_change_msgforward }));  
     my $aboutmeaction=  
         '/adm/'.$env{'user.domain'}.'/'.$env{'user.name'}.'/aboutme';  
     push (@Options,{ action => 'none',   
                      linktext =>  
                          q{Edit the Personal Information Page},  
      help => 'Prefs_About_Me',  
                      href => $aboutmeaction});  
     push (@Options,({ action => 'changecolors',  
                       linktext => 'Change Color Scheme',  
                       href => '/adm/preferences',  
                       help => 'Change_Colors',  
                       breadcrumb =>   
                           { href => '/adm/preferences?action=changecolors',  
                             text => 'Change Colors'},  
                       subroutine => \&colorschanger,  
                   },  
                     { action => 'verify_and_change_colors',  
                       breadcrumb =>   
                           { href => '/adm/preferences?action=changecolors',  
                             text => 'Change Colors'},  
                       printmenu => 'yes',  
                       subroutine => \&verify_and_change_colors,  
                       }));  
     push (@Options,({ action => 'changelanguages',  
                       linktext => 'Change Language Preferences',  
                       href => '/adm/preferences',  
       help => 'Prefs_Language',  
                       breadcrumb=>  
                           { href => '/adm/preferences?action=changelanguages',  
                             text => 'Change Language'},  
                       subroutine =>  \&languagechanger,  
                   },  
                     { action => 'verify_and_change_languages',  
                       breadcrumb=>  
                           {href => '/adm/preferences?action=changelanguages',  
                            text => 'Change Language'},  
                       printmenu => 'yes',  
                       subroutine=>\&verify_and_change_languages, }  
                     ));  
     push (@Options,({ action => 'changewysiwyg',  
                       linktext => 'Change WYSIWYG Editor Preferences',  
                       href => '/adm/preferences',  
                       breadcrumb =>   
                             { href => '/adm/preferences?action=changewysiwyg',  
                               text => 'Change WYSIWYG Preferences'},  
                       subroutine => \&wysiwygchanger,  
                   },  
                     { action => 'set_wysiwyg',  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changewysiwyg',  
                             text => 'Change WYSIWYG Preferences'},  
                       printmenu => 'yes',  
                       subroutine => \&verify_and_change_wysiwyg, }  
                     ));  
     push (@Options,({ action => 'changediscussions',  
                       linktext => 'Change Discussion Display Preferences',  
                       href => '/adm/preferences',  
                       help => 'Change_Discussion_Display',  
                       breadcrumb =>   
                             { href => '/adm/preferences?action=changediscussions',  
                               text => 'Change Discussion Preferences'},  
                       subroutine => \&discussionchanger,  
                   },  
                     { action => 'verify_and_change_discussion',  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changediscussions',  
                             text => 'Change Discussion Preferences'},  
                       printmenu => 'yes',  
                       subroutine => \&verify_and_change_discussion, }  
                     ));  
   
     my $role = ($env{'user.adv'} ? 'Roles' : 'Course');  
     push (@Options,({ action   => 'changerolespref',  
                       linktext => 'Change '.$role.' Page Preferences',  
                       href     => '/adm/preferences',  
                       subroutine => \&rolesprefchanger,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changerolespref',  
                             text => 'Change '.$role.' Page Pref'},  
                       },  
                     { action   => 'verify_and_change_rolespref',  
                       subroutine => \&verify_and_change_rolespref,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changerolespref',  
                             text => 'Change '.$role.' Page Preferences'},  
                       printmenu => 'yes',  
                       }));  
   
     push (@Options,({ action   => 'changetexenginepref',  
                       linktext => 'Change How Math Equations Are Displayed',  
                       href     => '/adm/preferences',  
                       subroutine => \&texenginechanger,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changetexenginepref',  
                             text => 'Change Math Pref'},  
                       },  
                     { action   => 'verify_and_change_texengine',  
                       subroutine => \&verify_and_change_texengine,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changetexenginepref',  
                             text => 'Change Math Preferences'},  
                       printmenu => 'yes',  
                       }));  
   
     if ($env{'environment.remote'} eq 'off') {  
  push (@Options,({ action => 'launch',  
   linktext => 'Launch Remote Control',  
   href => '/adm/remote?url=/adm/preferences',  
       }));  
     } else {  
  push (@Options,({ action => 'collapse',  
   linktext => 'Collapse Remote Control',  
   href => '/adm/remote?url=/adm/preferences',  
       }));  
     }  
   
     push (@Options,({ action   => 'changeicons',  
                       linktext => 'Change How Menus are Displayed',  
                       href     => '/adm/preferences',  
                       subroutine => \&iconchanger,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changeicons',  
                             text => 'Change Main Menu'},  
                       },  
                     { action   => 'verify_and_change_icons',  
                       subroutine => \&verify_and_change_icons,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changeicons',  
                             text => 'Change Main Menu'},  
                       printmenu => 'yes',  
                       }));  
   
     push (@Options,({ action   => 'changeclicker',  
                       linktext => 'Register Response Devices ("Clickers")',  
                       href     => '/adm/preferences',  
                       subroutine => \&clickerchanger,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changeclicker',  
                             text => 'Register Clicker'},  
                       },  
                     { action   => 'verify_and_change_clicker',  
                       subroutine => \&verify_and_change_clicker,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=changeclicker',  
                             text => 'Register Clicker'},  
                       printmenu => 'yes',  
                       }));  
     my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au']);  
     if (keys(%author_roles) > 0) {  
       push (@Options,({ action   => 'changedomcoord',  
                         linktext => 'Restrict Domain Coordinator Access',  
                         href     => '/adm/preferences',  
                         subroutine => \&domcoordchanger,  
                         breadcrumb =>  
                             { href => '/adm/preferences?action=changedomcoord',  
                               text => 'Restrict Domain Coordinator Access'},  
                       },  
                       { action   => 'verify_and_change_domcoord',  
                         subroutine => \&verify_and_change_domcoord,  
                         breadcrumb =>  
                             { href => '/adm/preferences?action=changedomcoord',  
                               text => 'Restrict Domain Coordinator Access'},  
                         printmenu => 'yes',  
                       }));  
     }  
   
     push (@Options,({ action   => 'lockwarning',  
                       subroutine => \&lockwarning,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=lockwarning',  
                             text => 'Lock Warnings'},  
                       },  
                     { action   => 'verify_and_change_locks',  
                       subroutine => \&verify_and_change_lockwarning,  
                       breadcrumb =>  
                           { href => '/adm/preferences?action=lockwarning',  
                             text => 'Lockwarnings'},  
                       printmenu => 'yes',  
                       }));  
   
   
     if (&Apache::lonnet::allowed('whn',$env{'request.course.id'})  
  || &Apache::lonnet::allowed('whn',$env{'request.course.id'}.'/'  
     .$env{'request.course.sec'})) {  
         push (@Options,({ action => 'changecourseinit',  
                           linktext => 'Change Course Initialization Preference',  
                           href => '/adm/preferences',  
                           subroutine => \&coursedisplaychanger,  
                           breadcrumb =>  
                               { href => '/adm/preferences?action=changecourseinit',  
                                 text => 'Change Course Init. Pref.'},  
                           },  
                         { action => 'verify_and_change_coursepage',  
                           breadcrumb =>  
                           { href => '/adm/preferences?action=changecourseinit',                               text => 'Change Course Initialization Preference'},  
                         printmenu => 'yes',  
                         subroutine => \&verify_and_change_coursepage,  
                        }));  
     }  
   
     if (($env{'user.name'} =~ /^(albertel|fox|foxr|kortemey|korte|raeburn)$/)  
      && ($env{'user.domain'} =~/^(msu|gerd)$/)){  
         push (@Options,({ action => 'debugtoggle',  
                           printmenu => 'yes',  
                           subroutine => \&toggle_debug,  
                           }));  
     }  
   
     $r->print(&Apache::loncommon::start_page('Change Preferences'));  
   
     my $call = undef;  
     my $help = undef;  
     my $printmenu = 'yes';  
     foreach my $option (@Options) {  
         if ($option->{'action'} eq $env{'form.action'}) {  
             $call = $option->{'subroutine'};  
             $printmenu = $option->{'printmenu'};  
             if (exists($option->{'breadcrumb'})) {  
                 &Apache::lonhtmlcommon::add_breadcrumb  
                     ($option->{'breadcrumb'});  
             }  
     $help=$option->{'help'};  
         }  
     }  
     $r->print(&Apache::lonhtmlcommon::breadcrumbs('Change Preferences',$help));  
     my $error;  
     if (defined($call)) {  
         $error = $call->($r);  
     }  
     if ( ( ($printmenu eq 'yes')  
    || ($printmenu eq 'not_on_error' && !$error) )  
  && (!$env{'form.returnurl'})) {  
         my $optionlist = '<table cellpadding="5">';  
         if ($env{'user.name'} =~   
                          /^(albertel|kortemey|fox|foxr|korte|hallmat3|turtle|raeburn)$/  
             ) {  
             push (@Options,({ action => 'debugtoggle',  
                               linktext => 'Toggle Debug Messages',  
                               text => 'Current Debug status is -'.  
                                   $env{'user.debug'}.'-.',  
                               href => '/adm/preferences',  
                               printmenu => 'yes',  
                               subroutine => \&toggle_debug,  
                               }));  
         }  
         foreach my $option(@Options) {  
             my $optiontext = '';  
             if (exists($option->{'href'})) {  
  $option->{'href_args'}{'action'}=$option->{'action'};  
  $optiontext .=   
                     '<a href="'.&add_get_param($option->{'href'},  
        $option->{'href_args'}).'">'.  
                     &mt($option->{'linktext'}).'</a>';  
             }  
             if (exists($option->{'text'})) {  
                 $optiontext .= ' '.&mt($option->{'text'});  
             }  
             if ($optiontext ne '') {  
                 $optiontext = '<font size="+1">'.$optiontext.'</font>';   
                 my $helplink = '&nbsp;';  
                 if (exists($option->{'help'})) {  
                     $helplink = &Apache::loncommon::help_open_topic  
                                                     ($option->{'help'});  
                 }  
                 $optionlist .= '<tr>'.  
                     '<td>'.$helplink.'</td>'.  
                     '<td>'.$optiontext.'</td>'.  
                     '</tr>';  
             }  
         }  
         $optionlist .= '</table>';  
         $r->print($optionlist);  
     } elsif ($env{'form.returnurl'}) {  
  $r->print('<br /><a href="'.$env{'form.returnurl'}.'"><font size="+1">'.  
   &mt('Return').'</font></a>');  
     }      }
     $r->print(&Apache::loncommon::end_page());  
     return OK;      return OK;
 }  }
   

Removed from v.1.162  
changed lines
  Added in v.1.167


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