Diff for /loncom/interface/lonpreferences.pm between versions 1.243 and 1.247

version 1.243, 2023/11/11 03:13:07 version 1.247, 2025/03/05 05:24:42
Line 491  sub screennamechanger { Line 491  sub screennamechanger {
                   text => 'Change Screen Name'});                    text => 'Change Screen Name'});
     $r->print(Apache::loncommon::start_page('Personal Data'));      $r->print(Apache::loncommon::start_page('Personal Data'));
     $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Screen Name'));      $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Screen Name'));
     $r->print('<p>'      $r->print('<div class="LC_landmark" role="main"><p>'
              .&mt('Change the name that is displayed in your posts.')               .&mt('Change the name that is displayed in your posts.')
              .'</p>'               .'</p>'
     );      );
     $r->print('<form name="prefs" action="/adm/preferences" method="post">'      $r->print('<form name="prefs" action="/adm/preferences" method="post">'
              .'<input type="hidden" name="action" value="verify_and_change_screenname" />'               .'<input type="hidden" name="action" value="verify_and_change_screenname" />'
              .&Apache::lonhtmlcommon::start_pick_box()               .&Apache::lonhtmlcommon::start_pick_box()
              .&Apache::lonhtmlcommon::row_title(&mt('Screenname').' '.&mt('(shown if you post anonymously)'))               .&Apache::lonhtmlcommon::row_title('<label for="screenname">'.&mt('Screenname').'</label> '.&mt('(shown if you post anonymously)'))
              .'<input type="text" size="20" value="'.$screenname.'" name="screenname" />'               .'<input type="text" size="20" value="'.$screenname.'" name="screenname" id="screenname" />'
              .&Apache::lonhtmlcommon::row_closure()               .&Apache::lonhtmlcommon::row_closure()
              .&Apache::lonhtmlcommon::row_title(&mt('Nickname').' '.&mt('(shown if you post non-anonymously)'))               .&Apache::lonhtmlcommon::row_title('<label for="nickname">'.&mt('Nickname').'</label> '.&mt('(shown if you post non-anonymously)'))
              .'<input type="text" size="20" value="'.$nickname.'" name="nickname" />'               .'<input type="text" size="20" value="'.$nickname.'" name="nickname" id="nickname" />'
              .&Apache::lonhtmlcommon::row_closure()               .&Apache::lonhtmlcommon::row_closure()
              .&Apache::lonhtmlcommon::row_title()               .&Apache::lonhtmlcommon::row_title('<span class="LC_visually_hidden">'.&mt('Submit').':</span>','','','',1)
              .'<input type="submit" value="'.&mt('Save').'" />'               .'<input type="submit" value="'.&mt('Save').'" />'
              .&Apache::lonhtmlcommon::row_closure(1)               .&Apache::lonhtmlcommon::row_closure(1)
              .&Apache::lonhtmlcommon::end_pick_box()               .&Apache::lonhtmlcommon::end_pick_box()
              .'</form>'               .'</form></div>'
     );      );
 }  }
   
