[LON-CAPA-cvs] cvs: loncom /interface lonpreferences.pm
www
lon-capa-cvs@mail.lon-capa.org
Sat, 19 Apr 2003 01:34:23 -0000
This is a MIME encoded message
--www1050716063
Content-Type: text/plain
www Fri Apr 18 21:34:23 2003 EDT
Modified files:
/loncom/interface lonpreferences.pm
Log:
Change color scheme - not working yet.
--www1050716063
Content-Type: text/plain
Content-Disposition: attachment; filename="www-20030418213423.txt"
Index: loncom/interface/lonpreferences.pm
diff -u loncom/interface/lonpreferences.pm:1.18 loncom/interface/lonpreferences.pm:1.19
--- loncom/interface/lonpreferences.pm:1.18 Tue Apr 1 17:21:45 2003
+++ loncom/interface/lonpreferences.pm Fri Apr 18 21:34:22 2003
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.18 2003/04/01 22:21:45 www Exp $
+# $Id: lonpreferences.pm,v 1.19 2003/04/19 01:34:22 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -172,97 +172,146 @@
}
################################################################
-# Message Forward #
+# Colors #
################################################################
-sub msgforwardchanger {
+sub colorschanger {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
- my %userenv = &Apache::lonnet::get('environment',['msgforward']);
- my $msgforward=$userenv{'msgforward'};
- my $notification=$userenv{'notification'};
- my $critnotification=$userenv{'critnotification'};
my $bodytag=&Apache::loncommon::bodytag(
- 'Change Your Message Forwarding and Notification');
- $r->print(<<ENDMSG);
+ 'Change Color Scheme for Current Role Type');
+# figure out colors
+ my $function='student';
+ if ($ENV{'request.role'}=~/^(cc|in|ta|ep)/) {
+ $function='coordinator';
+ }
+ if ($ENV{'request.role'}=~/^(su|dc|ad|li)/) {
+ $function='admin';
+ }
+ if (($ENV{'request.role'}=~/^(au|ca)/) ||
+ ($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) {
+ $function='author';
+ }
+ my $domain=&Apache::loncommon::determinedomain();
+ my %colortypes=('pgbg' => 'Page Background',
+ 'tabbg' => 'Header Background',
+ 'sidebg'=> 'Header Border',
+ 'font' => 'Font',
+ 'link' => 'Un-Visited Link',
+ 'vlink' => 'Visited Link',
+ 'alink' => 'Active Link');
+ my $chtable='';
+ foreach my $item (keys %colortypes) {
+ my $curcol=&Apache::loncommon::designparm($function.'.'.$item,$domain);
+ $chtable.='<tr><td>'.$colortypes{$item}.'</td><td bgcolor="'.$curcol.
+ '"> </td><td><input name="'.$item.
+ '" size="8" value="'.$curcol.
+'" /></td><td><a href="javascript:pjump('."'color','".$colortypes{$item}.
+"','".$curcol."','"
+ .$item."','".$item."','psub'".');">Select</a></td></tr>';
+ }
+ $r->print(<<ENDCOL);
<html>
+<script>
+
+ function pclose() {
+ parmwin=window.open("/adm/rat/empty.html","LONCAPAparms",
+ "height=350,width=350,scrollbars=no,menubar=no");
+ parmwin.close();
+ }
+
+ function pjump(type,dis,value,marker,ret,call) {
+ parmwin=window.open("/adm/rat/parameter.html?type="+escape(type)
+ +"&value="+escape(value)+"&marker="+escape(marker)
+ +"&return="+escape(ret)
+ +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms",
+ "height=350,width=350,scrollbars=no,menubar=no");
+
+ }
+
+ function psub() {
+ pclose();
+ if (document.parmform.pres_marker.value!='') {
+ document.parmform.action+='#'+document.parmform.pres_marker.value;
+ var typedef=new Array();
+ typedef=document.parmform.pres_type.value.split('_');
+ if (document.parmform.pres_type.value!='') {
+ if (typedef[0]=='date') {
+ eval('document.parmform.recent_'+
+ document.parmform.pres_type.value+
+ '.value=document.parmform.pres_value.value;');
+ } else {
+ eval('document.parmform.recent_'+typedef[0]+
+ '.value=document.parmform.pres_value.value;');
+ }
+ }
+ document.parmform.submit();
+ } else {
+ document.parmform.pres_value.value='';
+ document.parmform.pres_marker.value='';
+ }
+ }
+
+
+</script>
$bodytag
<form name="server" action="/adm/preferences" method="post">
-<input type="hidden" name="action" value="verify_and_change_msgforward" />
-New Forwarding Address(es) (<tt>user:domain,user:domain,...</tt>):
-<input type="text" size="40" value="$msgforward" name="msgforward" /><hr />
-New Message Notification Email Address(es) (<tt>joe\@doe.com,jane\@doe.edu,...</tt>):
-<input type="text" size="40" value="$notification" name="notification" /><hr />
-New Critical Message Notification Email Address(es) (<tt>joe\@doe.com,jane\@doe.edu,...</tt>):
-<input type="text" size="40" value="$critnotification" name="critnotification" /><hr />
+<input type="hidden" name="action" value="verify_and_change_colors" />
+<table border="2">
+$chtable
+</table>
<input type="submit" value="Change" />
</form>
</body>
</html>
-ENDMSG
+ENDCOL
}
-sub verify_and_change_msgforward {
+sub verify_and_change_colors {
my $r = shift;
- my $user = $ENV{'user.name'};
- my $domain = $ENV{'user.domain'};
- my $newscreen = '';
+# figure out colors
+ my $function='student';
+ if ($ENV{'request.role'}=~/^(cc|in|ta|ep)/) {
+ $function='coordinator';
+ }
+ if ($ENV{'request.role'}=~/^(su|dc|ad|li)/) {
+ $function='admin';
+ }
+ if (($ENV{'request.role'}=~/^(au|ca)/) ||
+ ($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) {
+ $function='author';
+ }
+ my $domain=&Apache::loncommon::determinedomain();
+ my %colortypes=('pgbg' => 'Page Background',
+ 'tabbg' => 'Header Background',
+ 'sidebg'=> 'Header Border',
+ 'font' => 'Font',
+ 'link' => 'Un-Visited Link',
+ 'vlink' => 'Visited Link',
+ 'alink' => 'Active Link');
+
my $message='';
- foreach (split(/\,/,$ENV{'form.msgforward'})) {
- my ($msuser,$msdomain)=split(/[\@\:]/,$_);
- $msuser=~s/\W//g;
- $msdomain=~s/\W//g;
- if (($msuser) && ($msdomain)) {
- if (&Apache::lonnet::homeserver($msuser,$msdomain) ne 'no_host') {
- $newscreen.=$msuser.':'.$msdomain.',';
- } else {
- $message.='No such user: '.$msuser.':'.$msdomain.'<br>';
- }
- }
- }
- $newscreen=~s/\,$//;
- if ($newscreen) {
- &Apache::lonnet::put('environment',{'msgforward' => $newscreen});
- &Apache::lonnet::appenv('environment.msgforward' => $newscreen);
- $message.='Set new message forwarding to '.$newscreen.'<br />';
- } else {
- &Apache::lonnet::del('environment',['msgforward']);
- &Apache::lonnet::delenv('environment\.msgforward');
- $message.='Reset message forwarding<br />';
- }
- my $notification=$ENV{'form.notification'};
- $notification=~s/\s//gs;
- if ($notification) {
- &Apache::lonnet::put('environment',{'notification' => $notification});
- &Apache::lonnet::appenv('environment.notification' => $notification);
- $message.='Set message notification address to '.$notification.'<br />';
- } else {
- &Apache::lonnet::del('environment',['notification']);
- &Apache::lonnet::delenv('environment\.notification');
- $message.='Reset message notification<br />';
- }
- my $critnotification=$ENV{'form.critnotification'};
- $critnotification=~s/\s//gs;
- if ($critnotification) {
- &Apache::lonnet::put('environment',{'critnotification' => $critnotification});
- &Apache::lonnet::appenv('environment.critnotification' => $critnotification);
- $message.='Set critical message notification address to '.$critnotification;
- } else {
- &Apache::lonnet::del('environment',['critnotification']);
- &Apache::lonnet::delenv('environment\.critnotification');
- $message.='Reset critical message notification<br />';
- }
+# my $newscreen='';
+# $newscreen=~s/\,$//;
+# if ($newscreen) {
+# &Apache::lonnet::put('environment',{'msgforward' => $newscreen});
+# &Apache::lonnet::appenv('environment.msgforward' => $newscreen);
+# $message.='Set new message forwarding to '.$newscreen.'<br />';
+# } else {
+# &Apache::lonnet::del('environment',['msgforward']);
+# &Apache::lonnet::delenv('environment\.msgforward');
+# $message.='Reset message forwarding<br />';
+# }
+
my $bodytag=&Apache::loncommon::bodytag(
- 'Change Your Message Forwarding and Notifications');
- $r->print(<<ENDVCMSG);
+ 'Change Color Scheme for Current Role Type');
+ $r->print(<<ENDVCCOL);
<html>
$bodytag
</p>
$message
</body></html>
-ENDVCMSG
+ENDVCCOL
}
######################################################
@@ -506,6 +555,10 @@
&msgforwardchanger($r);
} elsif ($ENV{'form.action'} eq 'verify_and_change_msgforward') {
&verify_and_change_msgforward($r);
+ } elsif ($ENV{'form.action'} eq 'changecolors') {
+ &colorschanger($r);
+ } elsif ($ENV{'form.action'} eq 'verify_and_change_colors') {
+ &verify_and_change_colors($r);
} elsif ($ENV{'form.action'} eq 'debugtoggle') {
if ($ENV{'user.name'} eq 'albertel' ) {
if ($ENV{'user.debug'}) {
@@ -552,9 +605,16 @@
$r->print(<<ENDABOUTME);
<form name="client" action="$aboutmeaction" method="post">
<input type="hidden" name="action" value="changescreenname" />
-<input type="submit" value="Edit the 'About Me' Personal Information Screen" />
+<input type="submit" value="Edit the 'About Me' personal information screen" />
</form>
ENDABOUTME
+ $r->print(<<ENDCOLORFORM);
+<form name="client" action="/adm/preferences" method="post">
+<input type="hidden" name="action" value="changecolors" />
+<input type="submit" value="Change color scheme" />
+</form>
+ENDCOLORFORM
+
if ($ENV{'user.name'} eq 'albertel') {
$r->print(<<ENDDEBUG);
<form name="client" action="/adm/preferences" method="post">
--www1050716063--