td {
background-color: #CCCCCC;
font-weight: bold;
@@ -4927,12 +4993,14 @@ table.LC_data_table tr.LC_odd_row > td,
table.LC_pick_box tr > td.LC_odd_row {
background-color: $data_table_light;
padding: 2px;
+ vertical-align: top;
}
table.LC_data_table tr.LC_even_row > td,
table.LC_pick_box tr > td.LC_even_row {
background-color: $data_table_dark;
padding: 2px;
+ vertical-align: top;
}
table.LC_data_table tr.LC_data_table_highlight td {
@@ -4953,6 +5021,9 @@ table.LC_nested tr.LC_empty_row td {
padding: 8px;
}
+table.LC_caption {
+}
+
table.LC_nested tr.LC_empty_row td {
padding: 4ex
}
@@ -5076,7 +5147,7 @@ table.LC_mail_list tr.LC_mail_other:hove
table.LC_data_table tr > td.LC_browser_file,
table.LC_data_table tr > td.LC_browser_file_published {
- background: #CCFF88;
+ background: #AAEE77;
}
table.LC_data_table tr > td.LC_browser_file_locked,
@@ -5085,16 +5156,16 @@ table.LC_data_table tr > td.LC_browser_f
}
table.LC_data_table tr > td.LC_browser_file_obsolete {
- background: #AAAAAA;
+ background: #888888;
}
table.LC_data_table tr > td.LC_browser_file_modified,
table.LC_data_table tr > td.LC_browser_file_metamodified {
- background: #FFFF77;
+ background: #F8F866;
}
table.LC_data_table tr.LC_browser_folder > td {
- background: #CCCCFF;
+ background: #E0E8FF;
}
table.LC_data_table tr > td.LC_roles_is {
@@ -5234,22 +5305,14 @@ table.LC_pick_box {
}
table.LC_pick_box td.LC_pick_box_title {
- background: $tabbg;
+ background: $sidebg;
font-weight: bold;
- text-align: right;
+ text-align: left;
vertical-align: top;
width: 184px;
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;
@@ -5282,40 +5345,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;
}
@@ -5408,19 +5437,34 @@ div.LC_feedback_link {
div.LC_feedback_link img {
height: 22px;
+ vertical-align:middle;
}
div.LC_feedback_link a{
text-decoration: none;
}
+div.LC_comblock {
+ display:inline;
+ color:$font;
+ font-size:90%;
+}
+
+div.LC_feedback_link div.LC_comblock {
+ padding-left:5px;
+}
+
+div.LC_feedback_link div.LC_comblock a {
+ color:$font;
+}
+
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;
@@ -5504,8 +5548,7 @@ table.LC_prior_match tr td {
border: 1px solid #000000;
}
-td.LC_nobreak,
-span.LC_nobreak {
+.LC_nobreak {
white-space: nowrap;
}
@@ -5529,21 +5572,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;
}
@@ -5565,17 +5611,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;
@@ -5612,10 +5647,6 @@ table.LC_double_column tr td.LC_right_co
vertical-align: top;
}
-span.LC_role_level {
- font-weight: bold;
-}
-
div.LC_left_float {
float: left;
padding-right: 5%;
@@ -5770,10 +5801,10 @@ div.LC_createcourse {
# --------------------------*/
a:hover,
-ol.LC_smallMenu a:hover,
+ol.LC_primary_menu a:hover,
ol#LC_MenuBreadcrumbs a:hover,
ol#LC_PathBreadcrumbs a:hover,
-ul#LC_TabMainMenuContent a:hover,
+ul#LC_secondary_menu a:hover,
.LC_FormSectionClearButton input:hover
ul.LC_TabContent li:hover a {
color:#BF2317;
@@ -5842,7 +5873,7 @@ fieldset > legend {
#LC_nav_bar {
float: left;
- margin: 0;
+ margin: 0.2em 0 0 0;
}
#LC_nav_bar em{
@@ -5850,43 +5881,42 @@ fieldset > legend {
font-style: normal;
}
-ol.LC_smallMenu {
+ol.LC_primary_menu {
float: right;
+ margin: 0.2em 0 0 0;
}
-ol.LC_smallMenu, ol#LC_PathBreadcrumbs {
+ol#LC_PathBreadcrumbs {
margin: 0;
}
-ol.LC_smallMenu li {
+ol.LC_primary_menu li {
display: inline;
padding: 5px 5px 0 10px;
vertical-align: top;
}
-ol.LC_smallMenu li img {
+ol.LC_primary_menu li img {
vertical-align: bottom;
}
-ol.LC_smallMenu a {
+ol.LC_primary_menu a {
font-size: 90%;
color: RGB(80, 80, 80);
text-decoration: none;
}
-ul#LC_TabMainMenuContent {
+ul#LC_secondary_menu {
clear: both;
color: $fontmenu;
background: $tabbg;
list-style: none;
padding: 0;
margin: 0;
- float:left;
width: 100%;
}
-ul#LC_TabMainMenuContent li {
- float: left;
+ul#LC_secondary_menu li {
font-weight: bold;
line-height: 1.8em;
padding: 0 0.8em;
@@ -5898,29 +5928,18 @@ ul#LC_TabMainMenuContent li {
ul.LC_TabContent {
display:block;
background: $sidebg;
- border-bottom: solid 1px $lg_border_color
+ border-bottom: solid 1px $lg_border_color;
list-style:none;
- margin: -10px -10px 0 -10px;
+ margin: 0 -10px;
padding: 0;
}
-ul.LC_TabContentBigger {
- display:block;
- list-style:none;
- padding: 0;
-}
-
-
ul.LC_TabContent li,
ul.LC_TabContentBigger li {
- display: inline;
- border-right: solid 1px $lg_border_color;
float:left;
- line-height:140%;
- white-space:nowrap;
}
-ul#LC_TabMainMenuContent li a {
+ul#LC_secondary_menu li a {
color: $fontmenu;
text-decoration: none;
}
@@ -5954,33 +5973,68 @@ ul.LC_TabContent li:hover, ul.LC_TabCont
padding-right: 16px;
}
-ul.LC_TabContentBigger li {
- vertical-align:bottom;
- border-top:solid 1px $lg_border_color;
- border-left:solid 1px $lg_border_color;
- padding:5px 10px 5px 10px;
- margin-left:2px;
- background: #d9d9d9;
-}
-
#maincoursedoc {
clear:both;
}
-ul.LC_TabContentBigger li:hover,
-ul.LC_TabContentBigger li.active {
- background: #ffffff;
+ul.LC_TabContentBigger {
+ display:block;
+ list-style:none;
+ padding: 0;
+}
+
+ul.LC_TabContentBigger li {
+ vertical-align:bottom;
+ height: 30px;
+ font-size:110%;
+ font-weight:bold;
+ color: #737373;
}
-ul.LC_TabContentBigger li,
+
ul.LC_TabContentBigger li a {
- font-size:110%;
- font-weight:bold;
+ background:url('/adm/lonIcons/tabbgleft.gif') left bottom no-repeat;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ display: block;
+ 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;
+}
+
+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;
+}
+
+
+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;
@@ -5988,13 +6042,13 @@ ul#LC_CourseBreadcrumbs {
ol#LC_MenuBreadcrumbs li,
ol#LC_PathBreadcrumbs li,
-ul#LC_CourseBreadcrumbs li {
+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%;
}
@@ -6096,13 +6150,6 @@ div.LC_columnSection>* {
overflow:hidden;
}
-.clear {
- clear: both;
- line-height: 0;
- font-size: 0;
- height: 0;
-}
-
.LC_loginpage_container {
text-align:left;
margin : 0 auto;
@@ -6157,7 +6204,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%;
@@ -6474,6 +6521,8 @@ $args - additional optional args support
inherit_jsmath -> when creating popup window in a page,
should it have jsmath forced on by the
current page
+ bread_crumbs -> Array containing breadcrumbs
+ bread_crumbs_components -> if exists show it as headline else show only the breadcrumbs
=back
@@ -6679,14 +6728,14 @@ sub simple_error_page {
my ($add_class) = @_;
$row_count[0]++;
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row';
- $css_class = (join(' ',$css_class,$add_class));
+ $css_class = (join(' ',$css_class,$add_class)) unless ($add_class eq '');
return ''."\n";;
}
sub continue_data_table_row {
my ($add_class) = @_;
my $css_class = ($row_count[0] % 2)?'LC_odd_row':'LC_even_row';
- $css_class = (join(' ',$css_class,$add_class));
+ $css_class = (join(' ',$css_class,$add_class)) unless ($add_class eq '');;
return ' '."\n";;
}
@@ -6710,6 +6759,11 @@ sub simple_error_page {
sub end_data_table_header_row {
return ' '."\n";;
}
+
+ sub data_table_caption {
+ my $caption = shift;
+ return "$caption ";
+ }
}
=pod
@@ -7482,6 +7536,7 @@ sub user_picker {
# loncreateuser::print_user_query_page()
# has been completed.
next if ($option eq 'alc');
+ next if (($option eq 'crs') && ($env{'form.form'} eq 'requestcrs'));
next if ($option eq 'crs' && !$env{'request.course.id'});
if ($curr_selected{'srchin'} eq $option) {
$srchinsel .= '
@@ -7646,24 +7701,20 @@ $newuserscript
$new_user_create
-
-
END_BLOCK
+ $output .= &Apache::lonhtmlcommon::start_pick_box().
+ &Apache::lonhtmlcommon::row_title($lt{'doma'}).
+ $domform.
+ &Apache::lonhtmlcommon::row_closure().
+ &Apache::lonhtmlcommon::row_title($lt{'usr'}).
+ $srchbysel.
+ $srchtypesel.
+ ' '.
+ $srchinsel.
+ &Apache::lonhtmlcommon::row_closure(1).
+ &Apache::lonhtmlcommon::end_pick_box().
+ ' ';
return $output;
}
@@ -8580,7 +8631,7 @@ sub csv_print_select_table {
my ($value,$display,$defaultcol)=@{ $array_ref };
$r->print(&start_data_table_row().''.$display.' ');
- $r->print('print('');
$r->print(' ');
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) {
@@ -9234,10 +9285,11 @@ sub restore_settings {
=item * &build_recipient_list()
-Build recipient lists for four types of e-mail:
+Build recipient lists for five types of e-mail:
(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors
-(d) Help requests, generated by
-lonerrorhandler.pm, CHECKRPMS, loncron, and lonsupportreq.pm respectively.
+(d) Help requests, (e) Course requests needing approval, generated by
+lonerrorhandler.pm, CHECKRPMS, loncron, lonsupportreq.pm and
+loncoursequeueadmin.pm respectively.
Inputs:
defmail (scalar - email address of default recipient),
@@ -9810,7 +9862,8 @@ sub check_clone {
$clonemsg = &mt('No new course created.').$linefeed.&mt('A new course could not be cloned from the specified original - [_1] - because it is a non-existent course.',$args->{'clonecourse'}.':'.$args->{'clonedomain'});
} else {
my %clonedesc = &Apache::lonnet::coursedescription($cloneid,{'one_time' => 1});
- if ($env{'request.role.domain'} eq $args->{'clonedomain'}) {
+ if (($env{'request.role.domain'} eq $args->{'clonedomain'}) &&
+ (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'}))) {
$can_clone = 1;
} else {
my %clonehash = &Apache::lonnet::get('environment',['cloners'],
@@ -9838,7 +9891,7 @@ sub check_clone {
}
sub construct_course {
- my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context) = @_;
+ my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context,$cnum,$category) = @_;
my $outcome;
my $linefeed = ' '."\n";
if ($context eq 'auto') {
@@ -9876,7 +9929,8 @@ sub construct_course {
$args->{'crscode'},
$args->{'ccuname'}.':'.
$args->{'ccdomain'},
- $args->{'crstype'});
+ $args->{'crstype'},
+ $cnum,$context,$category);
# Note: The testing routines depend on this being output; see
# Utils::Course. This needs to at least be output as a comment
@@ -10185,11 +10239,21 @@ sub group_term {
my $crstype = &course_type();
my %names = (
'Course' => 'group',
- 'Group' => 'team',
+ 'Community' => 'group',
);
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]);
@@ -10378,7 +10442,7 @@ sub init_user_environment {
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload');
}
- foreach my $crstype ('official','unofficial') {
+ foreach my $crstype ('official','unofficial','community') {
$userenv{'canrequest.'.$crstype} =
&Apache::lonnet::usertools_access($username,$domain,$crstype,
'reload','requestcourses');