Line 864  sub msgforwardchanger { Line 864  sub msgforwardchanger {
     my $validatescript = &Apache::lonhtmlcommon::javascript_valid_email();      my $validatescript = &Apache::lonhtmlcommon::javascript_valid_email();
     my $jscript = qq|      my $jscript = qq|
 <script type="text/javascript" language="JavaScript">  <script type="text/javascript" language="JavaScript">
   // <![CDATA[
 function validate() {  function validate() {
     for (var i=0; i<document.prefs.numnotify.value; i++) {      for (var i=0; i<document.prefs.numnotify.value; i++) {
         var checkaddress = 0;          var checkaddress = 0;
Line 916  function modify_address(adnum) { Line 917  function modify_address(adnum) {
 }   } 
   
 $validatescript  $validatescript
   
   // ]]>
 </script>  </script>
 |;  |;
     $r->print(<<ENDMSG);      $r->print(<<ENDMSG);
Line 1189  sub colorschanger { Line 1192  sub colorschanger {
     my $resetbuttondesc = &mt('Reset All Colors to Default');      my $resetbuttondesc = &mt('Reset All Colors to Default');
     my $colorchooser=&Apache::lonhtmlcommon::color_picker();      my $colorchooser=&Apache::lonhtmlcommon::color_picker();
     $r->print('<script type="text/javascript" language="JavaScript">      $r->print('<script type="text/javascript" language="JavaScript">
 ' . $colorchooser . '  // <![CDATA[' ."\n". $colorchooser . "\n". '
   // ]]>
 </script>  </script>
 ');  ');
     $r->print(<<ENDCOL);      $r->print(<<ENDCOL);
Line 1272  sub passwordchanger { Line 1276  sub passwordchanger {
                   text => 'Change Password'});                    text => 'Change Password'});
     unless ($caller eq 'reset_by_email') {      unless ($caller eq 'reset_by_email') {
         $r->print(Apache::loncommon::start_page('Personal Data'));          $r->print(Apache::loncommon::start_page('Personal Data'));
         $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Password'));          $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Password').
                     '<div class="LC_landmark" role="main">');
     }      }
     if ((!defined($caller)) || ($caller eq 'preferences')) {      if ((!defined($caller)) || ($caller eq 'preferences')) {
         $user = $env{'user.name'};          $user = $env{'user.name'};
Line 1371  sub passwordchanger { Line 1376  sub passwordchanger {
     $r->print(<<ENDFORM);      $r->print(<<ENDFORM);
 $errormessage  $errormessage
   
 <p>  <p></p>
 <!-- We separate the forms into 'server' and 'client' in order to  <!-- We separate the forms into 'server' and 'client' in order to
      ensure that unencrypted passwords will not be sent out by a       ensure that unencrypted passwords will not be sent out by a
      crappy browser -->       crappy browser -->
Line 1480  sub jscript_send { Line 1485  sub jscript_send {
 ENDJS  ENDJS
     my $output = qq|      my $output = qq|
 <script type="text/javascript" language="JavaScript">  <script type="text/javascript" language="JavaScript">
   // <![CDATA[
     function send() {      function send() {
 $passwdcheck  $passwdcheck
         uextkey=this.document.client.elements.ukey_cpass.value;          uextkey=this.document.client.elements.ukey_cpass.value;
Line 1519  $passwdcheck Line 1524  $passwdcheck
         this.document.pserver.submit();          this.document.pserver.submit();
     }      }
   
   // ]]>
 </script>  </script>
 |;  |;
 }  }
Line 1557  sub client_form { Line 1563  sub client_form {
     } else {      } else {
         $output .= &Apache::lonhtmlcommon::row_title(          $output .= &Apache::lonhtmlcommon::row_title(
                        '<label for="currentpass">'.$lt{'currentpass'}.'</label>')                         '<label for="currentpass">'.$lt{'currentpass'}.'</label>')
                   .'<input type="password" name="currentpass" size="20"/>'                    .'<input type="password" name="currentpass" id="currentpass" size="20" />'
                   .&Apache::lonhtmlcommon::row_closure();                    .&Apache::lonhtmlcommon::row_closure();
     }      }
     $output .= &Apache::lonhtmlcommon::row_title(      $output .= &Apache::lonhtmlcommon::row_title(
                    '<label for="newpass_1">'.$lt{'newpass'}.'</label>')                     '<label for="newpass_1">'.$lt{'newpass'}.'</label>')
               .'<input type="password" name="newpass_1" size="20" />'                .'<input type="password" name="newpass_1" id="newpass_1" size="20" />'
               .&Apache::lonhtmlcommon::row_closure()                .&Apache::lonhtmlcommon::row_closure()
               .&Apache::lonhtmlcommon::row_title(                .&Apache::lonhtmlcommon::row_title(
                    '<label for="newpass_2">'.$lt{'confirmpass'}.'</label>')                     '<label for="newpass_2">'.$lt{'confirmpass'}.'</label>')
               .'<input type="password" name="newpass_2" size="20" />'                .'<input type="password" name="newpass_2" id="newpass_2" size="20" />'
               .&Apache::lonhtmlcommon::row_closure(1)                .&Apache::lonhtmlcommon::row_closure(1)
               .&Apache::lonhtmlcommon::end_pick_box();                .&Apache::lonhtmlcommon::end_pick_box();
     if ($caller eq 'reset_by_email') {      if ($caller eq 'reset_by_email') {
Line 1581  sub client_form { Line 1587  sub client_form {
 <input type="hidden" name="ukey_npass2" value="$hexkey->{'ukey_npass2'}" />  <input type="hidden" name="ukey_npass2" value="$hexkey->{'ukey_npass2'}" />
 <input type="hidden" name="lkey_npass2" value="$hexkey->{'lkey_npass2'}" />  <input type="hidden" name="lkey_npass2" value="$hexkey->{'lkey_npass2'}" />
 </form>  </form>
 </p>  
 |;  |;
     return $output;      return $output;
 }  }
Line 2080  sub author_space_settings { Line 2085  sub author_space_settings {
     if (keys(%author_roles) > 0) {      if (keys(%author_roles) > 0) {
         my ($showdomdefs,$js,$args,@items);          my ($showdomdefs,$js,$args,@items);
         my $returnurl = &HTML::Entities::encode($env{'form.returnurl'},'"<>&\'');          my $returnurl = &HTML::Entities::encode($env{'form.returnurl'},'"<>&\'');
         my $reqdmajor = 2;          if (&expanded_authoring_settings()) {
         my $reqdminor = 12;              @items = ('nocodemirror');
         my $loncaparev = &Apache::lonnet::get_server_loncaparev($env{'user.domain'},$env{'user.home'});              if (&daxe_permitted(\%author_roles)) {
         my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/);                  push(@items,'daxecollapse');
         unless (($major eq '' && $minor eq '') ||              }
                 ($reqdmajor > $major) || (($reqdmajor == $major) && ($reqdminor > $minor))) {              push(@items,('copyright','sourceavail'));
             @items = ('nocodemirror','copyright','sourceavail');  
             $showdomdefs = 1;              $showdomdefs = 1;
             $js = &toggle_options_js();              $js = &toggle_options_js();
             my $onload;              my $onload;
Line 2102  sub author_space_settings { Line 2106  sub author_space_settings {
             my %domdefs = &Apache::lonnet::get_domain_defaults($domain);              my %domdefs = &Apache::lonnet::get_domain_defaults($domain);
             my %staticdefaults = (              my %staticdefaults = (
                             'nocodemirror'  => '0',                              'nocodemirror'  => '0',
                               'daxecollapse'  => '0',
                             'copyright'     => 'default',                              'copyright'     => 'default',
                             'sourceavail'   => 'closed',                              'sourceavail'   => 'closed',
             );              );
             my %lt = &authoring_settings_text();              my %lt = &authoring_settings_text();
             my %titles = &authoring_settings_titles();              my %titles = &authoring_settings_titles();
             $r->print("<h3>$lt{'auss'}</h3><br /><hr />\n".              $r->print("<h3>$lt{'auss'}</h3>".
                       '<form name="prefs" action="/adm/preferences" method="post">'."\n".                        '<form name="prefs" action="/adm/preferences" method="post">'."\n".
                         '<input type="submit" value="'.$lt{'save'}.'" /><br /><hr />'."\n".
                       '<input type="hidden" name="returnurl" value="'.$returnurl.'" />'."\n".                        '<input type="hidden" name="returnurl" value="'.$returnurl.'" />'."\n".
                       '<input type="hidden" name="action" value="change_authoring_settings" />'."\n");                        '<input type="hidden" name="action" value="change_authoring_settings" />'."\n");
             foreach my $item (@items) {              foreach my $item (@items) {
Line 2130  sub author_space_settings { Line 2136  sub author_space_settings {
                     $userelem = &selectbox('userchoice_'.$item,$userenv{$item},'',                      $userelem = &selectbox('userchoice_'.$item,$userenv{$item},'',
                                            \&Apache::loncommon::source_copyrightdescription,                                             \&Apache::loncommon::source_copyrightdescription,
                                            (&Apache::loncommon::source_copyrightids));                                             (&Apache::loncommon::source_copyrightids));
                 } elsif ($item eq 'nocodemirror') {                  } elsif (($item eq 'nocodemirror') || ($item eq 'daxecollapse')) {
                     if ($domdef) {                      if ($domdef) {
                         $domdefdisplay = $lt{'yes'};                          if ($item eq 'daxecollapse') {
                               $domdefdisplay = $lt{'coll'};
                           } else {
                               $domdefdisplay = $lt{'yes'};
                           }
                     } else {                      } else {
                         $domdefdisplay = $lt{'no'};                          if ($item eq 'daxecollapse') {
                               $domdefdisplay = $lt{'expa'};
                           } else {
                               $domdefdisplay = $lt{'no'};
                           }
                     }                      }
                     my %checked;                      my (%checked,%text);
                     $checked{'no'} = ' checked="checked"';                      $checked{'no'} = ' checked="checked"';
                     if ($userenv{$item} eq 'yes') {                      if ($userenv{$item} eq 'yes') {
                         $checked{'yes'} = $checked{'no'};                          $checked{'yes'} = $checked{'no'};
                         $checked{'no'} = '';                          $checked{'no'} = '';
                     }                      }
                       if ($item eq 'daxecollapse') {
                           %text = (
                                    yes => $lt{'coll'},
                                    no  => $lt{'expa'},
                                  );
                       } else {
                           %text = (
                                    yes => $lt{'yes'},
                                    no  => $lt{'no'},
                                  );
                       }
                     $userelem = '<span class="LC_nobreak">';                      $userelem = '<span class="LC_nobreak">';
                     foreach my $choice ('yes','no') {                      foreach my $choice ('yes','no') {
                         $userelem .= '<label><input type="radio" name="userchoice_'.$item.'" value="'.$choice.'"'.                          $userelem .= '<label><input type="radio" name="userchoice_'.$item.'" value="'.$choice.'"'.
                                      $checked{$choice}.' />'.$lt{$choice}.'</label>&nbsp;&nbsp;&nbsp;';                                       $checked{$choice}.' />'.$text{$choice}.'</label>&nbsp;&nbsp;&nbsp;';
                     }                      }
                     $userelem .= '</span>';                      $userelem .= '</span>';
                 }                  }
Line 2166  $userelem Line 2191  $userelem
 </fieldset><br /><hr />  </fieldset><br /><hr />
 END  END
             }              }
             $r->print('<br />'.              $r->print('<input type="submit" value="'.$lt{'save'}.'" />'.
                       '<input type="submit" value="'.$lt{'save'}.'" />'.  
                       '</form>'."\n");                        '</form>'."\n");
         } else {          } else {
             my $constchecked='';              my $constchecked='';
Line 2197  sub change_authoring_settings { Line 2221  sub change_authoring_settings {
     my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au','ca','aa']);      my %author_roles = &Apache::lonnet::get_my_roles($user,$domain,'userroles','',['au','ca','aa']);
     if (keys(%author_roles) > 0) {      if (keys(%author_roles) > 0) {
         my $message;          my $message;
         my $reqdmajor = 2;          if (!&expanded_authoring_settings()) {
         my $reqdminor = 12;  
         my $loncaparev = &Apache::lonnet::get_server_loncaparev($env{'user.domain'},$env{'user.home'});  
         my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/);  
         if (($major eq '' && $minor eq '') ||  
             ($reqdmajor > $major) || (($reqdmajor == $major) && ($reqdminor > $minor))) {  
             my %ausettings=('environment.nocodemirror' => '');              my %ausettings=('environment.nocodemirror' => '');
             if ($env{'form.cmoff'}) { $ausettings{'environment.nocodemirror'}='yes'; }              if ($env{'form.cmoff'}) { $ausettings{'environment.nocodemirror'}='yes'; }
             &Apache::lonnet::put('environment',\%ausettings);              &Apache::lonnet::put('environment',\%ausettings);
Line 2216  sub change_authoring_settings { Line 2235  sub change_authoring_settings {
             $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Deactivate CodeMirror in Authoring Space').'</i>','<tt>'.$status.'</tt>'));              $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Deactivate CodeMirror in Authoring Space').'</i>','<tt>'.$status.'</tt>'));
             $message=&Apache::loncommon::confirmwrapper($message);              $message=&Apache::loncommon::confirmwrapper($message);
         } else {          } else {
             my @items = ('nocodemirror','copyright','sourceavail');              my @items = ('nocodemirror');
               if (&daxe_permitted(\%author_roles)) {
                   push(@items,'daxecollapse');
               }
               push(@items,('copyright','sourceavail'));
             my %oldsettings = &Apache::lonnet::get('environment',\@items);              my %oldsettings = &Apache::lonnet::get('environment',\@items);
             my %domdefs = &Apache::lonnet::get_domain_defaults($domain);              my %domdefs = &Apache::lonnet::get_domain_defaults($domain);
             my %lt = &authoring_settings_text();              my %lt = &authoring_settings_text();
Line 2232  sub change_authoring_settings { Line 2255  sub change_authoring_settings {
                 } elsif ($env{'form.'.$item} eq 'user') {                  } elsif ($env{'form.'.$item} eq 'user') {
                     my $newval = $env{'form.userchoice_'.$item};                      my $newval = $env{'form.userchoice_'.$item};
                     my @possibles;                      my @possibles;
                     if ($item eq 'nocodemirror') {                      if (($item eq 'nocodemirror') || ($item eq 'daxecollapse')) {
                         if ($newval =~ /^yes|no$/) {                          if ($newval =~ /^yes|no$/) {
                             $newsettings{$item} = $newval;                              $newsettings{$item} = $newval;
                         }                          }
Line 2287  sub change_authoring_settings { Line 2310  sub change_authoring_settings {
                     my $value = $changes{$item};                      my $value = $changes{$item};
                     if ($item eq 'nocodemirror') {                      if ($item eq 'nocodemirror') {
                         $value = $lt{$changes{$item}};                          $value = $lt{$changes{$item}};
                       } elsif ($item eq 'daxecollapse') {
                           if ($value eq 'yes') {
                               $value = $lt{'coll'};
                           } else {
                               $value = $lt{'expa'};
                           }
                     } elsif ($item eq 'copyright') {                      } elsif ($item eq 'copyright') {
                         $value = &Apache::loncommon::copyrightdescription($changes{$item});                          $value = &Apache::loncommon::copyrightdescription($changes{$item});
                     } elsif ($item eq 'sourceavail') {                      } elsif ($item eq 'sourceavail') {
Line 2334  sub authoring_settings_text { Line 2363  sub authoring_settings_text {
                'save' => 'Save',                 'save' => 'Save',
                'yes'  => 'Deactivated',                 'yes'  => 'Deactivated',
                'no'   => 'Activated',                 'no'   => 'Activated',
                  'expa' => 'Start Expanded',
                  'coll' => 'Start Collapsed',
      );       );
 }  }
   
 sub authoring_settings_titles {  sub authoring_settings_titles {
     return &Apache::lonlocal::texthash(      return &Apache::lonlocal::texthash(
                'nocodemirror' => 'CodeMirror for EditXML editor',                 'nocodemirror' => 'CodeMirror for EditXML editor',
                  'daxecollapse' => 'Daxe editor: collapsible standard LON-CAPA menus',
                'copyright'    => 'Default Copyright/Distribution in new metadata file',                 'copyright'    => 'Default Copyright/Distribution in new metadata file',
                'sourceavail'  => 'Default Source Available in new metadata file',                 'sourceavail'  => 'Default Source Available in new metadata file',
     );      );
 }  }
   
   sub expanded_authoring_settings {
       my $reqdmajor = 2;
       my $reqdminor = 12;
       my $loncaparev = &Apache::lonnet::get_server_loncaparev($env{'user.domain'},$env{'user.home'});
       my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/);
       unless (($major eq '' && $minor eq '') ||
               ($reqdmajor > $major) || (($reqdmajor == $major) && ($reqdminor > $minor))) {
           return 1;
       }
       return;
   }
   
   sub daxe_permitted {
       my ($aurolesref) = @_;
       my $hasdaxe;
       if (ref($aurolesref) eq 'HASH') {
           my %editors;
           foreach my $key (keys(%{$aurolesref})) {
               if ($key =~ /^:$LONCAPA::match_domain:au$/) {
                   if (exists($env{'environment.editors'})) {
                       if (grep(/^daxe$/,split(/,/,$env{'environment.editors'}))) {
                           $hasdaxe = 1;
                           last;
                       }
                   }
               } else {
                   my ($auname,$audom) = ($key =~ /^($LONCAPA::match_username):($LONCAPA::match_domain):(ca|aa)$/);
                   if (exists($env{"environment.internal.editors./$audom/$auname"})) {
                       if (grep(/^daxe$/,split(/,/,$env{"environment.internal.editors./$audom/$auname"}))) {
                           $hasdaxe = 1;
                           last;
                       }
                   }
               }
           }
       }
       return $hasdaxe;
   }
   
 sub lockednameschanger {  sub lockednameschanger {
     my $r = shift;      my $r = shift;
     my %userenv = &Apache::lonnet::get('environment',['lockedname']);      my %userenv = &Apache::lonnet::get('environment',['lockedname']);
Line 2547  my @menu= Line 2618  my @menu=
  permission => $permissions{'aboutme'},   permission => $permissions{'aboutme'},
  #help => 'Prefs_About_Me',   #help => 'Prefs_About_Me',
  icon => 'system-users.png',   icon => 'system-users.png',
                   alttext => 'About Me Icon',
  linktitle => 'Edit information about yourself that should be displayed on your public profile.'   linktitle => 'Edit information about yourself that should be displayed on your public profile.'
     },      },
     { linktext => 'Screen Name',      { linktext => 'Screen Name',
Line 2554  my @menu= Line 2626  my @menu=
  permission => 'F',   permission => 'F',
  #help => 'Prefs_Screen_Name_Nickname',   #help => 'Prefs_Screen_Name_Nickname',
  icon => 'preferences-desktop-font.png',   icon => 'preferences-desktop-font.png',
                   alttext => 'Nickname Icon',
  linktitle => 'Change the name that is displayed in your posts.'   linktitle => 'Change the name that is displayed in your posts.'
     },      },
  ]   ]
Line 2565  my @menu= Line 2638  my @menu=
  permission => 'F',   permission => 'F',
  #help => 'Prefs_Language',   #help => 'Prefs_Language',
  icon => 'preferences-desktop-locale.png',   icon => 'preferences-desktop-locale.png',
                   alttext => 'Language Icon',
  linktitle => 'Choose the default language for this user.'   linktitle => 'Choose the default language for this user.'
     },      },
     { linktext => $role.' Page',      { linktext => $role.' Page',
Line 2572  my @menu= Line 2646  my @menu=
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'role_hotlist.png',   icon => 'role_hotlist.png',
                   alttext => 'Switch Role Icon',
  linktitle => 'Configure the roles hotlist.'   linktitle => 'Configure the roles hotlist.'
     },      },
     { linktext => 'Math display settings',      { linktext => 'Math display settings',
Line 2579  my @menu= Line 2654  my @menu=
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'dismath.png',   icon => 'dismath.png',
                   alttext => 'Math Icon',
  linktitle => 'Change how math is displayed.'   linktitle => 'Change how math is displayed.'
     },      },
             {              {
Line 2587  my @menu= Line 2663  my @menu=
                 permission => $permissions{'timezone'},                  permission => $permissions{'timezone'},
                 #help => '',                  #help => '',
                 icon => 'timezone.png',                  icon => 'timezone.png',
                   alttext => 'Clock Icon',
                 linktitle => 'Set your time zone.',                  linktitle => 'Set your time zone.',
              }               }
  ]   ]
Line 2598  my @menu= Line 2675  my @menu=
  permission => 'F',   permission => 'F',
  #help => 'Change_Colors',   #help => 'Change_Colors',
  icon => 'preferences-desktop-theme.png',   icon => 'preferences-desktop-theme.png',
                   alttext => 'Colors Icon',
  linktitle => 'Change LON-CAPA default colors.'   linktitle => 'Change LON-CAPA default colors.'
     },      },
             {   linktext => 'Menu Display',              {   linktext => 'Menu Display',
Line 2605  my @menu= Line 2683  my @menu=
                 permission => 'F',                  permission => 'F',
                 #help => '',                  #help => '',
                 icon => 'preferences-system-windows.png',                  icon => 'preferences-system-windows.png',
                   alttext => 'Menus Icon',
                 linktitle => 'Change whether the menus are displayed with icons or icons and text.'                  linktitle => 'Change whether the menus are displayed with icons or icons and text.'
             }              }
  ]   ]
Line 2616  my @menu= Line 2695  my @menu=
  permission => 'F',   permission => 'F',
  #help => 'Prefs_Messages',   #help => 'Prefs_Messages',
  icon => 'mail-reply-all.png',   icon => 'mail-reply-all.png',
                   alttext => 'Notifications Icon',
  linktitle => 'Change messageforwarding or notifications settings.'   linktitle => 'Change messageforwarding or notifications settings.'
     },      },
     { linktext => 'Discussion Display',      { linktext => 'Discussion Display',
Line 2623  my @menu= Line 2703  my @menu=
  permission => 'F',   permission => 'F',
  #help => 'Change_Discussion_Display',   #help => 'Change_Discussion_Display',
  icon => 'chat.png',   icon => 'chat.png',
                   alttext => 'Discussions Icon', 
  linktitle => 'Set display preferences for discussion posts for both discussion boards and individual resources in all your courses.'   linktitle => 'Set display preferences for discussion posts for both discussion boards and individual resources in all your courses.'
     },      },
  ]   ]
Line 2637  if (keys(%author_coauthor_roles) > 0) { Line 2718  if (keys(%author_coauthor_roles) > 0) {
                   url => '/adm/preferences?action=authorsettings',                    url => '/adm/preferences?action=authorsettings',
                   permission => 'F',                    permission => 'F',
                   icon => 'codemirror.png',                    icon => 'codemirror.png',
                     alttext => 'Coding Icon',
                   linktitle => 'Settings for your authoring space.',                    linktitle => 'Settings for your authoring space.',
              },               },
                   ]                    ]
Line 2649  if (keys(%author_coauthor_roles) > 0) { Line 2731  if (keys(%author_coauthor_roles) > 0) {
         permission => 'F',          permission => 'F',
         #help => '',          #help => '',
         icon => 'system-lock-screen.png',          icon => 'system-lock-screen.png',
           alttext => 'Lock Icon',
         linktitle => 'Restrict domain coordinator access.',          linktitle => 'Restrict domain coordinator access.',
         });          });
     }      }
Line 2661  push(@menu, Line 2744  push(@menu,
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'network-workgroup.png',   icon => 'network-workgroup.png',
                   alttext => 'Clicker Icon',
  linktitle => 'Register your clicker.'   linktitle => 'Register your clicker.'
     },      },
  ]   ]
Line 2674  push(@menu, Line 2758  push(@menu,
  permission => 'F',   permission => 'F',
  #help => 'Change_Password',   #help => 'Change_Password',
  icon => 'emblem-readonly.png',   icon => 'emblem-readonly.png',
           alttext => 'Secure Icon', 
  linktitle => 'Change your password.',   linktitle => 'Change your password.',
  });   });
     }      }
