Diff for /loncom/interface/lonpreferences.pm between versions 1.196.4.24 and 1.227

version 1.196.4.24, 2018/09/03 14:03:03 version 1.227, 2018/04/27 22:42:20
Line 167  sub texenginechanger { Line 167  sub texenginechanger {
     my %mathchoices=('' => 'Default',      my %mathchoices=('' => 'Default',
      'tth' => 'tth (TeX to HTML)',       'tth' => 'tth (TeX to HTML)',
      #'ttm' => 'TeX to MathML',       #'ttm' => 'TeX to MathML',
                      'MathJax' => 'MathJax',       'MathJax' => 'MathJax',
      'mimetex' => 'mimetex (Convert to Images)',       'mimetex' => 'mimetex (Convert to Images)',
                      'raw' => 'Raw (Screen Reader)'                       'raw' => 'Raw (Screen Reader)'
                      );                       );
Line 184  sub texenginechanger { Line 184  sub texenginechanger {
       'change'   => 'Save',        'change'   => 'Save',
       'exmpl'    => 'Examples',        'exmpl'    => 'Examples',
       'mathjax'  => 'MathJax:',        'mathjax'  => 'MathJax:',
       'mathjaxinfo' =>  'MathJax provides rendered equations whose source code can be extracted in TeX and MathML formats by right clicking the equation.',        'mathjaxinfo' => 'MathJax provides rendered equations whose source code can be extracted in TeX and MathML formats by right clicking the equation.',
       'tth'      => 'tth (TeX to HTML):',        'tth'      => 'tth (TeX to HTML):',
       'mimetex'  => 'mimetex (Convert to Images):',        'mimetex'  => 'mimetex (Convert to Images):',
     );      );
Line 282  sub rolesprefchanger { Line 282  sub rolesprefchanger {
     my $hotlist_n=$userenv{'recentrolesn'};      my $hotlist_n=$userenv{'recentrolesn'};
     my ($checkedon,$checkedoff);      my ($checkedon,$checkedoff);
     if ($hotlist_flag) {      if ($hotlist_flag) {
         $checkedon = 'checked="checked"';    $checkedon = 'checked="checked"';
     } else {      } else {
         $checkedoff = 'checked="checked"';          $checkedoff = 'checked="checked"';
     }      }
Line 365  $options.' Line 365  $options.'
 &Apache::lonhtmlcommon::row_closure(1).  &Apache::lonhtmlcommon::row_closure(1).
 &Apache::lonhtmlcommon::end_pick_box().'  &Apache::lonhtmlcommon::end_pick_box().'
 </div>');  </div>');
     if ($roles_check_list) {      if ($roles_check_list) { 
         $r->print('<div class="LC_left_float">          $r->print('<div class="LC_left_float">
 <h4>'.&mt('Freeze Roles').'</h4>  <h4>'.&mt('Freeze Roles').'</h4>
 <p>'.&mt('The table below can be used to [_1]freeze[_2] '.$lc_role.'s in the Hotlist.','<q>','</q>').'<br />'.  <p>'.&mt('The table below can be used to [_1]freeze[_2] '.$lc_role.'s in the Hotlist.','<q>','</q>').'<br />'.
Line 477  sub verify_and_change_rolespref { Line 477  sub verify_and_change_rolespref {
 }  }
   
   
   
 ################################################################  ################################################################
 #         Anonymous Discussion Name Change Subroutines         #  #         Anonymous Discussion Name Change Subroutines         #
 ################################################################  ################################################################
Line 686  sub verify_and_change_clicker { Line 685  sub verify_and_change_clicker {
     my $r = shift;      my $r = shift;
     my $user       = $env{'user.name'};      my $user       = $env{'user.name'};
     my $domain     = $env{'user.domain'};      my $domain     = $env{'user.domain'};
       my $uhome      = $env{'user.home'};
     my $newclickers  = $env{'form.clickers'};      my $newclickers  = $env{'form.clickers'};
       my $message;
     $newclickers=~s/[^\w\:\-]+/\,/gs;      $newclickers=~s/[^\w\:\-]+/\,/gs;
     $newclickers=~tr/a-z/A-Z/;      $newclickers=~tr/a-z/A-Z/;
     $newclickers=~s/[\:\-]+/\-/g;      $newclickers=~s/[\:\-]+/\-/g;
     $newclickers=~s/\,+/\,/g;      $newclickers=~s/\,+/\,/g;
     $newclickers=~s/^\,//;      $newclickers=~s/^\,//;
     $newclickers=~s/\,$//;      $newclickers=~s/\,$//;
     &Apache::lonnet::put('environment',{'clickers' => $newclickers});      my @oldclickers = split(/,/,$env{'environment.clickers'});
     &Apache::lonnet::appenv({'environment.clickers' => $newclickers});      my @newclickers = split(/,/,$newclickers);
     my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers));      my %newuniq;
       map { $newuniq{$_} = 1; }  @newclickers;
       @newclickers = sort(keys(%newuniq));
       my @differences = &Apache::loncommon::compare_arrays(\@oldclickers,\@newclickers);
       if (@differences) {
           my $putres = &Apache::lonnet::put('environment',{'clickers' => $newclickers});
           if ($putres eq 'ok') {
               my @adds = ();
               my @dels = ();
               foreach my $item (@differences) {
                   if (grep(/^\Q$item\E$/,@newclickers)) {
                       push(@adds,$item);
                   } else {
                       push(@dels,$item);
                   }
               }
               if (@dels) {
                    my %delclicker;
                    map { $delclicker{$_} = $user; } @dels;
                    my $putresult = &Apache::lonnet::iddel($domain,\%delclicker,$uhome,'clickers');
               }
               if (@adds) {
                    my %addclicker;
                    map { $addclicker{$_} = $user; } @adds;
                    my $putresult = &Apache::lonnet::updateclickers($domain,'add',\%addclicker,$uhome,1);
               }
               &Apache::lonnet::appenv({'environment.clickers' => $newclickers});
               $message=&Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers));
           } else {
               $message=&Apache::lonhtmlcommon::confirm_success(&mt('Error saving clicker ID').1);
           }
       } else {
           $message='<span class="LC_info">'.&mt('Clicker information unchanged').'</span>';
       }
     $message=&Apache::loncommon::confirmwrapper($message);      $message=&Apache::loncommon::confirmwrapper($message);
     &print_main_menu($r, $message);      &print_main_menu($r, $message);
 }  }
Line 1145  sub colorschanger { Line 1179  sub colorschanger {
     foreach my $item (sort(keys(%colortypes))) {      foreach my $item (sort(keys(%colortypes))) {
        my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain);         my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain);
        $chtable.=&Apache::loncommon::start_data_table_row().         $chtable.=&Apache::loncommon::start_data_table_row().
                  '<td>'.$colortypes{$item}.'<td><input name="'.$item.     '<td>'.$colortypes{$item}.'<td><input name="'.$item.
                  '" class="colorchooser"  size="10" value="'.$curcol.          '" class="colorchooser"  size="10" value="'.$curcol.
                  '" /></td>'.  '" /></td>'.
          &Apache::loncommon::end_data_table_row()."\n";      &Apache::loncommon::end_data_table_row()."\n";
     }      }
     my $end_data_table = &Apache::loncommon::end_data_table();      my $end_data_table = &Apache::loncommon::end_data_table();
     my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();      my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition();
Line 1200  sub verify_and_change_colors { Line 1234  sub verify_and_change_colors {
     my $message='';      my $message='';
     foreach my $item (keys(%colortypes)) {      foreach my $item (keys(%colortypes)) {
         my $color=$env{'form.'.$item};          my $color=$env{'form.'.$item};
         if (!($color =~ /^#/)) {   if (!($color =~ /^#/)) {
             $color = '#' . $color;      $color = '#' . $color;
         }   }
         my $entry='color.'.$function.'.'.$item;          my $entry='color.'.$function.'.'.$item;
  if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$env{'form.resetall'})) {   if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$env{'form.resetall'})) {
     &Apache::lonnet::put('environment',{$entry => $color});      &Apache::lonnet::put('environment',{$entry => $color});
Line 1259  sub passwordchanger { Line 1293  sub passwordchanger {
                 $r->print(                  $r->print(
                     '<p class="LC_warning">'                      '<p class="LC_warning">'
                    .&mt('Sorry, the URL you provided to complete the reset of your password was invalid. Either the token included in the URL has been deleted or the URL you provided was invalid. Please submit a [_1]new request[_2] for a password reset, and follow the link to the new URL included in the e-mail that will be sent to you, to allow you to enter a new password.'                     .&mt('Sorry, the URL you provided to complete the reset of your password was invalid. Either the token included in the URL has been deleted or the URL you provided was invalid. Please submit a [_1]new request[_2] for a password reset, and follow the link to the new URL included in the e-mail that will be sent to you, to allow you to enter a new password.'
                              ,'<a href="/adm/resetpw">','</a>')                         ,'<a href="/adm/resetpw">','</a>')
                    .'</p>'                     .'</p>'
                 );                  );
                 return;                  return;
Line 1280  sub passwordchanger { Line 1314  sub passwordchanger {
                 }                  }
             } else {              } else {
                 $r->print(                  $r->print(
                    '<p class="LC_warning">'                      '<p class="LC_warning">'
                   .&mt('Sorry, the URL generated when you requested reset of'                     .&mt('Sorry, the URL generated when you requested reset of'
                       .' your password contained incomplete information.')                         .' your password contained incomplete information.')
                    .'</p>'                     .'</p>'
                 );                  );
                 return;                  return;
Line 1553  ENDERROR Line 1587  ENDERROR
         return 1;          return 1;
     }      }
     my ($ckey,$n1key,$n2key)=split(/&/,$tmpinfo);      my ($ckey,$n1key,$n2key)=split(/&/,$tmpinfo);
     #       #
     $currentpass = &Apache::loncommon::des_decrypt($ckey ,$currentpass);      $currentpass = &Apache::loncommon::des_decrypt($ckey ,$currentpass);
     $newpass1    = &Apache::loncommon::des_decrypt($n1key,$newpass1);      $newpass1    = &Apache::loncommon::des_decrypt($n1key,$newpass1);
     $newpass2    = &Apache::loncommon::des_decrypt($n2key,$newpass2);      $newpass2    = &Apache::loncommon::des_decrypt($n2key,$newpass2);
Line 2139  push(@{ $menu[0]->{items} }, { Line 2173  push(@{ $menu[0]->{items} }, {
  linktitle => 'Change your password.',   linktitle => 'Change your password.',
  });   });
     }      }
     if ($env{'environment.remote'} eq 'off') {  
 push(@{ $menu[1]->{items} }, {  
         linktext => 'Launch Remote Control',  
         url => '/adm/remote?url=/adm/preferences&amp;action=launch',  
         permission => 'F',  
         #help => '',  
         icon => 'remotecontrol.png',  
         linktitle => 'Launch the remote control for LON-CAPA.',  
         });  
     }else{  
 push(@{ $menu[1]->{items} }, {  
         linktext => 'Collapse Remote Control',  
         url => '/adm/remote?url=/adm/preferences&amp;action=collapse',  
         permission => 'F',  
         #help => '',  
         icon => 'remotecontrol.png',  
         linktitle => 'Collapse the remote control for LON-CAPA.',  
         });  
     }  
   
     if (&can_toggle_namelocking()) {      if (&can_toggle_namelocking()) {
         push(@{ $menu[0]->{items} }, {          push(@{ $menu[0]->{items} }, {
Line 2263  sub handler { Line 2278  sub handler {
     } else {      } else {
         $brlink ='/adm/preferences';          $brlink ='/adm/preferences';
         $brtxt = 'Set User Preferences';          $brtxt = 'Set User Preferences';
         $brhelp = 'Prefs_About_Me,Prefs_Language,Prefs_Screen_Name_Nickname,Change_Colors,Change_Password,Prefs_Messages,Change_Discussion_Display';          $brhelp = 'Prefs_About_Me,Prefs_Language,Prefs_Screen_Name_Nickname,Change_Colors,Change_Password,Prefs_Messages,Change_Discussion_Display';   
     }      }
     Apache::lonhtmlcommon::add_breadcrumb      Apache::lonhtmlcommon::add_breadcrumb
         ({href => $brlink,          ({href => $brlink,
           text => $brtxt,            text => $brtxt,
           help => $brhelp,});            help => $brhelp,});
     if(!exists $env{'form.action'}) {      if(!exists $env{'form.action'}) {
     &print_main_menu($r);   &print_main_menu($r);
             $ended = 1;          $ended = 1;
     }elsif($env{'form.action'} eq 'changepass'){      }elsif($env{'form.action'} eq 'changepass'){
         &passwordchanger($r);          &passwordchanger($r);
     }elsif($env{'form.action'} eq 'verify_and_change_pass'){      }elsif($env{'form.action'} eq 'verify_and_change_pass'){

Removed from v.1.196.4.24  
changed lines
  Added in v.1.227


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