--- loncom/interface/loncommon.pm 2009/10/22 13:13:12 1.900
+++ loncom/interface/loncommon.pm 2009/10/30 04:44:56 1.905
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.900 2009/10/22 13:13:12 bisitz Exp $
+# $Id: loncommon.pm,v 1.905 2009/10/30 04:44:56 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -482,7 +482,7 @@ ENDAUTHORBRW
}
sub coursebrowser_javascript {
- my ($domainfilter,$sec_element,$formname)=@_;
+ my ($domainfilter,$sec_element,$formname,$role_element)=@_;
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 $id_functions = &javascript_index_functions();
my $output = '
@@ -548,8 +548,8 @@ sub coursebrowser_javascript {
}
$id_functions
ENDSTDBRW
- if ($sec_element ne '') {
- $output .= &setsec_javascript($sec_element,$formname);
+ if (($sec_element ne '') || ($role_element ne '')) {
+ $output .= &setsec_javascript($sec_element,$formname,$role_element);
}
$output .= '
// ]]>
@@ -661,7 +661,28 @@ ENDUSERBRW
}
sub setsec_javascript {
- my ($sec_element,$formname) = @_;
+ my ($sec_element,$formname,$role_element) = @_;
+ my (@courserolenames,@communityrolenames,$rolestr,$courserolestr,
+ $communityrolestr);
+ if ($role_element ne '') {
+ my @allroles = ('st','ta','ep','in','ad');
+ foreach my $crstype ('Course','Community') {
+ if ($crstype eq 'Community') {
+ foreach my $role (@allroles) {
+ push(@communityrolenames,&Apache::lonnet::plaintext($role,$crstype));
+ }
+ push(@communityrolenames,&Apache::lonnet::plaintext('co'));
+ } else {
+ foreach my $role (@allroles) {
+ push(@courserolenames,&Apache::lonnet::plaintext($role,$crstype));
+ }
+ push(@courserolenames,&Apache::lonnet::plaintext('cc'));
+ }
+ }
+ $rolestr = '"'.join('","',@allroles).'"';
+ $courserolestr = '"'.join('","',@courserolenames).'"';
+ $communityrolestr = '"'.join('","',@communityrolenames).'"';
+ }
my $setsections = qq|
function setSect(sectionlist) {
var sectionsArray = new Array();
@@ -695,11 +716,49 @@ function setSect(sectionlist) {
}
}
}
+
+function setRole(crstype) {
+|;
+ if ($role_element eq '') {
+ $setsections .= ' return;
+}
+';
+ } else {
+ $setsections .= qq|
+ var elementLength = document.$formname.$role_element.length;
+ var allroles = Array($rolestr);
+ var courserolenames = Array($courserolestr);
+ var communityrolenames = Array($communityrolestr);
+ if (elementLength != undefined) {
+ if (document.$formname.$role_element.options[5].value == 'cc') {
+ if (crstype == 'Course') {
+ return;
+ } else {
+ allroles[5] = 'co';
+ for (var i=0; i<6; i++) {
+ document.$formname.$role_element.options[i].value = allroles[i];
+ document.$formname.$role_element.options[i].text = communityrolenames[i];
+ }
+ }
+ } else {
+ if (crstype == 'Community') {
+ return;
+ } else {
+ allroles[5] = 'cc';
+ for (var i=0; i<6; i++) {
+ document.$formname.$role_element.options[i].value = allroles[i];
+ document.$formname.$role_element.options[i].text = courserolenames[i];
+ }
+ }
+ }
+ }
+ return;
+}
|;
+ }
return $setsections;
}
-
sub selectcourse_link {
my ($form,$unameele,$udomele,$desc,$extra_element,$multflag,$selecttype)=@_;
my $linktext = &mt('Select Course');
@@ -4444,48 +4503,44 @@ sub bodytag {
if ($env{'environment.remote'} eq 'off') {
# No Remote
- if ($env{'request.state'} eq 'construct') {
- $forcereg=1;
- }
+ if ($no_nav_bar) { return $bodytag; }
- # if ($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') { $forcereg=1; }
- my $titletable = '
'
- ." $titleinfo $dc_info | "
- .'
';
+ # if ($env{'request.state'} eq 'construct') {
+ # $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls
+ # }
- if ($no_nav_bar) {
- $bodytag .= $titletable;
- } else {
- $bodytag .= qq|$name $role
- $realm $dc_info
| unless $env{'form.inhibitmenu'};
+ $bodytag .= qq|$name $role
+ $realm $dc_info
| unless $env{'form.inhibitmenu'};
-#SD $titletable is obsolete
-#SD if ($env{'request.state'} eq 'construct') {
-#SD $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$titletable);
-#SD } else {
-#SD $bodytag .= &Apache::lonmenu::menubuttons($forcereg).$titletable;
-#SD }
- if ( $env{'form.inhibitmenu'} eq 'yes'
- || $ENV{'REQUEST_URI'} eq '/adm/logout'
- || $env{'request.noversionuri'} =~ m{^/res/adm/pages/}) {
-
- return $bodytag;
- }
+ if ( $env{'form.inhibitmenu'} eq 'yes'
+ || $ENV{'REQUEST_URI'} eq '/adm/logout'
+ || $env{'request.noversionuri'} =~ m{^/res/adm/pages/}) {
+
+ return $bodytag;
+ }
+
+ $bodytag .= Apache::lonhtmlcommon::scripttag(
+ Apache::lonmenu::utilityfunctions(), 'start');
+
+ $bodytag .= Apache::lonmenu::primary_menu();
- $bodytag .= Apache::lonhtmlcommon::scripttag(
- Apache::lonmenu::utilityfunctions(),
- 'start');
- $bodytag .= Apache::lonmenu::primary_menu();
- $bodytag .= Apache::lonmenu::secondary_menu();
- #SD remove next line
- #$bodytag .= Apache::lonmenu::menubuttons($forcereg);
- $bodytag .= Apache::lonmenu::serverform();
- $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
- $bodytag .= Apache::lonmenu::innerregister($forcereg) if $forcereg;
+ #don't show menus for public users
+ if($env{'user.name'} ne 'public' && $env{'user.domain'} ne 'public'){
+ $bodytag .= Apache::lonmenu::secondary_menu();
+ $bodytag .= Apache::lonmenu::serverform();
+ $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ $bodytag .= Apache::lonmenu::innerregister($forcereg) if $forcereg;
+ }else{
+ # this is to seperate menu from content when there's no secondary
+ # menu. Especially needed for public accessible ressources.
+ $bodytag .= '
';
+ $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
}
+
+ #SD testing
+ #$bodytag .= Apache::lonmenu::menubuttons($forcereg);
return $bodytag;
}
@@ -4884,7 +4939,10 @@ table#LC_mainmenu td.LC_mainmenu_column
clear:both;
background: $sidebg;
border-bottom: 1px solid $lg_border_color;
- line-height: 32px;
+ line-height: 2.5em;
+ /* SD working here
+ height: 2.5em;
+ overflow: hidden; */
margin: 0;
padding: 0;
}
@@ -5345,40 +5403,6 @@ table.LC_pick_box td.LC_oddrow_value {
background-color: $data_table_light;
}
-table.LC_helpform_receipt {
- width: 620px;
- border-collapse: separate;
- background: white;
- border: 1px solid black;
- border-spacing: 1px;
-}
-
-table.LC_helpform_receipt td.LC_pick_box_title {
- background: $tabbg;
- font-weight: bold;
- text-align: right;
- width: 184px;
- padding: 8px;
-}
-
-table.LC_helpform_receipt td.LC_evenrow_value {
- text-align: left;
- padding: 8px;
- background-color: $data_table_light;
-}
-
-table.LC_helpform_receipt td.LC_oddrow_value {
- text-align: left;
- padding: 8px;
- background-color: $data_table_light;
-}
-
-table.LC_helpform_receipt td.LC_pick_box_separator {
- padding: 0;
- height: 1px;
- background: black;
-}
-
span.LC_helpform_receipt_cat {
font-weight: bold;
}
@@ -5842,7 +5866,7 @@ ul#LC_secondary_menu a:hover,
.LC_FormSectionClearButton input:hover
ul.LC_TabContent li:hover a {
color:#BF2317;
- text-decoration:none;
+ text-decoration:none;
}
h1 {
@@ -6072,6 +6096,8 @@ ol#LC_PathBreadcrumbs {
padding-left: 10px;
margin: 0;
list-style-position: inside;
+ /* SD working here
+ white-space: nowrap; */
}
ol#LC_MenuBreadcrumbs li,
@@ -6079,6 +6105,8 @@ ol#LC_PathBreadcrumbs li,
ul.LC_CourseBreadcrumbs li {
display: inline;
white-space: nowrap;
+ /* SD working here
+ white-space: normal; */
}
ol#LC_MenuBreadcrumbs li a,
@@ -10278,6 +10306,16 @@ sub group_term {
return $names{$crstype};
}
+sub course_types {
+ my @types = ('official','unofficial','community');
+ my %typename = (
+ official => 'Official course',
+ unofficial => 'Unofficial course',
+ community => 'Community',
+ );
+ return (\@types,\%typename);
+}
+
sub icon {
my ($file)=@_;
my $curfext = lc((split(/\./,$file))[-1]);