--- loncom/interface/loncommon.pm 2009/01/12 04:39:30 1.692.2.12
+++ loncom/interface/loncommon.pm 2008/12/03 00:09:56 1.702
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.692.2.12 2009/01/12 04:39:30 raeburn Exp $
+# $Id: loncommon.pm,v 1.702 2008/12/03 00:09:56 harmsja Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -943,30 +943,24 @@ ENDTEMPLATE
# This is a quicky function for Latex cheatsheet editing, since it
# appears in at least four places
sub helpLatexCheatsheet {
- my ($topic,$text,$not_author) = @_;
- my $out;
+ my $other = shift;
my $addOther = '';
- if ($topic) {
- $addOther = Apache::loncommon::help_open_topic($topic,$text,
- undef, undef, 600).
- '
';
- }
- $out = ''.
- $addOther.
- &Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'),
- undef,undef,600).
- ' | '.
- &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'),
- undef,undef,600).
- ' | ';
- unless ($not_author) {
- $out .= ''.
- &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'),
- undef,undef,600).
- ' | ';
- }
- $out .= ' ';
- return $out;
+ if ($other) {
+ $addOther = Apache::loncommon::help_open_topic($other, shift,
+ undef, undef, 600) .
+ ' | ';
+ }
+ return ''.
+ $addOther .
+ &Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'),
+ undef,undef,600)
+ .' | '.
+ &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'),
+ undef,undef,600)
+ .' | '.
+ &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'),
+ undef,undef,600)
+ .' | ';
}
sub general_help {
@@ -2723,42 +2717,6 @@ sub flush_email_cache {
&Apache::lonnet::devalidate_cache_new('emailscache',$id);
}
-# -------------------------------------------------------------------- getlangs
-
-=pod
-
-=item * &getlangs($uname,$udom)
-
-Gets a user's language preference and returns it as a hash with key:
-language.
-
-=cut
-
-sub getlangs {
- my ($uname,$udom) = @_;
- if (!$udom) { $udom =$env{'user.domain'}; }
- if (!$uname) { $uname=$env{'user.name'}; }
- my $id=$uname.':'.$udom;
- my ($langs,$cached)=&Apache::lonnet::is_cached_new('userlangs',$id);
- if ($cached) {
- return %{$langs};
- } else {
- my %loadlangs=&Apache::lonnet::get('environment',['languages'],
- $udom,$uname);
- &Apache::lonnet::do_cache_new('userlangs',$id,\%loadlangs);
- return %loadlangs;
- }
-}
-
-sub flush_langs_cache {
- my ($uname,$udom)=@_;
- if (!$udom) { $udom =$env{'user.domain'}; }
- if (!$uname) { $uname=$env{'user.name'}; }
- return if ($udom eq 'public' && $uname eq 'public');
- my $id=$uname.':'.$udom;
- &Apache::lonnet::devalidate_cache_new('userlangs',$id);
-}
-
# ------------------------------------------------------------------ Screenname
=pod
@@ -3213,7 +3171,7 @@ sub relative_to_absolute {
}
$thisdir=~s-/[^/]*$--;
foreach my $link (@rlinks) {
- unless (($link=~/^https?\:\/\//i) ||
+ unless (($link=~/^http:\/\//i) ||
($link=~/^\//) ||
($link=~/^javascript:/i) ||
($link=~/^mailto:/i) ||
@@ -3924,7 +3882,7 @@ sub get_domainconf {
foreach my $key (keys(%{$domconfig{'login'}})) {
if (ref($domconfig{'login'}{$key}) eq 'HASH') {
foreach my $img (keys(%{$domconfig{'login'}{$key}})) {
- $designhash{$udom.'.login.'.$key.'_'.$img} =
+ $designhash{$udom.'.login.'.$key.'_'.$img} =
$domconfig{'login'}{$key}{$img};
}
} else {
@@ -4453,6 +4411,7 @@ sub standard_css {
my $mail_other_hover = '#669999';
my $table_header = '#DDDDDD';
my $feedback_link_bg = '#BBBBBB';
+ my $lg_border_color = '#C8C8C8';
my $border = ($env{'browser.type'} eq 'explorer' ||
$env{'browser.type'} eq 'safari' ) ? '0px 2px 0px 2px'
@@ -4460,22 +4419,35 @@ sub standard_css {
return < td {
- background-color: #CCC;
- font-weight: bold;
- text-align: left;
+ font-size:90%;
}
table.LC_data_table tr.LC_odd_row > td,
table.LC_aboutme_port tr td {
@@ -4782,7 +4742,7 @@ table.LC_nested tr.LC_empty_row td {
table.LC_nested_outer tr th {
font-weight: bold;
background-color: $data_table_head;
- font-size: smaller;
+ font-size: small;
border-bottom: 1px solid #000000;
}
table.LC_nested_outer tr td.LC_subheader {
@@ -4821,7 +4781,7 @@ table.LC_createuser {
}
table.LC_createuser tr.LC_section_row td {
- font-size: smaller;
+ font-size: small;
}
table.LC_createuser tr.LC_info_row td {
@@ -4877,24 +4837,6 @@ table.LC_mail_list tr.LC_mail_even {
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 {
width: 100%;
border-collapse: collapse;
@@ -4913,35 +4855,27 @@ table#LC_cstr_controls tr th {
font-size: smaller;
}
-table#LC_browser {
-
-}
-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 {
+table.LC_data_table tr > td.LC_browser_file,
+table.LC_data_table tr > td.LC_browser_file_published {
background: #CCFF88;
}
-table#LC_browser tr.LC_browser_file_locked,
-table#LC_browser tr.LC_browser_file_unpublished {
+table.LC_data_table tr > td.LC_browser_file_locked,
+table.LC_data_table tr > td.LC_browser_file_unpublished {
background: #FFAA99;
}
-table#LC_browser tr.LC_browser_file_obsolete {
+table.LC_data_table tr > td.LC_browser_file_obsolete {
background: #AAAAAA;
}
-table#LC_browser tr.LC_browser_file_modified,
-table#LC_browser tr.LC_browser_file_metamodified {
+table.LC_data_table tr > td.LC_browser_file_modified,
+table.LC_data_table tr > td.LC_browser_file_metamodified {
background: #FFFF77;
}
-table#LC_browser tr.LC_browser_folder {
+table.LC_data_table tr.LC_browser_folder > td {
background: #CCCCFF;
}
+
span.LC_current_location {
- font-size: x-large;
+ font-size:larger;
background: $pgbg;
}
@@ -5449,10 +5383,10 @@ table.LC_scantron_action {
width: 100%;
}
table.LC_scantron_action tr th {
- font: normal bold $sans;
+ font-weight:bold;
+ font-style:normal;
}
-
-div.LC_edit_problem_header,
+.LC_edit_problem_header,
div.LC_edit_problem_footer {
font: normal medium $sans;
margin: 2px;
@@ -5528,11 +5462,302 @@ fieldset#LC_mainmenu_fieldset {
margin:0px 10px 10px 0px;
}
+/* ---- Remove when done ----
+# The following styles is part of the redesign of LON-CAPA and are
+# subject to change during this project.
+# Don't rely on their current functionality as they might be
+# changed or removed.
+# --------------------------*/
+
+a:hover,
+ol.smallMenu a:hover,
+ol#MenuBreadcrumbs a:hover,
+ul#TabMainMenuContent a:hover,
+.FormSectionClearButton input:hover{
+ color:#BF2317;
+ text-decoration:none;
+}
+
+h1 {
+ padding:5px 10px 5px 0px;
+ line-height:130%;
+}
+
+h2,h3,h4,h5,h6
+{
+margin:5px 0px 5px 0px;
+line-height:130%;
+}
+.hcell{
+ padding:3px 15px 3px 15px;
+ margin:0px;
+ background-color:$pgbg;
+ background-color:$ border-bottom:solid 1px $lg_border_color;
+}
+.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 {
+ text-align: right;
+ float: right;
+ margin: 0px;
+ padding: 0px;
+ right:0;
+ position:absolute;
+ overflow:hidden;
+}
+
+p {
+ padding: 10px;
-div.LC_createcourse {
- margin: 10px 10px 10px 10px;
+}
+.FormSectionClearButton input {
+ background-color:transparent;
+ border:0px;
+ cursor:pointer;
+ text-decoration:underline;
}
+
+dl,ul,div,fieldset {
+ margin: 10px 10px 10px 0px;
+ overflow:hidden;
+}
+ol.smallMenu {
+ margin: 0px;
+}
+
+ol.smallMenu li {
+ display: inline;
+ padding: 5px 5px 0px 10px;
+ vertical-align: top;
+}
+
+ol.smallMenu li img {
+ vertical-align: bottom;
+}
+
+ol.smallMenu a {
+ font-size: 90%;
+ color: RGB(80, 80, 80);
+ text-decoration: none;
+}
+
+ol#TabMainMenuContent {
+
+ margin: 0px 0px 10px 0px;
+ padding: 0px;
+}
+
+ol#TabMainMenuContent li {
+ display: inline;
+ vertical-align: bottom;
+ border-bottom: solid 1px RGB(175, 175, 175);
+ border-right: solid 1px RGB(175, 175, 175);
+ padding: 5px 15px 5px 15px;
+ margin-right:4px;
+ line-height: 140%;
+ font-weight: bold;
+ overflow:hidden;
+/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;*/
+}
+
+ol#TabMainMenuContent li a{
+ color: RGB(47, 47, 47);
+ text-decoration: none;
+}
+
+ol#TabMainMenuContent div.columnSection {
+ margin-bottom: 0px;
+}
+
+ol#MenuBreadcrumbs, ol#PathBreadcrumbs {
+ border-top: solid 1px RGB(255, 255, 255);
+ height: 20px;
+ line-height: 20px;
+ vertical-align: bottom;
+ margin: 0px 0px 30px 0px;
+ padding-left: 10px;
+ list-style-position: inside;
+/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left
+ top;*/
+}
+
+ol#MenuBreadcrumbs li, ol#PathBreadcrumbs li {
+/* background: url(images/pfeil_white.png) no-repeat left center;*/
+ display: inline;
+ padding: 0px 0px 0px 10px;
+ vertical-align: bottom;
+ overflow:hidden;
+}
+
+ol#MenuBreadcrumbs li a {
+ text-decoration: none;
+ font-size:90%;
+}
+ol#PathBreadcrumbs li a{
+ text-decoration:none;
+ font-size:100%;
+ font-weight:bold;
+}
+
+.ContentBoxSpecial
+{
+ border: solid 1px $lg_border_color;
+}
+.ContentBox {
+ padding:10px;
+}
+.PopUp
+{
+ padding:10px;
+ border-left:solid 1px $lg_border_color;
+ border-top:solid 1px $lg_border_color;
+ 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 {
+ padding-right: 5px;
+ display: table-header-group;
+}
+
+dl.ListStyleClean dd {
+ display: table-row;
+}
+
+.ListStyleClean,
+.ListStyleSimple,
+.ListStyleNormal,
+.ListStyleNormal_Border,
+.ListStyleSpecial
+ {
+ /*display:block; */
+ list-style-position: inside;
+ list-style-type: none;
+ overflow: hidden;
+ padding: 0px;
+}
+
+.ListStyleSimple li,
+.ListStyleSimple dd,
+.ListStyleNormal li,
+.ListStyleNormal dd,
+.ListStyleSpecial li,
+.ListStyleSpecial dd
+ {
+ margin: 0px;
+ padding: 5px 5px 5px 10px;
+ clear: both;
+}
+
+.ListStyleClean li,
+.ListStyleClean dd {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+.ListStyleSimple dd,
+.ListStyleSimple li{
+ border-bottom: solid 1px $lg_border_color;
+}
+
+.ListStyleSpecial li,
+.ListStyleSpecial dd {
+ list-style-type: none;
+ background-color: RGB(220, 220, 220);
+ margin-bottom: 4px;
+}
+
+table.SimpleTable {
+ margin:5px;
+ border:solid 1px $lg_border_color;
+ }
+
+table.SimpleTable tr {
+ padding:0px;
+ border:solid 1px $lg_border_color;
+}
+table.SimpleTable thead{
+ background:rgb(220,220,220);
+}
+
+div.columnSection {
+ display: block;
+ clear: both;
+ overflow: hidden;
+ margin:0px;
+}
+
+div.columnSection>* {
+ float: left;
+ margin: 10px 20px 10px 0px;
+ overflow:hidden;
+}
+div.columnSection > .ContentBox,
+div.columnSection > .ContentBoxSpecial
+ {
+ width: 400px;
+
+}
+
+.LC_loginpage_container {
+ text-align:left;
+ margin : 0 auto;
+ width:65%;
+ padding: 10px;
+ height: auto;
+ background-color:#FFFFFF;
+ border:1px solid #CCCCCC;
+}
+
+
+.LC_loginpage_loginContainer {
+ float:left;
+ width:60%;
+}
+
+.LC_loginpage_loginInfo {
+ margin-top:20px;
+ margin-left:20px;
+ float:left;
+ width:30%;
+ border:1px solid #CCCCCC;
+ padding:10px;
+}
+
+.LC_loginpage_space {
+ clear:both;
+ margin-bottom:20px;
+ border-bottom: 1px solid #CCCCCC;
+}
+
+.LC_loginpage_fieldset{
+ border: 1px solid #CCCCCC;
+ margin: 0 auto;
+}
+
+.LC_loginpage_legend{
+ padding: 2px;
+ margin: 0px;
+ font-size:14px;
+ font-weight:bold;
+}
+
+
+
END
}
@@ -6563,35 +6788,19 @@ sub default_quota {
if ($inststatus ne '') {
my @statuses = split(/:/,$inststatus);
foreach my $item (@statuses) {
- if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') {
- if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') {
- if ($defquota eq '') {
- $defquota = $quotahash{'quotas'}{'defaultquota'}{$item};
- $settingstatus = $item;
- } elsif ($quotahash{'quotas'}{'defaultquota'}{$item} > $defquota) {
- $defquota = $quotahash{'quotas'}{'defaultquota'}{$item};
- $settingstatus = $item;
- }
- }
- } else {
- if ($quotahash{'quotas'}{$item} ne '') {
- if ($defquota eq '') {
- $defquota = $quotahash{'quotas'}{$item};
- $settingstatus = $item;
- } elsif ($quotahash{'quotas'}{$item} > $defquota) {
- $defquota = $quotahash{'quotas'}{$item};
- $settingstatus = $item;
- }
+ if ($quotahash{'quotas'}{$item} ne '') {
+ if ($defquota eq '') {
+ $defquota = $quotahash{'quotas'}{$item};
+ $settingstatus = $item;
+ } elsif ($quotahash{'quotas'}{$item} > $defquota) {
+ $defquota = $quotahash{'quotas'}{$item};
+ $settingstatus = $item;
}
}
}
}
if ($defquota eq '') {
- if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') {
- $defquota = $quotahash{'quotas'}{'defaultquota'}{'default'};
- } else {
- $defquota = $quotahash{'quotas'}{'default'};
- }
+ $defquota = $quotahash{'quotas'}{'default'};
$settingstatus = 'default';
}
} else {
@@ -9072,9 +9281,7 @@ sub construct_course {
'policy.email',
'comment.email',
'pch.users.denied',
- 'plc.users.denied',
- 'hidefromcat',
- 'categories'],
+ 'plc.users.denied'],
$$crsudom,$$crsunum);
}
@@ -9532,11 +9739,6 @@ sub init_user_environment {
}
}
- foreach my $tool ('aboutme','blog','portfolio') {
- $userenv{'availabletools.'.$tool} =
- &Apache::lonnet::usertools_access($username,$domain,$tool,'reload');
- }
-
$env{'user.environment'} = "$lonids/$cookie.id";
if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id",
@@ -9575,7 +9777,7 @@ sub _add_to_env {
# --- Get the symbolic name of a problem and the url
sub get_symb {
my ($request,$silent) = @_;
- (my $url=$env{'form.url'}) =~ s-^https?\://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
+ (my $url=$env{'form.url'}) =~ s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--;
my $symb=($env{'form.symb'} ne '' ? $env{'form.symb'} : (&Apache::lonnet::symbread($url)));
if ($symb eq '') {
if (!$silent) {
@@ -9602,13 +9804,11 @@ sub get_annotation {
}
sub clean_symb {
- my ($symb,$delete_enc) = @_;
+ my ($symb) = @_;
&Apache::lonenc::check_decrypt(\$symb);
my $enc = $env{'request.enc'};
- if ($delete_enc) {
- delete($env{'request.enc'});
- }
+ delete($env{'request.enc'});
return ($symb,$enc);
}
|