version 1.694, 2008/11/22 19:08:21
|
version 1.698, 2008/12/01 14:38:49
|
Line 677 sub select_datelocale {
|
Line 677 sub select_datelocale {
|
if ($id ne '') { |
if ($id ne '') { |
my $en_terr = $locale->{'en_territory'}; |
my $en_terr = $locale->{'en_territory'}; |
my $native_terr = $locale->{'native_territory'}; |
my $native_terr = $locale->{'native_territory'}; |
my @languages = &preferred_languages(); |
my @languages = &Apache::lonlocal::preferred_languages(); |
if (grep(/^en$/,@languages) || !@languages) { |
if (grep(/^en$/,@languages) || !@languages) { |
if ($en_terr ne '') { |
if ($en_terr ne '') { |
$locale_names{$id} = '('.$en_terr.')'; |
$locale_names{$id} = '('.$en_terr.')'; |
Line 2998 sub fileextensions {
|
Line 2998 sub fileextensions {
|
|
|
sub display_languages { |
sub display_languages { |
my %languages=(); |
my %languages=(); |
foreach my $lang (&preferred_languages()) { |
foreach my $lang (&Apache::lonlocal::preferred_languages()) { |
$languages{$lang}=1; |
$languages{$lang}=1; |
} |
} |
&get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']); |
&get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']); |
Line 3010 sub display_languages {
|
Line 3010 sub display_languages {
|
return %languages; |
return %languages; |
} |
} |
|
|
sub preferred_languages { |
|
my @languages=(); |
|
if (($env{'request.role.adv'}) && ($env{'form.languages'})) { |
|
@languages=(@languages,split(/\s*(\,|\;|\:)\s*/,$env{'form.languages'})); |
|
} |
|
if ($env{'course.'.$env{'request.course.id'}.'.languages'}) { |
|
@languages=(@languages,split(/\s*(\,|\;|\:)\s*/, |
|
$env{'course.'.$env{'request.course.id'}.'.languages'})); |
|
} |
|
|
|
if ($env{'environment.languages'}) { |
|
@languages=(@languages, |
|
split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'})); |
|
} |
|
my $browser=$ENV{'HTTP_ACCEPT_LANGUAGE'}; |
|
if ($browser) { |
|
my @browser = |
|
map { (split(/\s*;\s*/,$_))[0] } (split(/\s*,\s*/,$browser)); |
|
push(@languages,@browser); |
|
} |
|
|
|
foreach my $domtype ($env{'user.domain'},$env{'request.role.domain'}, |
|
$Apache::lonnet::perlvar{'lonDefDomain'}) { |
|
if ($domtype ne '') { |
|
my %domdefs = &Apache::lonnet::get_domain_defaults($domtype); |
|
if ($domdefs{'lang_def'} ne '') { |
|
push(@languages,$domdefs{'lang_def'}); |
|
} |
|
} |
|
} |
|
return &get_genlanguages(@languages); |
|
} |
|
|
|
sub get_genlanguages { |
|
my (@languages) = @_; |
|
# turn "en-ca" into "en-ca,en" |
|
my @genlanguages; |
|
foreach my $lang (@languages) { |
|
unless ($lang=~/\w/) { next; } |
|
push(@genlanguages,$lang); |
|
if ($lang=~/(\-|\_)/) { |
|
push(@genlanguages,(split(/(\-|\_)/,$lang))[0]); |
|
} |
|
} |
|
#uniqueify the languages list |
|
my %count; |
|
@genlanguages = map { $count{$_}++ == 0 ? $_ : () } @genlanguages; |
|
return @genlanguages; |
|
} |
|
|
|
sub languages { |
sub languages { |
my ($possible_langs) = @_; |
my ($possible_langs) = @_; |
my @preferred_langs = &preferred_languages(); |
my @preferred_langs = &Apache::lonlocal::preferred_languages(); |
if (!ref($possible_langs)) { |
if (!ref($possible_langs)) { |
if( wantarray ) { |
if( wantarray ) { |
return @preferred_langs; |
return @preferred_langs; |
Line 4454 sub standard_css {
|
Line 4404 sub standard_css {
|
my $mail_other_hover = '#669999'; |
my $mail_other_hover = '#669999'; |
my $table_header = '#DDDDDD'; |
my $table_header = '#DDDDDD'; |
my $feedback_link_bg = '#BBBBBB'; |
my $feedback_link_bg = '#BBBBBB'; |
|
my $lg_border_color = '#D5FF6F'; |
|
|
my $border = ($env{'browser.type'} eq 'explorer' || |
my $border = ($env{'browser.type'} eq 'explorer' || |
$env{'browser.type'} eq 'safari' ) ? '0px 2px 0px 2px' |
$env{'browser.type'} eq 'safari' ) ? '0px 2px 0px 2px' |
Line 4461 sub standard_css {
|
Line 4412 sub standard_css {
|
|
|
|
|
return <<END; |
return <<END; |
h1, h2, h3, th { font-family: $sans } |
body{ |
|
font-family: $sans; |
|
line-height:130%; |
|
font-size:0.8em; |
|
color:$font; |
|
} |
|
|
a:focus { color: red; background: yellow } |
a:focus { color: red; background: yellow } |
table.thinborder, |
table.thinborder, |
|
|
table.thinborder tr th { |
table.thinborder tr th { |
border-style: solid; |
border-style: solid; |
border-width: 1px; |
border-width: 1px; |
|
border-color: $lg_border_color; |
background: $tabbg; |
background: $tabbg; |
} |
} |
table.thinborder tr td { |
table.thinborder tr td { |
border-style: solid; |
border-style: solid; |
border-width: 1px |
border-width: 1px; |
|
border-color: $lg_border_color; |
} |
} |
|
|
form, .inline { display: inline; } |
form, .inline { display: inline; } |
Line 4635 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4593 table#LC_mainmenu td.LC_mainmenu_column
|
.LC_menubuttons_inline_text { |
.LC_menubuttons_inline_text { |
color: $font; |
color: $font; |
font-family: $sans; |
font-family: $sans; |
font-size: smaller; |
font-size: 90%; |
} |
} |
|
|
.LC_menubuttons_link { |
.LC_menubuttons_link { |
text-decoration: none; |
text-decoration: none; |
} |
} |
#2008--9-5: new menu style sheet.Changed category |
/*2008--9-5: new menu style sheet.Changed category*/ |
.LC_menubuttons_category { |
.LC_menubuttons_category { |
color: $font; |
color: $font; |
background: $pgbg; |
background: $pgbg; |
Line 4651 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4609 table#LC_mainmenu td.LC_mainmenu_column
|
} |
} |
|
|
td.LC_menubuttons_text { |
td.LC_menubuttons_text { |
width: 90%; |
color: $font; |
color: $font; |
width: 90%; |
font-family: $sans; |
|
} |
} |
|
|
td.LC_menubuttons_img { |
td.LC_menubuttons_img { |
} |
} |
|
|
Line 4869 table.LC_mail_list tr.LC_mail_even {
|
Line 4825 table.LC_mail_list tr.LC_mail_even {
|
table.LC_mail_list tr.LC_mail_odd { |
table.LC_mail_list tr.LC_mail_odd { |
} |
} |
|
|
|
|
table#LC_portfolio_actions { |
|
width: auto; |
|
background: $pgbg; |
|
border: 0px; |
|
border-spacing: 2px 2px; |
|
padding: 0px; |
|
margin: 0px; |
|
border-collapse: separate; |
|
} |
|
table#LC_portfolio_actions td.LC_label { |
|
background: $tabbg; |
|
text-align: right; |
|
} |
|
table#LC_portfolio_actions td.LC_value { |
|
background: $tabbg; |
|
} |
|
|
|
table#LC_cstr_controls { |
table#LC_cstr_controls { |
width: 100%; |
width: 100%; |
border-collapse: collapse; |
border-collapse: collapse; |
Line 4905 table#LC_cstr_controls tr th {
|
Line 4843 table#LC_cstr_controls tr th {
|
font-size: smaller; |
font-size: smaller; |
} |
} |
|
|
table#LC_browser { |
table.LC_data_table tr > td.LC_browser_file, |
|
table.LC_data_table tr > td.LC_browser_file_published { |
} |
|
table#LC_browser tr th { |
|
background: $table_header; |
|
} |
|
table#LC_browser tr td { |
|
padding: 2px; |
|
} |
|
table#LC_browser tr.LC_browser_file, |
|
table#LC_browser tr.LC_browser_file_published { |
|
background: #CCFF88; |
background: #CCFF88; |
} |
} |
table#LC_browser tr.LC_browser_file_locked, |
table.LC_data_table tr > td.LC_browser_file_locked, |
table#LC_browser tr.LC_browser_file_unpublished { |
table.LC_data_table tr > td.LC_browser_file_unpublished { |
background: #FFAA99; |
background: #FFAA99; |
} |
} |
table#LC_browser tr.LC_browser_file_obsolete { |
table.LC_data_table tr > td.LC_browser_file_obsolete { |
background: #AAAAAA; |
background: #AAAAAA; |
} |
} |
table#LC_browser tr.LC_browser_file_modified, |
table.LC_data_table tr > td.LC_browser_file_modified, |
table#LC_browser tr.LC_browser_file_metamodified { |
table.LC_data_table tr > td.LC_browser_file_metamodified { |
background: #FFFF77; |
background: #FFFF77; |
} |
} |
table#LC_browser tr.LC_browser_folder { |
table.LC_data_table tr.LC_browser_folder > td { |
background: #CCCCFF; |
background: #CCCCFF; |
} |
} |
|
|
span.LC_current_location { |
span.LC_current_location { |
font-size: x-large; |
font-size: x-large; |
background: $pgbg; |
background: $pgbg; |
Line 5441 table.LC_scantron_action {
|
Line 5371 table.LC_scantron_action {
|
width: 100%; |
width: 100%; |
} |
} |
table.LC_scantron_action tr th { |
table.LC_scantron_action tr th { |
font: normal bold $sans; |
font-weight:bold; |
|
font-style:normal; |
} |
} |
|
.LC_edit_problem_header, |
div.LC_edit_problem_header, |
|
div.LC_edit_problem_footer { |
div.LC_edit_problem_footer { |
font: normal medium $sans; |
font: normal medium $sans; |
margin: 2px; |
margin: 2px; |
Line 5527 fieldset#LC_mainmenu_fieldset {
|
Line 5457 fieldset#LC_mainmenu_fieldset {
|
# changed or removed. |
# changed or removed. |
# --------------------------*/ |
# --------------------------*/ |
|
|
|
a:hover, |
body { |
ol.smallMenu a:hover, |
font-family: Tahoma, Arial,Helvetica,sans-serif; |
ol#MenuBreadcrumbs a:hover, |
font-size: 0.85em; |
ul#TabMainMenuContent a:hover, |
line-height: 130%; |
.FormSectionClearButton input:hover{ |
color: RGB(45, 45, 45); |
color:#BF2317; |
} |
text-decoration:none; |
|
|
a:link,a:visited { |
|
/*color: RGB(0, 118, 127);*/ |
|
/*text-decoration: underline;*/ |
|
} |
} |
|
|
a:hover{ |
|
text-decoration:none; |
|
} |
|
/*a:hover, |
|
UL.smallMenu A:hover, |
|
UL.MenuBreadcrumbs A:hover, |
|
UL#TabMainMenuContent A:hover{ |
|
color: rgb(200, 10, 50); |
|
}*/ |
|
|
|
h1 { |
h1 { |
padding:5px 10px 5px 20px; |
padding:5px 10px 5px 20px; |
line-height:130%; |
line-height:130%; |
} |
} |
h2,h4,h6 { |
|
/*color: RGB(0, 118, 127);*/ |
|
} |
|
h2,h3,h4,h5,h6 |
h2,h3,h4,h5,h6 |
{ |
{ |
margin:5px 0px 5px 0px; |
margin:5px 0px 5px 0px; |
line-height:130%; |
line-height:130%; |
} |
} |
|
.hcell{ |
|
padding:3px 15px 3px 15px; |
|
margin:0px; |
|
background: $pgbg; |
|
border-bottom:solid 1px $lg_border_color; |
|
} |
.right { |
.right { |
text-align: right; |
text-align: right; |
} |
} |
|
|
.center { |
|
text-align: center; |
|
} |
|
|
|
.left { |
.left { |
text-align: left; |
text-align: left; |
} |
} |
|
.noBorder { |
|
border:0px; |
|
} |
|
/* |
|
.bgLightGrey { background:URL(images/TabMenuBG.png) repeat-x left top; } |
|
.bgLightGreyYellow {background-color:#EFECE0;} |
|
*/ |
|
|
|
|
|
/* Main Header with discription of Person, Course, etc. */ |
.HeadRight { |
.HeadRight { |
text-align: right; |
text-align: right; |
float: right; |
float: right; |
margin: 0px; |
margin: 0px; |
padding: 0px; |
padding: 0px; |
right:0; |
right:0; |
position:absolute; |
position:absolute; |
} |
overflow:hidden; |
|
|
img { |
|
/* border: 0px; */ |
|
} |
|
|
|
.personalBgColor { |
|
background: RGB(237, 239, 0) url(images/headHighlight.png) repeat-y left top; |
|
} |
} |
|
|
p { |
p { |
padding: 10px; |
padding: 10px; |
|
|
|
} |
|
.FormSectionClearButton input { |
|
background-color:transparent; |
|
border:0px; |
|
cursor:pointer; |
|
text-decoration:underline; |
} |
} |
DL,UL,Div,Fieldset { |
|
/*margin: 10px;*/ |
|
|
dl,ul,div,fieldset { |
|
margin: 10px 10px 10px 0px; |
overflow:hidden; |
overflow:hidden; |
} |
} |
OL.smallMenu { |
ol.smallMenu { |
margin: 0px 0px 0px 0px; |
margin: 0px; |
} |
} |
|
|
OL.smallMenu li { |
ol.smallMenu li { |
display: inline; |
display: inline; |
padding: 5px 5px 0px 10px; |
padding: 5px 5px 0px 10px; |
vertical-align: top; |
vertical-align: top; |
} |
} |
|
|
OL.smallMenu li img { |
ol.smallMenu li img { |
vertical-align: bottom; |
vertical-align: bottom; |
} |
} |
|
|
OL.smallMenu A { |
ol.smallMenu a { |
font-size: 90%; |
font-size: 90%; |
color: RGB(80, 80, 80); |
color: RGB(80, 80, 80); |
text-decoration: none; |
text-decoration: none; |
} |
} |
|
|
OL#TabMainMenuContent { |
ol#TabMainMenuContent { |
|
|
margin: 0px 0px 10px 0px; |
margin: 0px 0px 10px 0px; |
padding: 0px; |
padding: 0px; |
} |
} |
|
|
OL#TabMainMenuContent LI { |
ol#TabMainMenuContent li { |
display: inline; |
display: inline; |
vertical-align: bottom; |
vertical-align: bottom; |
border-bottom: solid 1px RGB(175, 175, 175); |
border-bottom: solid 1px RGB(175, 175, 175); |
Line 5636 OL#TabMainMenuContent LI {
|
Line 5560 OL#TabMainMenuContent LI {
|
line-height: 140%; |
line-height: 140%; |
font-weight: bold; |
font-weight: bold; |
overflow:hidden; |
overflow:hidden; |
background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top; |
/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;*/ |
} |
} |
|
|
OL#TabMainMenuContent LI A { |
ol#TabMainMenuContent li a{ |
color: RGB(47, 47, 47); |
color: RGB(47, 47, 47); |
text-decoration: none; |
text-decoration: none; |
} |
} |
|
|
OL#TabMainMenuContent DIV.columnSection { |
ol#TabMainMenuContent div.columnSection { |
margin-bottom: 0px; |
margin-bottom: 0px; |
} |
} |
|
|
OL#MenuBreadcrumbs { |
ol#MenuBreadcrumbs, ol#PathBreadcrumbs { |
border-top: solid 1px RGB(255, 255, 255); |
border-top: solid 1px RGB(255, 255, 255); |
height: 20px; |
height: 20px; |
line-height: 20px; |
line-height: 20px; |
Line 5656 OL#MenuBreadcrumbs {
|
Line 5580 OL#MenuBreadcrumbs {
|
margin: 0px 0px 30px 0px; |
margin: 0px 0px 30px 0px; |
padding-left: 10px; |
padding-left: 10px; |
list-style-position: inside; |
list-style-position: inside; |
background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left |
/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left |
top; |
top;*/ |
} |
} |
|
|
OL#MenuBreadcrumbs li { |
ol#MenuBreadcrumbs li, ol#PathBreadcrumbs li { |
background: url(images/pfeil_white.png) no-repeat left center; |
/* background: url(images/pfeil_white.png) no-repeat left center;*/ |
display: inline; |
display: inline; |
padding: 0px 0px 0px 10px; |
padding: 0px 0px 0px 10px; |
vertical-align: bottom; |
vertical-align: bottom; |
overflow:hidden; |
overflow:hidden; |
} |
} |
|
|
OL#MenuBreadcrumbs LI A { |
ol#MenuBreadcrumbs li a { |
text-decoration: none; |
text-decoration: none; |
font-size:90%; |
font-size:90%; |
} |
} |
|
ol#PathBreadcrumbs li a{ |
h4.hcell { |
text-decoration:none; |
padding: 3px 10px 3px 10px; |
font-size:100%; |
margin: 0px; |
font-weight:bold; |
background: RGB(0, 118, 127); |
|
color: white; |
|
border: outset 1px; |
|
} |
|
|
|
DIV.DivContentBoxSpecial |
|
{ |
|
border: solid 1px RGB(100, 100, 100); |
|
} |
} |
|
|
FIELDSET |
.ContentBoxSpecial |
{ |
{ |
/*width:78%;*/ |
border: solid 1px $lg_border_color; |
} |
|
DIV.DivContentBox, |
|
DIV.DivContentBoxSpecial { |
|
width: 80%; |
|
margin:10px; |
|
} |
} |
|
.ContentBox { |
FIELDSET legend,DL DT { |
padding:10px; |
font-weight: bold; |
|
font-size: 110%; |
|
/*padding-left: 0px;*/ |
|
/* margin-left: 0px;*/ |
|
} |
} |
|
.PopUp |
DIV.DivImportant { |
{ |
background: url(images/important.png) no-repeat center top; |
padding:10px; |
padding: 100px 10px 10px 10px; |
border-left:solid 1px $lg_border_color; |
width: 200px; |
border-top:solid 1px $lg_border_color; |
border: double 4px RGB(200, 200, 200); |
border-bottom:outset 1px $lg_border_color; |
|
border-right:outset 1px $lg_border_color; |
|
display:none; |
|
position:absolute; |
|
right:0; |
|
background-color:white; |
|
z-index:5; |
} |
} |
|
|
|
dl.ListStyleClean dt { |
|
|
DL.ListStyleClean DT { |
|
padding-right: 5px; |
padding-right: 5px; |
display: table-header-group; |
display: table-header-group; |
} |
} |
|
|
DL.ListStyleClean DD { |
dl.ListStyleClean dd { |
display: table-row; |
display: table-row; |
} |
} |
|
|
Line 5728 DL.ListStyleClean DD {
|
Line 5639 DL.ListStyleClean DD {
|
.ListStyleSpecial |
.ListStyleSpecial |
{ |
{ |
/*display:block; */ |
/*display:block; */ |
width: 400px; |
|
list-style-position: inside; |
list-style-position: inside; |
list-style-type: none; |
list-style-type: none; |
overflow: hidden; |
overflow: hidden; |
padding: 0px; |
padding: 0px; |
} |
} |
|
|
.ListStyleClean li, |
|
.ListStyleSimple li, |
.ListStyleSimple li, |
.ListStyleSimple DD, |
.ListStyleSimple dd, |
.ListStyleNormal li, |
.ListStyleNormal li, |
.ListStyleNormal DD, |
.ListStyleNormal dd, |
.ListStyleSpecial li, |
.ListStyleSpecial li, |
.ListStyleSpecial DD |
.ListStyleSpecial dd |
{ |
{ |
margin: 0px; |
margin: 0px; |
padding: 5px 5px 5px 10px; |
padding: 5px 5px 5px 10px; |
Line 5749 DL.ListStyleClean DD {
|
Line 5658 DL.ListStyleClean DD {
|
/*display:block;*/ |
/*display:block;*/ |
} |
} |
|
|
.ListStyleClean LI, |
.ListStyleClean li, |
.ListStyleClean DD { |
.ListStyleClean dd { |
padding-top: 0px; |
padding-top: 0px; |
padding-bottom: 0px; |
padding-bottom: 0px; |
} |
} |
|
|
.ListStyleSimple DD, |
.ListStyleSimple dd, |
.ListStyleSimple LI{ |
.ListStyleSimple li{ |
border-bottom: solid 1px RGB(150, 150, 150); |
border-bottom: solid 1px $lg_border_color; |
} |
} |
|
|
.ListStyleSpecial LI, |
.ListStyleSpecial li, |
.ListStyleSpecial DD { |
.ListStyleSpecial dd { |
list-style-type: none; |
list-style-type: none; |
background-color: RGB(220, 220, 220); |
background-color: RGB(220, 220, 220); |
margin-bottom: 4px; |
margin-bottom: 4px; |
} |
} |
|
|
table.SimpleTable *{ |
table.SimpleTable { |
padding:10px; |
margin:5px; |
|
border:solid 1px $lg_border_color; |
} |
} |
|
|
table.SimpleTable td { |
table.SimpleTable tr { |
vertical-align:top; |
padding:0px; |
border:solid 1px RGB(210,210,210); |
border:solid 1px $lg_border_color; |
} |
} |
table.SimpleTable thead{ |
table.SimpleTable thead{ |
background:rgb(210,210,210); |
background:rgb(220,220,220); |
} |
} |
|
|
DIV.columnSection { |
div.columnSection { |
display: block; |
display: block; |
clear: both; |
clear: both; |
overflow: hidden; |
overflow: hidden; |
margin:0px; |
margin:0px; |
} |
} |
|
|
DIV.columnSection>* { |
div.columnSection>* { |
float: left; |
float: left; |
margin: 10px 20px 10px 0px; |
margin: 10px 20px 10px 0px; |
overflow:hidden; |
overflow:hidden; |
} |
} |
|
div.columnSection > .ContentBox, |
DIV.columnSection>FIELDSET, |
div.columnSection > .ContentBoxSpecial |
DIV.columnSection>DIV.DivContentBox, |
|
DIV.columnSection>DIV.DivContentBoxSpecial |
|
{ |
{ |
width: 480px; |
width: 400px; |
|
|
} |
} |
|
|