--- loncom/interface/lonpreferences.pm 2002/02/15 22:04:39 1.3
+++ loncom/interface/lonpreferences.pm 2003/09/29 16:09:20 1.30
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.3 2002/02/15 22:04:39 matthew Exp $
+# $Id: lonpreferences.pm,v 1.30 2003/09/29 16:09:20 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -49,50 +49,23 @@ use Apache::Constants qw(:common);
use Apache::File;
use Crypt::DES;
use DynaLoader; # for Crypt::DES version
+use Apache::loncommon();
+use Apache::lonhtmlcommon();
-#------------------- forms to be output
-my $passwordform =<
-
-
-
-ENDPASSWORDFORM
-
-my $environmentform = <
-There are currently no environment variables you can change.
-
-
-ENDENVIRONMENTFORM
-#------------------ end of forms to be output
-
-################################################################
-# Handler subroutines #
-################################################################
#
# Write lonnet::passwd to do the call below.
# Use:
# my $answer=reply("encrypt:passwd:$udom:$uname:$upass",$tryserver);
#
-# I really should write some javascript to check on the client side for
-# mismatched passwords, but other problems are more pressing
-#
##################################################
# password associated functions #
##################################################
sub des_keys {
- # Make a new key for DES encryption
- # Each key has two parts which are returned seperately
+ # Make a new key for DES encryption.
+ # Each key has two parts which are returned seperately.
+ # 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='';
@@ -119,16 +92,411 @@ sub des_decrypt {
$cypher->decrypt(unpack("a8",pack("H16",substr($cyphertext,0,16))));
$plaintext.=
$cypher->decrypt(unpack("a8",pack("H16",substr($cyphertext,16,16))));
- $plaintext=unpack("a8",$plaintext);
- $plaintext=substr($plaintext,1,ord(substr($plaintext,0,1)));
- unpack("a8",$plaintext);
+ $plaintext=substr($plaintext,1,ord(substr($plaintext,0,1)) );
return $plaintext;
}
+################################################################
+# Handler subroutines #
+################################################################
+
+################################################################
+# Language Change Subroutines #
+################################################################
+sub languagechanger {
+ my $r = shift;
+ my $user = $ENV{'user.name'};
+ my $domain = $ENV{'user.domain'};
+ my %userenv = &Apache::lonnet::get
+ ('environment',['languages','translator']);
+ my $language=$userenv{'languages'};
+ my $translator=$userenv{'translator'};
+ my $bodytag=&Apache::loncommon::bodytag(
+ 'Change Your Language Preferences');
+ $r->print(<
+$bodytag
+
+