--- loncom/interface/loncommon.pm 2006/04/22 01:06:48 1.347 +++ loncom/interface/loncommon.pm 2006/04/22 20:58:32 1.351 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.347 2006/04/22 01:06:48 albertel Exp $ +# $Id: loncommon.pm,v 1.351 2006/04/22 20:58:32 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -76,7 +76,7 @@ my %language; my %supported_language; my %cprtag; my %scprtag; -my %fe; my %fd; +my %fe; my %fd; my %fm; my %category_extensions; # ---------------------------------------------- Designs @@ -133,7 +133,7 @@ BEGIN { close($fh); } } -# ------------------------------------------------------------------ source copyrights +# ----------------------------------------------------------- source copyrights { my $sourcecopyrightfile = $Apache::lonnet::perlvar{'lonIncludes'}. '/source_copyright.tab'; @@ -196,10 +196,11 @@ BEGIN { while (<$fh>) { next if (/^\#/); chomp; - my ($ending,$emb,$descr)=split(/\s+/,$_,3); + my ($ending,$emb,$mime,$descr)=split(/\s+/,$_,4); if ($descr ne '') { $fe{$ending}=lc($emb); $fd{$ending}=$descr; + if ($mime ne 'unk') { $fm{$ending}=$mime; } } } close($fh); @@ -2198,6 +2199,10 @@ sub fileembstyle { return $fe{lc(shift(@_))}; } +sub filemimetype { + return $fm{lc(shift(@_))}; +} + sub filecategoryselect { my ($name,$value)=@_; @@ -2605,11 +2610,13 @@ sub maketime { ######################################### sub findallcourses { - my %courses=(); + my %courses; my $now=time; - foreach (keys %env) { - if ($_=~/^user\.role\.\w+\.\/(\w+)\/(\w+)/) { - my ($starttime,$endtime)=$env{$_}; + foreach my $key (keys(%env)) { + if ( $key=~m{^user\.role\.(\w+)\./(\w+)/(\w+)} ) { + my ($role,$domain,$id) = ($1,$2,$3); + next if ($role eq 'ca' || $role eq 'aa'); + my ($starttime,$endtime)=$env{$key}; my $active=1; if ($starttime) { if ($now<$starttime) { $active=0; } @@ -2617,10 +2624,10 @@ sub findallcourses { if ($endtime) { if ($now>$endtime) { $active=0; } } - if ($active) { $courses{$1.'_'.$2}=1; } + if ($active) { $courses{$domain.'_'.$id}=1; } } } - return keys %courses; + return keys(%courses); } ############################################### @@ -3054,9 +3061,19 @@ sub standard_css { my $vlink = &designparm($function.'.vlink',$domain); my $link = &designparm($function.'.link',$domain); my $sans = 'Arial,Helvetica,sans-serif'; - my $data_table_head = '#CCCCFF'; + my $data_table_head = $tabbg; my $data_table_light = '#EEEEEE'; my $data_table_dark = '#DDD'; + my $data_table_highlight = '#FFFF00'; + my $mail_new = '#FFBB77'; + my $mail_new_hover = '#DD9955'; + my $mail_read = '#BBBB77'; + my $mail_read_hover = '#999944'; + my $mail_replied = '#AAAA88'; + my $mail_replied_hover = '#888855'; + my $mail_other = '#99BBBB'; + my $mail_other_hover = '#669999'; + return < h1, h2, h3, th { font-family: $sans } @@ -3066,6 +3083,13 @@ table.thinborder tr th, table.thinborder form, .inline { display: inline; } .center { text-align: center; } .filename {font-family: monospace;} +.LC_error { + color: red; + font-size: larger; +} +.LC_success { + color: green; +} table#LC_top_nav, table#LC_menubuttons, table#LC_nav_location { width: 100%; @@ -3116,23 +3140,66 @@ td.LC_menubuttons_img { font-weight: bold; } -table.LC_data_table { +table.LC_data_table, table.LC_mail_list { border: 1px solid #000000; border-collapse: seperate; } -table.LC_data_table tr th { - background-color: $data_table_head; +table.LC_data_table tr th, table.LC_calendar tr th, table.LC_mail_list tr th { + font-weight: bold; + background-color: $data_table_head; } table.LC_data_table tr td { - background-color: $data_table_light; + background-color: $data_table_light; } table.LC_data_table tr.LC_even_row td { - background-color: $data_table_dark; + background-color: $data_table_dark; } table.LC_data_table tr.LC_empty td { background-color: #FFFFFF; } +table.LC_calendar { + border: 1px solid #000000; + border-collapse: collapse; +} +table.LC_calendar_pickdate { + font-size: xx-small; +} +table.LC_calendar tr td { + border: 1px solid #000000; + vertical-align: top; +} +table.LC_calendar tr td.LC_calendar_day_empty { + background-color: $data_table_dark; +} +table.LC_calendar tr td.LC_calendar_day_current { + background-color: $data_table_highlight; +} + +table.LC_mail_list tr.LC_mail_new { + background-color: $mail_new; +} +table.LC_mail_list tr.LC_mail_new:hover { + background-color: $mail_new_hover; +} +table.LC_mail_list tr.LC_mail_read { + background-color: $mail_read; +} +table.LC_mail_list tr.LC_mail_read:hover { + background-color: $mail_read_hover; +} +table.LC_mail_list tr.LC_mail_replied { + background-color: $mail_replied; +} +table.LC_mail_list tr.LC_mail_replied:hover { + background-color: $mail_replied_hover; +} +table.LC_mail_list tr.LC_mail_other { + background-color: $mail_other; +} +table.LC_mail_list tr.LC_mail_other:hover { + background-color: $mail_other_hover; +} END }