Line 2685  push(@menu, Line 2770  push(@menu,
         permission => 'F',          permission => 'F',
         #help => '',          #help => '',
         icon => 'system-lock-screen.png',          icon => 'system-lock-screen.png',
           alttext => 'Screen Lock Icon',
         linktitle => 'Allow/disallow propagation of name changes from institutional directory service',          linktitle => 'Allow/disallow propagation of name changes from institutional directory service',
         });          });
     }      }
Line 2698  push(@{ $menu[-1]->{items} }, { Line 2784  push(@{ $menu[-1]->{items} }, {
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'course_ini.png',   icon => 'course_ini.png',
           alttext => 'Course Launch Icon',
  linktitle => 'Set the default page to be displayed when you select a course role.',   linktitle => 'Set the default page to be displayed when you select a course role.',
  });   });
   
Line 2710  push(@{ $menu[-1]->{items} }, { Line 2797  push(@{ $menu[-1]->{items} }, {
  permission => 'F',   permission => 'F',
  #help => '',   #help => '',
  icon => 'blog.png',   icon => 'blog.png',
           alttext => 'Debugging Icon', 
  linktitle => 'Toggle Debug Messages.',   linktitle => 'Toggle Debug Messages.',
  });   });
     }      }
   
     $r->print(&Apache::loncommon::start_page('My Space'));      $r->print(&Apache::loncommon::start_page('My Space'));
     $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Preferences'));      $r->print(Apache::lonhtmlcommon::breadcrumbs('Change Preferences'));
     $r->print($message);      $r->print('<div class="LC_landmark" role="main">'."\n".$message);
     $r->print(Apache::lonhtmlcommon::generate_menu(@menu));      $r->print(Apache::lonhtmlcommon::generate_menu(@menu)."\n".'</div>');
     $r->print(Apache::loncommon::end_page());      $r->print(Apache::loncommon::end_page());
 }  }
   
Line 2770  sub handler { Line 2858  sub handler {
         $ended = 1;          $ended = 1;
     }elsif($env{'form.action'} eq 'changepass'){      }elsif($env{'form.action'} eq 'changepass'){
         &passwordchanger($r);          &passwordchanger($r);
           $r->print('</div>');
     }elsif($env{'form.action'} eq 'verify_and_change_pass'){      }elsif($env{'form.action'} eq 'verify_and_change_pass'){
         &verify_and_change_password($r,'preferences','','','',\$ended);          &verify_and_change_password($r,'preferences','','','',\$ended);
     }elsif($env{'form.action'} eq 'changescreenname'){      }elsif($env{'form.action'} eq 'changescreenname'){

Removed from v.1.243  
changed lines
  Added in v.1.247


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