--- loncom/interface/loncommon.pm 2009/05/27 13:42:04 1.826
+++ loncom/interface/loncommon.pm 2009/07/25 23:16:04 1.865
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.826 2009/05/27 13:42:04 bisitz Exp $
+# $Id: loncommon.pm,v 1.865 2009/07/25 23:16:04 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -483,7 +483,7 @@ ENDAUTHORBRW
sub coursebrowser_javascript {
my ($domainfilter,$sec_element,$formname)=@_;
- my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Group - for which you wish to add/modify a user role');
+ my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Community - for which you wish to add/modify a user role');
my $output = '
+END_MYBLOCK
+ my $popupUrl = "/adm/blockingstatus/$querystring";
+ $output.="\nBlocking Table";
+
+ return ($blocked, $output);
+}
+sub blocking_status_print {
my ($activity,$uname,$udom) = @_;
my %setters;
my ($blocked,$output,$ownitem,$is_course);
@@ -4183,6 +4216,34 @@ sub designparm {
##############################################
=pod
+=item * &authorspace()
+
+Inputs: ./.
+
+Returns: Path to the Construction Space of the current user's
+ accessed author space
+ The author space will be that of the current user
+ when accessing the own author space
+ and that of the co-author/assistent co-author
+ when accessing the co-author's/assistent co-author's
+ space
+
+=cut
+
+sub authorspace {
+ my $caname = '';
+ if ($env{'request.role'} =~ /^ca|^aa/) {
+ (undef,$caname) =
+ ($env{'request.role'}=~/($match_domain)\/($match_username)$/);
+ } else {
+ $caname = $env{'user.name'};
+ }
+ return '/priv/'.$caname.'/';
+}
+
+##############################################
+=pod
+
=item * &head_subbox()
Inputs: $content (contains HTML code with page functions, etc.)
@@ -4195,7 +4256,7 @@ Returns: HTML div with $content
sub head_subbox {
my ($content)=@_;
my $output =
- '
' #FIXME: solve conflicts with lonhtmlcommon:breadcrumbs LC_head_subbox
+ '
'
.$content
.'
'
}
@@ -4274,10 +4335,6 @@ Inputs:
=item * $forcereg, if page should register as content page (relevant for
text interface only)
-=item * $customtitle, alternate text to use instead of $title
- in the title box that appears, this text
- is not auto translated like the $title is
-
=item * $no_nav_bar, if true, keep the 'what is this' info but remove the
navigational links
@@ -4302,7 +4359,7 @@ other decorations will be returned.
=cut
sub bodytag {
- my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,
+ my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_;
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); }
@@ -4357,25 +4414,7 @@ sub bodytag {
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'});
}
- my $roleinfo=(<
-
- $name
-
-
-
-$role
-
-
-$realm
-
-
-ENDROLE
-
my $titleinfo = ''.$title.'
';
- if ($customtitle) {
- $titleinfo = $customtitle;
- }
#
# Extra info if you are the DC
my $dc_info = '';
@@ -4388,31 +4427,33 @@ ENDROLE
$dc_info = '('.$dc_info.')';
}
- if (($env{'environment.remote'} eq 'off') || ($args->{'suppress_header_logos'})) {
+ $role = "($role)" if $role;
+ &get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']);
+
+ if ($env{'environment.remote'} eq 'off') {
# No Remote
if ($env{'request.state'} eq 'construct') {
$forcereg=1;
}
- if (!$customtitle && $env{'request.state'} eq 'construct') {
- $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls
- }
+# if ($env{'request.state'} eq 'construct') {
+# $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls
+# }
my $titletable = ''
- ." $titleinfo $dc_info | ".$roleinfo
+ ."
$titleinfo $dc_info | "
.'
';
if ($no_nav_bar) {
$bodytag .= $titletable;
} else {
- $bodytag .= qq|$name ($role)
- $realm $dc_info
|;
+ $bodytag .= qq|$name $role
+ $realm $dc_info
| unless $env{'form.inhibitmenu'};
+
if ($env{'request.state'} eq 'construct') {
- $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg,
- $titletable);
+ $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$titletable);
} else {
- $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg).
- $titletable;
+ $bodytag .= &Apache::lonmenu::menubuttons($forcereg).$titletable;
}
}
return $bodytag;
@@ -4430,7 +4471,12 @@ ENDROLE
# Explicit link to get inline menu
my $menu= ($no_inline_link?''
- :'
'.&mt('Switch to Inline Menu Mode').'');
+ :''.&mt('Switch to Inline Menu Mode').'');
+ $bodytag .= qq|$name $role
+ $realm $dc_info
+ | unless $env{'form.inhibitmenu'};
#
return(<$messages
$titleinfo $dc_info $menu |
-$roleinfo
ENDBODY
@@ -4561,9 +4606,9 @@ sub standard_css {
my $sans = 'Verdana,Arial,Helvetica,sans-serif';
my $mono = 'monospace';
- my $data_table_head = $tabbg;
- my $data_table_light = '#EEEEEE';
- my $data_table_dark = '#DDDDDD';
+ my $data_table_head = $sidebg;
+ my $data_table_light = '#FAFAFA';
+ my $data_table_dark = '#F0F0F0';
my $data_table_darker = '#CCCCCC';
my $data_table_highlight = '#FFFF00';
my $mail_new = '#FFBB77';
@@ -4600,6 +4645,14 @@ a:focus {
background: yellow
}
+hr {
+ clear: both;
+ color: $tabbg;
+ background-color: $tabbg;
+ height: 3px;
+ border: none;
+}
+
form, .inline {
display: inline;
}
@@ -4680,7 +4733,6 @@ div.LC_confirm_box .LC_success img {
.LC_disc_action_links_bar {
background: $tabbg;
- font-family: $sans;
border: none;
margin: 4px;
}
@@ -4723,10 +4775,10 @@ table#LC_nav_location {
table#LC_title_bar a {
color: $fontmenu;
}
-
+
table#LC_title_bar {
clear: both;
- /*display: none;*/
+ display: none;
}
table#LC_title_bar,
@@ -4738,45 +4790,15 @@ table#LC_title_bar.LC_with_remote {
border-width: $border;
background: $pgbg;
color: $fontmenu;
- font-family: $sans;
border-collapse: collapse;
padding: 0;
margin: 0;
}
-table.LC_docs_path {
- width: 100%;
- border: 0;
- background: $pgbg;
- font-family: $sans;
- border-collapse: collapse;
- padding: 0;
-}
-
table#LC_title_bar td {
background: $tabbg;
}
-table#LC_title_bar .LC_title_bar_who {
- background: $tabbg;
- color: $fontmenu;
- font: small $sans;
- text-align: right;
- margin: 0;
-}
-
-table#LC_title_bar div.LC_title_bar_name {
- margin: 0;
-}
-
-table#LC_title_bar div.LC_title_bar_role {
- margin: 0;
-}
-
-table#LC_title_bar div.LC_title_bar_realm {
- margin: 0;
-}
-
table#LC_menubuttons img{
border: none;
}
@@ -4792,7 +4814,6 @@ table#LC_top_nav td {
table#LC_top_nav td a,
div#LC_top_nav a {
color: $font;
- font-family: $sans;
}
table#LC_top_nav td.LC_top_nav_logo {
@@ -4817,21 +4838,12 @@ table#LC_top_nav td.LC_top_nav_login {
text-align: center;
}
-table.LC_breadcrumbs td,
-table.LC_docs_path td {
- background: $tabbg;
- color: $fontmenu;
- font-family: $sans;
- font-size: smaller;
+.LC_breadcrumbs_component {
+ float: right;
+ margin: 0 1em;
}
-
-table.LC_breadcrumbs td.LC_breadcrumbs_component,
-table.LC_docs_path td.LC_docs_path_component {
- background: $tabbg;
- color: $fontmenu;
- font-family: $sans;
- font-size: larger;
- text-align: right;
+.LC_breadcrumbs_component img {
+ vertical-align: middle;
}
td.LC_table_cell_checkbox {
@@ -4846,17 +4858,21 @@ table#LC_mainmenu td.LC_mainmenu_column
font-size: 70%;
}
-#LC_head_subbox {
+#LC_breadcrumbs {
clear:both;
background: $sidebg;
border-bottom: 1px solid $lg_border_color;
- height: 32px;
line-height: 32px;
margin: 0;
padding: 0;
}
-#LC_head_subbox2 { /* FIXME: replace by LC_head_subbox once lonhtmlcommon::breadcrumbs has been fixed */
+/* Preliminary fix to hide breadcrumbs inside remote control window */
+#LC_remote #LC_breadcrumbs {
+ display:none;
+}
+
+#LC_head_subbox {
clear:both;
background: #F8F8F8; /* $sidebg; */
border-bottom: 1px solid $lg_border_color;
@@ -4874,7 +4890,6 @@ table#LC_mainmenu td.LC_mainmenu_column
.LC_menubuttons_inline_text {
color: $font;
- font-family: $sans;
font-size: 90%;
padding-left:3px;
}
@@ -4886,7 +4901,6 @@ table#LC_mainmenu td.LC_mainmenu_column
.LC_menubuttons_category {
color: $font;
background: $pgbg;
- font-family: $sans;
font-size: larger;
font-weight: bold;
}
@@ -4896,29 +4910,18 @@ td.LC_menubuttons_text {
}
.LC_current_location {
- font-family: $sans;
background: $tabbg;
}
.LC_new_mail {
- font-family: $sans;
background: $tabbg;
font-weight: bold;
}
-.LC_preferences_labeltext {
- font-family: $sans;
- text-align: right;
-}
-
.LC_roleslog_note {
font-size: small;
}
-.LC_mail_functions {
- font-weight: bold;
-}
-
table.LC_data_table,
table.LC_mail_list {
border: 1px solid #000000;
@@ -5166,7 +5169,6 @@ span.LC_current_location {
span.LC_parm_menu_item {
font-size: larger;
- font-family: $sans;
}
span.LC_parm_scope_all {
@@ -5221,7 +5223,6 @@ table#LC_helpmenu {
table#LC_helpmenu fieldset legend {
font-size: larger;
- font-weight: bold;
}
table#LC_helpmenu_links {
@@ -5274,7 +5275,7 @@ table.LC_pick_box {
}
table.LC_pick_box td.LC_pick_box_title {
- background: $tabbg;
+ background: $sidebg;
font-weight: bold;
text-align: right;
vertical-align: top;
@@ -5282,14 +5283,6 @@ table.LC_pick_box td.LC_pick_box_title {
padding: 8px;
}
-table.LC_pick_box td.LC_selfenroll_pick_box_title {
- background: $tabbg;
- font-weight: bold;
- text-align: right;
- width: 350px;
- padding: 8px;
-}
-
table.LC_pick_box td.LC_pick_box_value {
text-align: left;
padding: 8px;
@@ -5409,7 +5402,6 @@ table.LC_notify_front_page td {
}
.LC_topic_bar {
- font-family: $sans;
font-weight: bold;
width: 100%;
background: $tabbg;
@@ -5438,17 +5430,30 @@ table.LC_status_selector td {
div.LC_feedback_link {
clear: both;
- background: white;
+ background: $sidebg;
width: 100%;
+ padding-bottom: 10px;
+ border: 1px $tabbg solid;
+ height: 22px;
+ line-height: 22px;
+ padding-top: 5px;
+}
+
+div.LC_feedback_link img {
+ height: 22px;
+}
+
+div.LC_feedback_link a{
+ text-decoration: none;
}
span.LC_feedback_link {
- background: $feedback_link_bg;
+ /* background: $feedback_link_bg; */
font-size: larger;
}
span.LC_message_link {
- background: $feedback_link_bg;
+ /* background: $feedback_link_bg; */
font-size: larger;
position: absolute;
right: 1em;
@@ -5466,14 +5471,12 @@ table.LC_prior_tries td {
.LC_answer_correct {
background: lightgreen;
- font-family: $sans;
color: darkgreen;
padding: 6px;
}
.LC_answer_charged_try {
background: #FFAAAA;
- font-family: $sans;
color: darkred;
padding: 6px;
}
@@ -5482,28 +5485,24 @@ table.LC_prior_tries td {
.LC_answer_no_grade,
.LC_answer_late {
background: lightyellow;
- font-family: $sans;
color: black;
padding: 6px;
}
.LC_answer_previous {
background: lightblue;
- font-family: $sans;
color: darkblue;
padding: 6px;
}
.LC_answer_no_message {
background: #FFFFFF;
- font-family: $sans;
color: black;
padding: 6px;
}
.LC_answer_unknown {
background: orange;
- font-family: $sans;
color: black;
padding: 6px;
}
@@ -5538,8 +5537,7 @@ table.LC_prior_match tr td {
border: 1px solid #000000;
}
-td.LC_nobreak,
-span.LC_nobreak {
+.LC_nobreak {
white-space: nowrap;
}
@@ -5563,21 +5561,24 @@ table.LC_docs_documents td.LC_docs_docum
padding: 4px;
}
-.LC_docs_entry_move {
- border: none;
- border-collapse: collapse;
-}
-
-.LC_docs_entry_move td {
- border: 2px solid #BBBBBB;
+div.LC_docs_entry_move {
+ border: 1px solid #BBBBBB;
background: #DDDDDD;
+ width: 22px;
+ padding: 1px;
+ margin: 0;
}
-.LC_docs_editor td.LC_docs_entry_commands {
+table.LC_data_table tr > td.LC_docs_entry_commands,
+table.LC_data_table tr > td.LC_docs_entry_parameter {
background: #DDDDDD;
font-size: x-small;
}
+.LC_docs_entry_parameter {
+ white-space: nowrap;
+}
+
.LC_docs_copy {
color: #000099;
}
@@ -5599,17 +5600,6 @@ table.LC_docs_documents td.LC_docs_docum
font-size: x-small;
}
-.LC_docs_editor td.LC_docs_entry_title,
-.LC_docs_editor td.LC_docs_entry_icon {
- background: #FFFFBB;
-}
-
-.LC_docs_editor td.LC_docs_entry_parameter {
- background: #BBBBFF;
- font-size: x-small;
- white-space: nowrap;
-}
-
table.LC_docs_adddocs td,
table.LC_docs_adddocs th {
border: 1px solid #BBBBBB;
@@ -5741,12 +5731,6 @@ div.LC_edit_problem_editxml_header div {
margin-top: 5px;
}
-div.LC_edit_problem_header_edit_row {
- background: $tabbg;
- padding: 3px;
- margin-bottom: 5px;
-}
-
div.LC_edit_problem_header_title {
font-weight: bold;
font-size: larger;
@@ -5776,14 +5760,6 @@ div.LC_edit_problem_saves {
padding-bottom: 5px;
}
-hr.LC_edit_problem_divide {
- clear: both;
- color: $tabbg;
- background-color: $tabbg;
- height: 3px;
- border: none;
-}
-
img.stift{
border-width: 0;
vertical-align: middle;
@@ -5802,7 +5778,6 @@ table#LC_mainmenu td.LC_mainmenu_col_fie
.LC_mainmenu_fieldset_category {
color: $font;
background: $pgbg;
- font-family: $sans;
font-size: small;
font-weight: bold;
}
@@ -5848,13 +5823,14 @@ h2,h3,h4,h5,h6 {
border-bottom:solid 1px $lg_border_color;
}
+.LC_Box > .LC_hcell {
+ margin: 0 -10px 10px -10px;
+}
+
.LC_noBorder {
border: 0;
}
-
-/* Main Header with discription of Person, Course, etc. */
-
.LC_Right {
float: right;
margin: 0;
@@ -5883,9 +5859,14 @@ dl,ul,div,fieldset {
/* overflow: hidden; */
}
+fieldset > legend {
+ font-weight: bold;
+ padding: 0 5px 0 5px;
+}
+
#LC_nav_bar {
float: left;
- margin: 0;
+ margin: 0.2em 0 0 0;
}
#LC_nav_bar em{
@@ -5895,9 +5876,10 @@ dl,ul,div,fieldset {
ol.LC_smallMenu {
float: right;
+ margin: 0.2em 0 0 0;
}
-ol.LC_smallMenu, ol#LC_PathBreadcrumbs {
+ol#LC_PathBreadcrumbs {
margin: 0;
}
@@ -5924,12 +5906,10 @@ ul#LC_TabMainMenuContent {
list-style: none;
padding: 0;
margin: 0;
- float:left;
width: 100%;
}
ul#LC_TabMainMenuContent li {
- float: left;
font-weight: bold;
line-height: 1.8em;
padding: 0 0.8em;
@@ -5938,14 +5918,22 @@ ul#LC_TabMainMenuContent li {
vertical-align: middle;
}
-ul.LC_TabContent ,
-ul.LC_TabContentBigger {
+ul.LC_TabContent {
display:block;
+ background: $sidebg;
+ border-bottom: solid 1px $lg_border_color;
list-style:none;
- margin: 0;
+ margin: -10px -10px 0 -10px;
padding: 0;
}
+ul.LC_TabContentBigger {
+ display:block;
+ list-style:none;
+ padding: 0;
+}
+
+
ul.LC_TabContent li,
ul.LC_TabContentBigger li {
display: inline;
@@ -5961,7 +5949,7 @@ ul#LC_TabMainMenuContent li a {
}
ul.LC_TabContent {
- min-height:1.6em;
+ min-height:1.5em;
}
ul.LC_TabContent li {
@@ -5971,6 +5959,10 @@ ul.LC_TabContent li {
border-bottom:solid 1px $lg_border_color;
}
+ul.LC_TabContent .right {
+ float:right;
+}
+
ul.LC_TabContent li a, ul.LC_TabContent li {
color:rgb(47,47,47);
text-decoration:none;
@@ -5981,7 +5973,7 @@ ul.LC_TabContent li a, ul.LC_TabContent
ul.LC_TabContent li:hover, ul.LC_TabContent li.active {
background:#FFFFFF url(/adm/lonIcons/open.gif) no-repeat scroll right center;
- border-bottom:solid 1px #FFFFFF;
+ border-bottom:solid 2px #FFFFFF;
padding-right: 16px;
}
@@ -5991,23 +5983,37 @@ ul.LC_TabContentBigger li {
border-left:solid 1px $lg_border_color;
padding:5px 10px 5px 10px;
margin-left:2px;
- background:url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
+ background: #d9d9d9;
+}
+
+#maincoursedoc {
+ clear:both;
}
ul.LC_TabContentBigger li:hover,
ul.LC_TabContentBigger li.active {
- background:url(/adm/lonIcons/lightGreyBG.png) repeat-x right bottom;
+ background: #ffffff;
+ color:$font;
}
ul.LC_TabContentBigger li,
ul.LC_TabContentBigger li a {
font-size:110%;
font-weight:bold;
+ color: #737373;
+}
+
+ul.LC_CourseBreadcrumbs {
+ background: $sidebg;
+ line-height: 32px;
+ padding-left: 10px;
+ margin: 0 0 10px 0;
+ list-style-position: inside;
+
}
ol#LC_MenuBreadcrumbs,
-ol#LC_PathBreadcrumbs,
-ul#LC_CourseBreadcrumbs {
+ol#LC_PathBreadcrumbs {
padding-left: 10px;
margin: 0;
list-style-position: inside;
@@ -6015,14 +6021,13 @@ ul#LC_CourseBreadcrumbs {
ol#LC_MenuBreadcrumbs li,
ol#LC_PathBreadcrumbs li,
-ul#LC_CourseBreadcrumbs li {
- display: inline;
- padding: 0 0 0 10px;
- overflow:hidden;
+ul.LC_CourseBreadcrumbs li {
+ display: inline;
+ white-space: nowrap;
}
ol#LC_MenuBreadcrumbs li a,
-ul#LC_CourseBreadcrumbs li a {
+ul.LC_CourseBreadcrumbs li a {
text-decoration: none;
font-size:90%;
}
@@ -6033,18 +6038,9 @@ ol#LC_PathBreadcrumbs li a {
font-weight:bold;
}
-.LC_BoxPadding {
- padding: 10px;
-}
-
-.LC_ContentBoxSpecial {
- border: solid 1px $lg_border_color;
-}
-
-.LC_ContentBoxSpecialContactInfo {
- border: solid 1px $lg_border_color;
- max-width:25%;
- min-width:25%;
+.LC_Box {
+ border: solid 1px $lg_border_color;
+ padding: 0 10px 10px 10px;
}
.LC_AboutMe_Image {
@@ -6133,26 +6129,6 @@ div.LC_columnSection>* {
overflow:hidden;
}
-.ContentBoxSpecialTemplate {
- border: solid 1px $lg_border_color;
-}
-
-.ContentBoxTemplate {
- padding:10px;
-}
-
-div.LC_columnSection > .ContentBoxTemplate,
-div.LC_columnSection > .ContentBoxSpecialTemplate {
- width: 600px;
-}
-
-.clear {
- clear: both;
- line-height: 0;
- font-size: 0;
- height: 0;
-}
-
.LC_loginpage_container {
text-align:left;
margin : 0 auto;
@@ -6207,7 +6183,7 @@ table em {
table.LC_tableBrowseRes,
table.LC_tableOfContent {
border:none;
- border-spacing: 1;
+ border-spacing: 1px;
padding: 3px;
background-color: #FFFFFF;
font-size: 90%;
@@ -6301,7 +6277,7 @@ a.LC_toolbarItem {
background-color:transparent;
}
-ul.LC_functionslist li {
+ul.LC_funclist li {
float: left;
white-space: nowrap;
height: 35px; /* at least as high as heighest list item */
@@ -6436,7 +6412,8 @@ sub xml_begin {
.'';
} else {
- $output='';
+ $output=''
+ .'';
}
return $output;
}
@@ -6512,9 +6489,6 @@ $args - additional optional args support
a html attribute
force_register -> if is true will turn on the &bodytag()
$forcereg arg
- body_title -> alternate text to use instead of $title
- in the title box that appears, this text
- is not auto translated like the $title is
frameset -> if true will start with a