version 1.344, 2006/04/20 02:24:08
|
version 1.355, 2006/04/25 21:24:06
|
Line 76 my %language;
|
Line 76 my %language;
|
my %supported_language; |
my %supported_language; |
my %cprtag; |
my %cprtag; |
my %scprtag; |
my %scprtag; |
my %fe; my %fd; |
my %fe; my %fd; my %fm; |
my %category_extensions; |
my %category_extensions; |
|
|
# ---------------------------------------------- Designs |
# ---------------------------------------------- Designs |
Line 133 BEGIN {
|
Line 133 BEGIN {
|
close($fh); |
close($fh); |
} |
} |
} |
} |
# ------------------------------------------------------------------ source copyrights |
# ----------------------------------------------------------- source copyrights |
{ |
{ |
my $sourcecopyrightfile = $Apache::lonnet::perlvar{'lonIncludes'}. |
my $sourcecopyrightfile = $Apache::lonnet::perlvar{'lonIncludes'}. |
'/source_copyright.tab'; |
'/source_copyright.tab'; |
Line 196 BEGIN {
|
Line 196 BEGIN {
|
while (<$fh>) { |
while (<$fh>) { |
next if (/^\#/); |
next if (/^\#/); |
chomp; |
chomp; |
my ($ending,$emb,$descr)=split(/\s+/,$_,3); |
my ($ending,$emb,$mime,$descr)=split(/\s+/,$_,4); |
if ($descr ne '') { |
if ($descr ne '') { |
$fe{$ending}=lc($emb); |
$fe{$ending}=lc($emb); |
$fd{$ending}=$descr; |
$fd{$ending}=$descr; |
|
if ($mime ne 'unk') { $fm{$ending}=$mime; } |
} |
} |
} |
} |
close($fh); |
close($fh); |
Line 1947 sub plainname {
|
Line 1948 sub plainname {
|
$name=~s/^\s+//; |
$name=~s/^\s+//; |
$name=~s/\s+$//; |
$name=~s/\s+$//; |
$name=~s/\s+/ /g; |
$name=~s/\s+/ /g; |
if ($name !~ /\S/) { $name=$uname.'@'.$udom; } |
if ($name !~ /\S/) { $name=$uname.':'.$udom; } |
return $name; |
return $name; |
} |
} |
|
|
Line 2198 sub fileembstyle {
|
Line 2199 sub fileembstyle {
|
return $fe{lc(shift(@_))}; |
return $fe{lc(shift(@_))}; |
} |
} |
|
|
|
sub filemimetype { |
|
return $fm{lc(shift(@_))}; |
|
} |
|
|
|
|
sub filecategoryselect { |
sub filecategoryselect { |
my ($name,$value)=@_; |
my ($name,$value)=@_; |
Line 2605 sub maketime {
|
Line 2610 sub maketime {
|
######################################### |
######################################### |
|
|
sub findallcourses { |
sub findallcourses { |
my %courses=(); |
my ($roles) = @_; |
|
my %roles; |
|
if (ref($roles)) { %roles = map { $_ => 1 } @{$roles}; } |
|
my %courses; |
my $now=time; |
my $now=time; |
foreach (keys %env) { |
foreach my $key (keys(%env)) { |
if ($_=~/^user\.role\.\w+\.\/(\w+)\/(\w+)/) { |
if ( $key=~m{^user\.role\.(\w+)\./(\w+)/(\w+)} ) { |
my ($starttime,$endtime)=$env{$_}; |
my ($role,$domain,$id) = ($1,$2,$3); |
|
next if ($role eq 'ca' || $role eq 'aa'); |
|
next if (%roles && !exists($roles{$role})); |
|
my ($starttime,$endtime)=split(/\./,$env{$key}); |
my $active=1; |
my $active=1; |
if ($starttime) { |
if ($starttime) { |
if ($now<$starttime) { $active=0; } |
if ($now<$starttime) { $active=0; } |
Line 2617 sub findallcourses {
|
Line 2628 sub findallcourses {
|
if ($endtime) { |
if ($endtime) { |
if ($now>$endtime) { $active=0; } |
if ($now>$endtime) { $active=0; } |
} |
} |
if ($active) { $courses{$1.'_'.$2}=1; } |
if ($active) { $courses{$domain.'_'.$id}=1; } |
} |
} |
} |
} |
return keys %courses; |
return keys(%courses); |
} |
} |
|
|
############################################### |
############################################### |
Line 3041 sub endbodytag {
|
Line 3052 sub endbodytag {
|
return $endbodytag; |
return $endbodytag; |
} |
} |
|
|
|
=pod |
|
|
|
=over 4 |
|
|
|
=item * &standard_css() |
|
|
|
Returns a style sheet |
|
|
|
Inputs: (all optional) |
|
domain -> force to color decorate a page for a specific |
|
domain |
|
function -> force usage of a specific rolish color scheme |
|
bgcolor -> override the default page bgcolor |
|
|
|
=back |
|
|
|
=cut |
|
|
sub standard_css { |
sub standard_css { |
|
my ($function,$domain,$bgcolor) = @_; |
|
$function = &get_users_function() if (!$function); |
|
my $img = &designparm($function.'.img', $domain); |
|
my $tabbg = &designparm($function.'.tabbg', $domain); |
|
my $font = &designparm($function.'.font', $domain); |
|
my $sidebg = &designparm($function.'.sidebg',$domain); |
|
my $pgbg = $bgcolor || |
|
&designparm($function.'.pgbg', $domain); |
|
my $alink = &designparm($function.'.alink', $domain); |
|
my $vlink = &designparm($function.'.vlink', $domain); |
|
my $link = &designparm($function.'.link', $domain); |
|
|
|
my $sans = 'Arial,Helvetica,sans-serif'; |
|
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 <<END; |
return <<END; |
<style type="text/css"> |
<style type="text/css"> |
h1, h2, h3, th { font-family: Arial, Helvetica, sans-serif } |
h1, h2, h3, th { font-family: $sans } |
a:focus { color: red; background: yellow } |
a:focus { color: red; background: yellow } |
table.thinborder { border-collapse: collapse; } |
table.thinborder { border-collapse: collapse; } |
table.thinborder tr th, table.thinborder tr td { border-style: solid; border-width: 1px} |
table.thinborder tr th, table.thinborder tr td { border-style: solid; border-width: 1px} |
form, .inline { display: inline; } |
form, .inline { display: inline; } |
.center { text-align: center; } |
.center { text-align: center; } |
.filename {font-family: monospace;} |
.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%; |
|
background: $pgbg; |
|
border: 0px; |
|
border-spacing: 1px; |
|
padding: 0px; |
|
margin: 0px; |
|
border-collapse: separate; |
|
} |
|
table#LC_menubuttons_mainmenu { |
|
background: $pgbg; |
|
border: 0px; |
|
border-spacing: 1px; |
|
padding: 0px; |
|
margin: 0px; |
|
border-collapse: separate; |
|
} |
|
table#LC_menubuttons img, table#LC_menubuttons_mainmenu img { |
|
border: 0px; |
|
} |
|
table#LC_top_nav td { |
|
background: $tabbg; |
|
} |
|
table#LC_top_nav td a, div#LC_top_nav a { |
|
color: $font; |
|
font-family: $sans; |
|
} |
|
.LC_menubuttons_inline_text { |
|
color: $font; |
|
font-family: $sans; |
|
font-size: smaller; |
|
} |
|
|
|
td.LC_menubuttons_text { |
|
color: $font; |
|
font-family: $sans; |
|
} |
|
td.LC_menubuttons_img { |
|
background: $tabbg; |
|
} |
|
.LC_current_location { |
|
font-family: $sans; |
|
background: $tabbg; |
|
} |
|
.LC_new_mail { |
|
font-family: $sans; |
|
font-weight: bold; |
|
} |
|
|
|
table.LC_data_table, table.LC_mail_list { |
|
border: 1px solid #000000; |
|
border-collapse: seperate; |
|
} |
|
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; |
|
} |
|
table.LC_data_table tr.LC_even_row td { |
|
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; |
|
} |
</style> |
</style> |
END |
END |
} |
} |
Line 3068 Inputs: $title - optional title for the
|
Line 3240 Inputs: $title - optional title for the
|
$args - optional arguments |
$args - optional arguments |
force_register - if is true call registerurl so the remote is |
force_register - if is true call registerurl so the remote is |
informed |
informed |
redirect - array ref of seconds before redirect occurs |
redirect -> array ref of seconds before redirect occurs |
url to redirect to |
url to redirect to |
(side effect of setting |
(side effect of setting |
$env{'internal.head.redirect'} to the url |
$env{'internal.head.redirect'} to the url |
redirected too) |
redirected too) |
|
domain -> force to color decorate a page for a specific |
|
domain |
|
function -> force usage of a specific rolish color scheme |
|
bgcolor -> override the default page bgcolor |
|
|
=back |
=back |
|
|
=cut |
=cut |
Line 3082 sub headtag {
|
Line 3259 sub headtag {
|
|
|
my $result = |
my $result = |
'<head>'. |
'<head>'. |
&standard_css(). |
&standard_css($args->{'function'},$args->{'domain'}, |
|
$args->{'bgcolor'}). |
&font_settings(). |
&font_settings(). |
&Apache::lonhtmlcommon::htmlareaheaders(); |
&Apache::lonhtmlcommon::htmlareaheaders(); |
|
|
Line 3249 sub start_page {
|
Line 3427 sub start_page {
|
my ($title,$head_extra,$args) = @_; |
my ($title,$head_extra,$args) = @_; |
#&Apache::lonnet::logthis("start_page ".join(':',caller(0))); |
#&Apache::lonnet::logthis("start_page ".join(':',caller(0))); |
my %head_args; |
my %head_args; |
foreach my $arg ('redirect','force_register') { |
foreach my $arg ('redirect','force_register','domain','function', |
|
'bgcolor') { |
if (defined($args->{$arg})) { |
if (defined($args->{$arg})) { |
$head_args{$arg} = $args->{$arg}; |
$head_args{$arg} = $args->{$arg}; |
} |
} |
Line 3395 sub simple_error_page {
|
Line 3574 sub simple_error_page {
|
} |
} |
return $page; |
return $page; |
} |
} |
|
|
|
{ |
|
my $row_count; |
|
sub start_data_table { |
|
undef($row_count); |
|
return '<table class="LC_data_table">'; |
|
} |
|
|
|
sub end_data_table { |
|
undef($row_count); |
|
return '</table>'; |
|
} |
|
|
|
sub start_data_table_row { |
|
$row_count++; |
|
return '<tr '.(($row_count % 2)?'':'class="LC_even_row"').'>'; |
|
} |
|
|
|
sub end_data_table_row { |
|
return '</tr>'; |
|
} |
|
} |
|
|
############################################### |
############################################### |
|
|
=pod |
=pod |