--- loncom/interface/loncommon.pm 2010/03/08 14:51:14 1.948
+++ loncom/interface/loncommon.pm 2010/03/18 11:17:06 1.957
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.948 2010/03/08 14:51:14 raeburn Exp $
+# $Id: loncommon.pm,v 1.957 2010/03/18 11:17:06 onken Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1202,12 +1202,7 @@ ENDOUTPUT
sub help_open_menu {
my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height,$text)
= @_;
- $stayOnPage = 0 if (not defined $stayOnPage);
- # only use pop-up help (stayOnPage == 0)
- # if environment.remote is on (using remote control UI)
- if ($env{'environment.remote'} eq 'off' ) {
- $stayOnPage=1;
- }
+ $stayOnPage = 1;
my $output;
if ($component_help) {
if (!$text) {
@@ -1228,8 +1223,8 @@ sub help_open_menu {
sub top_nav_help {
my ($text) = @_;
$text = &mt($text);
- my $stay_on_page =
- ($env{'environment.remote'} eq 'off' );
+ my $stay_on_page = 1;
+
my $link = ($stay_on_page) ? "javascript:helpMenu('display')"
: "javascript:helpMenu('open')";
my $banner_link = &update_help_link(undef,undef,undef,undef,$stay_on_page);
@@ -1244,10 +1239,7 @@ END
sub help_menu_js {
my ($text) = @_;
-
- my $stayOnPage =
- ($env{'environment.remote'} eq 'off' );
-
+ my $stayOnPage = 1;
my $width = 620;
my $height = 600;
my $helptopic=&general_help();
@@ -1304,10 +1296,7 @@ sub help_open_bug {
unless ($env{'user.adv'}) { return ''; }
unless ($Apache::lonnet::perlvar{'BugzillaHost'}) { return ''; }
$text = "" if (not defined $text);
- $stayOnPage = 0 if (not defined $stayOnPage);
- if ($env{'environment.remote'} eq 'off' ) {
$stayOnPage=1;
- }
$width = 600 if (not defined $width);
$height = 600 if (not defined $height);
@@ -1348,10 +1337,7 @@ sub help_open_faq {
unless ($env{'user.adv'}) { return ''; }
unless ($Apache::lonnet::perlvar{'FAQHost'}) { return ''; }
$text = "" if (not defined $text);
- $stayOnPage = 0 if (not defined $stayOnPage);
- if ($env{'environment.remote'} eq 'off' ) {
$stayOnPage=1;
- }
$width = 350 if (not defined $width);
$height = 400 if (not defined $height);
@@ -4550,9 +4536,10 @@ Inputs:
=item * $bgcolor, used to override the bgcolor on a webpage to a specific value
-=item * $no_inline_link, if true and in remote mode, don't show the
- 'Switch To Inline Menu' link
-
+#SD
+#RC =item * $no_inline_link, if true and in remote mode, don't show the
+#RC 'Switch To Inline Menu' link
+#RC
=item * $args, optional argument valid values are
no_auto_mt_title -> prevents &mt()ing the title arg
inherit_jsmath -> when creating popup window in a page,
@@ -4572,6 +4559,11 @@ sub bodytag {
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,
$no_nav_bar,$bgcolor,$no_inline_link,$args)=@_;
+ my $public;
+ if ((($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public'))
+ || ($env{'user.name'} eq '') && ($env{'user.domain'} eq '')) {
+ $public = 1;
+ }
if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); }
$function = &get_users_function() if (!$function);
@@ -4621,7 +4613,7 @@ sub bodytag {
}
my $name = &plainname($env{'user.name'},$env{'user.domain'});
- if ($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public') {
+ if ($public) {
undef($role);
} else {
$name = &aboutmewrapper($name,$env{'user.name'},$env{'user.domain'});
@@ -4642,7 +4634,6 @@ sub bodytag {
$role = '('.$role.')' if $role;
&get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['inhibitmenu']);
- if ($env{'environment.remote'} eq 'off') {
# No Remote
if ($no_nav_bar || $env{'form.inhibitmenu'} eq 'yes') {
return $bodytag;
@@ -4680,7 +4671,7 @@ sub bodytag {
$bodytag .= qq|
$realm $dc_info
|;
#don't show menus for public users
- if($env{'user.name'} ne 'public' && $env{'user.domain'} ne 'public'){
+ if (!$public){
$bodytag .= Apache::lonmenu::secondary_menu();
$bodytag .= Apache::lonmenu::serverform();
$bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
@@ -4698,40 +4689,6 @@ sub bodytag {
}
return $bodytag;
- }
-
-#
-# Top frame rendering, Remote is up
-#
-
- my $imgsrc = $img;
- if ($img =~ /^\/adm/) {
- $imgsrc = &lonhttpdurl($img);
- }
- my $upperleft='
';
-
- # Explicit link to get inline menu
- my $menu= ($no_inline_link?''
- :''.&mt('Switch to Inline Menu Mode').'');
-
- if ($dc_info) {
- $dc_info = qq|($dc_info)|;
- }
-
- $bodytag .= qq|$name $role
- $realm $dc_info
| unless $env{'form.inhibitmenu'};
- return(<
-$upperleft |
- $messages |
-
-$titleinfo $dc_info $menu |
-
-
-ENDBODY
}
sub dc_courseid_toggle {
@@ -4763,22 +4720,8 @@ sub make_attr_string {
delete($attr_ref->{$key});
}
}
- $attr_ref->{'onload'} =
- &Apache::lonmenu::loadevents(). $on_load;
- $attr_ref->{'onunload'}=
- &Apache::lonmenu::unloadevents().$on_unload;
- }
-
-# Accessibility font enhance
- if ($env{'browser.fontenhance'} eq 'on') {
- my $style;
- foreach my $key (keys(%{$attr_ref})) {
- if (lc($key) eq 'style') {
- $style.=$attr_ref->{$key}.';';
- delete($attr_ref->{$key});
- }
- }
- $attr_ref->{'style'}=$style.'; font-size: x-large;';
+ $attr_ref->{'onload'} = $on_load;
+ $attr_ref->{'onunload'}= $on_unload;
}
my $attr_string;
@@ -4874,6 +4817,7 @@ sub standard_css {
my $table_header = '#DDDDDD';
my $feedback_link_bg = '#BBBBBB';
my $lg_border_color = '#C8C8C8';
+ my $button_hover = '#BF2317';
my $border = ($env{'browser.type'} eq 'explorer' ||
$env{'browser.type'} eq 'safari' ) ? '0 2px 0 2px'
@@ -5111,11 +5055,6 @@ td.LC_table_cell_checkbox {
padding: 0;
}
-/* Preliminary fix to hide breadcrumbs inside remote control window */
-#LC_remote #LC_breadcrumbs {
- display:none;
-}
-
#LC_head_subbox {
clear:both;
background: #F8F8F8; /* $sidebg; */
@@ -5141,6 +5080,10 @@ td.LC_table_cell_checkbox {
vertical-align: middle;
}
+li.LC_menubuttons_inline_text img,a {
+ cursor:pointer;
+}
+
.LC_menubuttons_link {
text-decoration: none;
}
@@ -6019,7 +5962,7 @@ ol#LC_PathBreadcrumbs a:hover,
ul#LC_secondary_menu a:hover,
.LC_FormSectionClearButton input:hover
ul.LC_TabContent li:hover a {
- color:#BF2317;
+ color:$button_hover;
text-decoration:none;
}
@@ -6106,11 +6049,6 @@ ol.LC_primary_menu {
margin: 0;
}
-span.LC_new_message{
- font-weight:bold;
- color: darkred;
-}
-
ol#LC_PathBreadcrumbs {
margin: 0;
}
@@ -6131,6 +6069,11 @@ ol.LC_primary_menu a {
text-decoration: none;
}
+ol.LC_primary_menu a.LC_new_message {
+ font-weight:bold;
+ color: darkred;
+}
+
ul#LC_secondary_menu {
clear: both;
color: $fontmenu;
@@ -6170,7 +6113,7 @@ ul#LC_secondary_menu li a {
}
ul.LC_TabContent {
- min-height:1.5em;
+ min-height:20px;
}
ul.LC_TabContent li {
@@ -6178,6 +6121,7 @@ ul.LC_TabContent li {
padding: 0 10px 0 10px;
background-color:$tabbg;
border-bottom:solid 1px $lg_border_color;
+ border-right: solid 1px $font;
}
ul.LC_TabContent .right {
@@ -6191,13 +6135,23 @@ ul.LC_TabContent li {
font-size:95%;
font-weight:bold;
padding-right: 16px;
+ min-height:20px;
+}
+
+ul.LC_TabContent li a:hover {
+ color: $button_hover;
+}
+
+ul.LC_TabContent li:hover {
+ color: $button_hover;
+ cursor:pointer;
}
-ul.LC_TabContent li:hover,
ul.LC_TabContent li.active {
+ color: $font;
background:#FFFFFF url(/adm/lonIcons/open.gif) no-repeat scroll right center;
- border-bottom:solid 2px #FFFFFF;
- padding-right: 16px;
+ border-bottom:solid 1px #FFFFFF;
+ cursor: default;
}
#maincoursedoc {
@@ -6218,6 +6172,10 @@ ul.LC_TabContentBigger li {
color: #737373;
}
+ul.LC_TabContentBigger li.active {
+ position: relative;
+ top: 1px;
+}
ul.LC_TabContentBigger li a {
background:url('/adm/lonIcons/tabbgleft.gif') left bottom no-repeat;
@@ -6228,26 +6186,28 @@ ul.LC_TabContentBigger li a {
text-decoration: none;
}
-ul.LC_TabContentBigger li:hover a,
ul.LC_TabContentBigger li.active a {
background:url('/adm/lonIcons/tabbgleft.gif') left top no-repeat;
color:$font;
- text-decoration: underline;
}
-
ul.LC_TabContentBigger li b {
background: url('/adm/lonIcons/tabbgright.gif') no-repeat right bottom;
display: block;
float: left;
padding: 0 30px;
+ border-bottom: 1px solid $lg_border_color;
+}
+
+ul.LC_TabContentBigger li:hover b {
+ color:$button_hover;
}
-ul.LC_TabContentBigger li:hover b,
ul.LC_TabContentBigger li.active b {
background:url('/adm/lonIcons/tabbgright.gif') right top no-repeat;
color:$font;
- border-bottom: 1px solid #FFFFFF;
+ border: 0;
+ cursor:default;
}
@@ -6457,14 +6417,6 @@ a#LC_content_toolbar_firsthomework {
background-image:url(/res/adm/pages/open-first-problem.gif);
}
-a#LC_content_toolbar_launchnav {
- background-image:url(/res/adm/pages/start-navigation.gif);
-}
-
-a#LC_content_toolbar_closenav {
- background-image:url(/res/adm/pages/close-navigation.gif);
-}
-
a#LC_content_toolbar_everything {
background-image:url(/res/adm/pages/show-all.gif);
}
@@ -6607,7 +6559,7 @@ sub headtag {
$result .= &Apache::lonhtmlcommon::htmlareaheaders();
}
if ($args->{'force_register'}) {
- $result .= &Apache::lonmenu::registerurl(1);
+ $result .= &Apache::lonmenu::registerurl();
}
if (!$args->{'no_nav_bar'}
&& !$args->{'only_body'}
@@ -6764,8 +6716,8 @@ $args - additional optional args support
skip_phases -> hash ref of
head -> skip the generation
body -> skip all generation
- no_inline_link -> if true and in remote mode, don't show the
- 'Switch To Inline Menu' link
+#RC no_inline_link -> if true and in remote mode, don't show the
+#RC 'Switch To Inline Menu' link
no_auto_mt_title -> prevent &mt()ing the title arg
inherit_jsmath -> when creating popup window in a page,
should it have jsmath forced on by the
@@ -6831,7 +6783,8 @@ sub start_page {
return $result if $args->{'only_body'};
#Breadcrumbs for Construction Space provided by &bodytag.
- if (($env{'environment.remote'} eq 'off') && ($env{'request.state'} eq 'construct')) {
+ if (
+ $env{'request.state'} eq 'construct') {
return $result;
}
@@ -10262,6 +10215,10 @@ sub construct_course {
$cenv{'url'}=$oldcenv{'url'};
# Restore title
$cenv{'description'}=$oldcenv{'description'};
+# Restore creation date, creator and creation context.
+ $cenv{'internal.created'}=$oldcenv{'internal.created'};
+ $cenv{'internal.creator'}=$oldcenv{'internal.creator'};
+ $cenv{'internal.creationcontext'}=$oldcenv{'internal.creationcontext'};
# Mark as cloned
$cenv{'clonedfrom'}=$cloneid;
# Need to clone grading mode
@@ -10525,6 +10482,8 @@ sub construct_course {
############################################################
############################################################
+#SD
+# only Community and Course, or anything else?
sub course_type {
my ($cid) = @_;
if (!defined($cid)) {
@@ -10690,15 +10649,12 @@ sub init_user_environment {
my %userenv = &Apache::lonnet::dump('environment',$domain,$username);
my ($tmp) = keys(%userenv);
if ($tmp !~ /^(con_lost|error|no_such_host)/i) {
- # default remote control to off
- if ($userenv{'remote'} ne 'on') { $userenv{'remote'} = 'off'; }
} else {
undef(%userenv);
}
if (($userenv{'interface'}) && (!$form->{'interface'})) {
$form->{'interface'}=$userenv{'interface'};
}
- $env{'environment.remote'}=$userenv{'remote'};
if ($userenv{'texengine'} eq 'ttm') { $clientmathml=1; }
# --------------- Do not trust query string to be put directly into environment
@@ -10730,9 +10686,6 @@ sub init_user_environment {
$initial_env{"browser.localres"} = $form->{'localres'};
}
- if ($public) {
- $initial_env{"environment.remote"} = "off";
- }
if ($form->{'interface'}) {
$form->{'interface'}=~s/\W//gs;
$initial_env{"browser.interface"} = $form->{'interface'};