--- loncom/interface/lonpreferences.pm 2013/08/08 03:25:38 1.196.4.12 +++ loncom/interface/lonpreferences.pm 2014/02/15 17:59:33 1.212 @@ -1,7 +1,7 @@ # The LearningOnline Network # Preferences # -# $Id: lonpreferences.pm,v 1.196.4.12 2013/08/08 03:25:38 raeburn Exp $ +# $Id: lonpreferences.pm,v 1.212 2014/02/15 17:59:33 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,8 +36,6 @@ use strict; use LONCAPA; use Apache::Constants qw(:common); use Apache::File; -use Crypt::DES; -use DynaLoader; # for Crypt::DES version use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonlocal; @@ -45,50 +43,6 @@ use Apache::lonnet; use LONCAPA::lonauthcgi(); use LONCAPA(); -# -# Write lonnet::passwd to do the call below. -# Use: -# my $answer=reply("encrypt:passwd:$udom:$uname:$upass",$tryserver); -# -################################################## -# password associated functions # -################################################## -sub des_keys { - # Make a new key for DES encryption. - # Each key has two parts which are returned separately. - # Please note: Each key must be passed through the &hex function - # before it is output to the web browser. The hex versions cannot - # be used to decrypt. - my @hexstr=('0','1','2','3','4','5','6','7', - '8','9','a','b','c','d','e','f'); - my $lkey=''; - for (0..7) { - $lkey.=$hexstr[rand(15)]; - } - my $ukey=''; - for (0..7) { - $ukey.=$hexstr[rand(15)]; - } - return ($lkey,$ukey); -} - -sub des_decrypt { - my ($key,$cyphertext) = @_; - my $keybin=pack("H16",$key); - my $cypher; - if ($Crypt::DES::VERSION>=2.03) { - $cypher=new Crypt::DES $keybin; - } else { - $cypher=new DES $keybin; - } - my $plaintext= - $cypher->decrypt(unpack("a8",pack("H16",substr($cyphertext,0,16)))); - $plaintext.= - $cypher->decrypt(unpack("a8",pack("H16",substr($cyphertext,16,16)))); - $plaintext=substr($plaintext,1,ord(substr($plaintext,0,1)) ); - return $plaintext; -} - ################################################################ # Handler subroutines # ################################################################ @@ -211,7 +165,7 @@ sub texenginechanger { 'tth' => 'tth (TeX to HTML)', #'ttm' => 'TeX to MathML', 'jsMath' => 'jsMath', - 'MathJax' => 'MathJax', + 'MathJax' => 'MathJax', 'mimetex' => 'mimetex (Convert to Images)', 'raw' => 'Raw (Screen Reader)' ); @@ -354,7 +308,7 @@ sub rolesprefchanger { my $hotlist_n=$userenv{'recentrolesn'}; my ($checkedon,$checkedoff); if ($hotlist_flag) { - $checkedon = 'checked="checked"'; + $checkedon = 'checked="checked"'; } else { $checkedoff = 'checked="checked"'; } @@ -437,7 +391,7 @@ $options.' &Apache::lonhtmlcommon::row_closure(1). &Apache::lonhtmlcommon::end_pick_box().' '); - if ($roles_check_list) { + if ($roles_check_list) { $r->print('

'.&mt('Freeze Roles').'

'.&mt('The table below can be used to [_1]freeze[_2] '.$lc_role.'s in the Hotlist.','','').'
'. @@ -447,7 +401,7 @@ $options.'

'); } else { $r->print('
'. - &mt('Once the Hotlist contains recently visited '.$lc_role.'s, you can return to this page to also set frozen roles.')); + &mt('Once the Hotlist contains recently visited '.$lc_role.'s you can return to this page to also set frozen roles.')); } $r->print('
@@ -1211,10 +1165,10 @@ sub colorschanger { foreach my $item (sort(keys(%colortypes))) { my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain); $chtable.=&Apache::loncommon::start_data_table_row(). - ''.$colortypes{$item}.''. - &Apache::loncommon::end_data_table_row()."\n"; + ''.$colortypes{$item}.''. + &Apache::loncommon::end_data_table_row()."\n"; } my $end_data_table = &Apache::loncommon::end_data_table(); my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); @@ -1226,7 +1180,6 @@ sub colorschanger { ' . $colorchooser . ' '); - $r->print(< @@ -1267,9 +1220,9 @@ sub verify_and_change_colors { my $message=''; foreach my $item (keys %colortypes) { my $color=$env{'form.'.$item}; - if (!($color =~ /^#/)) { - $color = '#' . $color; - } + if (!($color =~ /^#/)) { + $color = '#' . $color; + } my $entry='color.'.$function.'.'.$item; if (($color=~/^\#[0-9A-Fa-f]{6}$/) && (!$env{'form.resetall'})) { &Apache::lonnet::put('environment',{$entry => $color}); @@ -1320,7 +1273,7 @@ sub passwordchanger { $r->print( '

' .&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.' - ,'','') + ,'','') .'

' ); return; @@ -1341,9 +1294,9 @@ sub passwordchanger { } } else { $r->print( - '

' - .&mt('Sorry, the URL generated when you requested reset of' - .' your password contained incomplete information.') + '

' + .&mt('Sorry, the URL generated when you requested reset of' + .' your password contained incomplete information.') .'

' ); return; @@ -1364,9 +1317,9 @@ sub passwordchanger { return if ($currentauth !~ /^(unix|internal):/); # # Generate keys - my ($lkey_cpass ,$ukey_cpass ) = &des_keys(); - my ($lkey_npass1,$ukey_npass1) = &des_keys(); - my ($lkey_npass2,$ukey_npass2) = &des_keys(); + my ($lkey_cpass ,$ukey_cpass ) = &Apache::loncommon::des_keys(); + my ($lkey_npass1,$ukey_npass1) = &Apache::loncommon::des_keys(); + my ($lkey_npass2,$ukey_npass2) = &Apache::loncommon::des_keys(); # Store the keys in the log files my $lonhost = $r->dir_config('lonHostID'); my $logtoken=Apache::lonnet::reply('tmpput:' @@ -1605,9 +1558,9 @@ ENDERROR } my ($ckey,$n1key,$n2key)=split(/&/,$tmpinfo); # - $currentpass = &des_decrypt($ckey ,$currentpass); - $newpass1 = &des_decrypt($n1key,$newpass1); - $newpass2 = &des_decrypt($n2key,$newpass2); + $currentpass = &Apache::loncommon::des_decrypt($ckey ,$currentpass); + $newpass1 = &Apache::loncommon::des_decrypt($n1key,$newpass1); + $newpass2 = &Apache::loncommon::des_decrypt($n2key,$newpass2); # if ($caller eq 'reset_by_email') { my %data = &Apache::lonnet::tmpget($mailtoken); @@ -2126,25 +2079,6 @@ push(@{ $menu[0]->{items} }, { linktitle => 'Change your password.', }); } - if ($env{'environment.remote'} eq 'off') { -push(@{ $menu[1]->{items} }, { - linktext => 'Launch Remote Control', - url => '/adm/remote?url=/adm/preferences&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&action=collapse', - permission => 'F', - #help => '', - icon => 'remotecontrol.png', - linktitle => 'Collapse the remote control for LON-CAPA.', - }); - } if (&can_toggle_namelocking()) { push(@{ $menu[0]->{items} }, { @@ -2226,7 +2160,7 @@ sub handler { } else { $brlink ='/adm/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 ({href => $brlink,