'
."".$linktext.' '
+ .'","'.$multflag.'","'.$selecttype.'");'
+ ."'>".&mt('Select Course').''
.'';
}
@@ -778,14 +629,6 @@ sub selectauthor_link {
&mt('Select Author').'';
}
-sub selectuser_link {
- my ($form,$unameelem,$domelem,$lastelem,$firstelem,$emailelem,$hdomelem,
- $coursedom,$linktext,$caller) = @_;
- return ''.$linktext.' ';
-}
-
sub check_uncheck_jscript {
my $jscript = <<"ENDSCRT";
function checkAll(field) {
@@ -986,7 +829,6 @@ sub linked_select_forms {
# output the javascript to do the changing
my $result = '';
$result.='
END
# output the initial values for the selection lists
@@ -1094,9 +935,6 @@ sub help_open_topic {
my ($topic, $text, $stayOnPage, $width, $height) = @_;
$text = "" if (not defined $text);
$stayOnPage = 0 if (not defined $stayOnPage);
- if ($env{'browser.interface'} eq 'textual') {
- $stayOnPage=1;
- }
$width = 350 if (not defined $width);
$height = 400 if (not defined $height);
my $filename = $topic;
@@ -1114,20 +952,22 @@ sub help_open_topic {
}
# Add the text
- if ($text ne "") {
- $template .=
- "".
- "$text ";
+ if ($text ne "") {
+ $template.=''
+ .''
+ .$text.' ';
}
- # Add the graphic
+ # (Always) Add the graphic
my $title = &mt('Online Help');
my $helpicon=&lonhttpdurl("/adm/help/help.png");
- $template .= ''.
- ' ';
- if ($text ne '') {
- $template.='
';
+ $template.=' '
+ .' ';
+ if ($text ne "") {
+ $template.='';
}
return $template;
@@ -1140,25 +980,26 @@ sub helpLatexCheatsheet {
my $out;
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).
- ' ';
+ $addOther = ''.&Apache::loncommon::help_open_topic($topic,&mt($text),
+ undef, undef, 600).
+ ' ';
+ }
+ $out = '' # Start cheatsheet
+ .$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 .= ' '
+ .&Apache::loncommon::help_open_topic('Authoring_Output_Tags',&mt('Output Tags'),
+ undef,undef,600)
+ .' ';
}
- $out .= '
';
+ $out .= ''; # End cheatsheet
return $out;
}
@@ -1166,7 +1007,7 @@ sub general_help {
my $helptopic='Student_Intro';
if ($env{'request.role'}=~/^(ca|au)/) {
$helptopic='Authoring_Intro';
- } elsif ($env{'request.role'}=~/^(cc|co)/) {
+ } elsif ($env{'request.role'}=~/^cc/) {
$helptopic='Course_Coordination_Intro';
} elsif ($env{'request.role'}=~/^dc/) {
$helptopic='Domain_Coordination_Intro';
@@ -1186,9 +1027,7 @@ sub update_help_link {
my $banner_link = "/adm/helpmenu?page=banner&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp&stayonpage=$stayOnPage";
my $output .= <<"ENDOUTPUT";
ENDOUTPUT
return $output;
@@ -1201,8 +1040,7 @@ sub help_open_menu {
$stayOnPage = 0 if (not defined $stayOnPage);
# only use pop-up help (stayOnPage == 0)
# if environment.remote is on (using remote control UI)
- if ($env{'browser.interface'} eq 'textual' ||
- $env{'environment.remote'} eq 'off' ) {
+ if ($env{'environment.remote'} eq 'off' ) {
$stayOnPage=1;
}
my $output;
@@ -1226,8 +1064,7 @@ sub top_nav_help {
my ($text) = @_;
$text = &mt($text);
my $stay_on_page =
- ($env{'browser.interface'} eq 'textual' ||
- $env{'environment.remote'} eq 'off' );
+ ($env{'environment.remote'} eq 'off' );
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,8 +1081,7 @@ sub help_menu_js {
my ($text) = @_;
my $stayOnPage =
- ($env{'browser.interface'} eq 'textual' ||
- $env{'environment.remote'} eq 'off' );
+ ($env{'environment.remote'} eq 'off' );
my $width = 620;
my $height = 600;
@@ -1265,8 +1101,8 @@ sub help_menu_js {
my $template .= <<"ENDTEMPLATE";
ENDTEMPLATE
return $template;
@@ -1304,8 +1140,7 @@ sub help_open_bug {
unless ($Apache::lonnet::perlvar{'BugzillaHost'}) { return ''; }
$text = "" if (not defined $text);
$stayOnPage = 0 if (not defined $stayOnPage);
- if ($env{'browser.interface'} eq 'textual' ||
- $env{'environment.remote'} eq 'off' ) {
+ if ($env{'environment.remote'} eq 'off' ) {
$stayOnPage=1;
}
$width = 600 if (not defined $width);
@@ -1329,7 +1164,7 @@ sub help_open_bug {
{
$template .=
"".
- "$text ";
+ "$text ";
}
# Add the graphic
@@ -1349,8 +1184,7 @@ sub help_open_faq {
unless ($Apache::lonnet::perlvar{'FAQHost'}) { return ''; }
$text = "" if (not defined $text);
$stayOnPage = 0 if (not defined $stayOnPage);
- if ($env{'browser.interface'} eq 'textual' ||
- $env{'environment.remote'} eq 'off' ) {
+ if ($env{'environment.remote'} eq 'off' ) {
$stayOnPage=1;
}
$width = 350 if (not defined $width);
@@ -1374,7 +1208,7 @@ sub help_open_faq {
{
$template .=
"".
- "$text ";
+ "$text ";
}
# Add the graphic
@@ -1560,7 +1394,6 @@ sub resize_textarea_js {
my $geometry = &viewport_geometry_js();
return <<"RESIZE";
RESIZE
@@ -1943,7 +1775,7 @@ sub select_level_form {
=pod
-=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$onchange)
+=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$autosubmit)
Returns a string containing a form to
allow a user to select the domain to preform an operation in.
@@ -1954,15 +1786,16 @@ selected");
If the $showdomdesc flag is set, the domain name is followed by the domain description.
-The optional $onchange argument specifies what should occur if the domain selector is changed, e.g., 'this.form.submit()' if the form is to be automatically submitted.
+If the $autosubmit flag is set, the form containing the domain selector will be auto-submitted by an onchange action.
=cut
#-------------------------------------------
sub select_dom_form {
- my ($defdom,$name,$includeempty,$showdomdesc,$onchange) = @_;
- if ($onchange) {
- $onchange = ' onchange="'.$onchange.'"';
+ my ($defdom,$name,$includeempty,$showdomdesc,$autosubmit) = @_;
+ my $onchange;
+ if ($autosubmit) {
+ $onchange = ' onchange="this.form.submit()"';
}
my @domains = sort {lc($a) cmp lc($b)} (&Apache::lonnet::all_domains());
if ($includeempty) { @domains=('',@domains); }
@@ -2022,7 +1855,7 @@ sub home_server_form_item {
if ($numlib > 1) {
$result .= ' '."\n";
if ($default) {
- $result .= ''.&mt('default').
+ $result .= ' '.&mt('default').
' '."\n";
}
foreach my $hostid (sort(keys(%servers))) {
@@ -2466,7 +2299,7 @@ sub authform_internal{
$result = &mt
('[_1] Internally authenticated (with initial password [_2])',
''.$authtype,' '.$autharg);
- $result.=" ".&mt('Visible input').' ';
+ $result.=" ".&mt('Visible input').' ';
return $result;
}
@@ -2980,25 +2813,6 @@ sub screenname {
return $names{'screenname'};
}
-# ------------------------------------------------------------- Confirm Wrapper
-=pod
-
-=item confirmwrapper
-
-Wrap messages about completion of operation in box
-
-=cut
-
-sub confirmwrapper {
- my ($message)=@_;
- if ($message) {
- return "\n".''."\n"
- .$message."\n"
- .'
'."\n";
- } else {
- return $message;
- }
-}
# ------------------------------------------------------------- Message Wrapper
@@ -3032,15 +2846,12 @@ sub aboutmewrapper {
sub syllabuswrapper {
- my ($linktext,$coursedir,$domain,$fontcolor)=@_;
- if ($fontcolor) {
- $linktext=''.$linktext.' ';
- }
+ my ($linktext,$coursedir,$domain)=@_;
return qq{$linktext };
}
sub track_student_link {
- my ($linktext,$sname,$sdom,$target,$start,$only_body) = @_;
+ my ($linktext,$sname,$sdom,$target,$start) = @_;
my $link ="/adm/trackstudent?";
my $title = 'View recent activity';
if (defined($sname) && $sname !~ /^\s*$/ &&
@@ -3054,7 +2865,6 @@ sub track_student_link {
$target = '';
}
if ($start) { $link.='&start='.$start; }
- if ($only_body) { $link .= '&only_body=1'; }
$title = &mt($title);
$linktext = &mt($linktext);
return qq{$linktext }.
@@ -3341,6 +3151,7 @@ sub user_lang {
return $user_lh;
}
+
###############################################################
## Student Answer Attempts ##
###############################################################
@@ -3730,7 +3541,6 @@ sub findallcourses {
if (!%roles) {
%roles = (
cc => 1,
- co => 1,
in => 1,
ep => 1,
ta => 1,
@@ -4057,7 +3867,7 @@ sub blocking_status {
&Apache::lonnet::coursedescription($course);
$coursedesc = $courseinfo{'description'};
}
- $category = "Group portfolio files in the course '$coursedesc'";
+ $category = "Group portfolio in the course '$coursedesc'";
} else {
$category = 'Portfolio files belonging to ';
if ($env{'user.name'} eq 'public' &&
@@ -4160,7 +3970,7 @@ sub determinedomain {
my $domain=shift;
if (! $domain) {
# Determine domain if we have not been given one
- $domain = &Apache::lonnet::default_login_domain();
+ $domain = $Apache::lonnet::perlvar{'lonDefDomain'};
if ($env{'user.domain'}) { $domain=$env{'user.domain'}; }
if ($env{'request.role.domain'}) {
$domain=$env{'request.role.domain'};
@@ -4191,7 +4001,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 {
@@ -4418,7 +4228,7 @@ sub bodytag {
my $font = &designparm($function.'.font',$domain);
my $pgbg = $bgcolor || &designparm($function.'.pgbg',$domain);
- my %design = ( 'style' => 'margin-top: 0',
+ my %design = ( 'style' => 'margin-top: 0px',
'bgcolor' => $pgbg,
'text' => $font,
'alink' => &designparm($function.'.alink',$domain),
@@ -4454,15 +4264,7 @@ sub bodytag {
if ($bodyonly) {
return $bodytag;
- } elsif ($env{'browser.interface'} eq 'textual') {
-# Accessibility
-
- $bodytag.=&Apache::lonmenu::menubuttons($forcereg,$forcereg);
- if (!$notitle) {
- $bodytag.='LON-CAPA: '.$title.' ';
- }
- return $bodytag;
- }
+ }
my $name = &plainname($env{'user.name'},$env{'user.domain'});
if ($env{'user.name'} eq 'public' && $env{'user.domain'} eq 'public') {
@@ -4486,7 +4288,7 @@ $realm
ENDROLE
- my $titleinfo = ''.$title.' ';
+ my $titleinfo = ''.$title.' ';
if ($customtitle) {
$titleinfo = $customtitle;
}
@@ -4529,7 +4331,7 @@ ENDROLE
.''.&mt('Construction Space').' : '
.''
.&Apache::lonmenu::constspaceform();
@@ -4576,8 +4378,8 @@ ENDROLE
return(<
-$upperleft
- $messages
+$upperleft
+ $messages
$titleinfo $dc_info $menu
$roleinfo
@@ -4694,6 +4496,8 @@ sub standard_css {
my $img = &designparm($function.'.img', $domain);
my $tabbg = &designparm($function.'.tabbg', $domain);
my $font = &designparm($function.'.font', $domain);
+ my $fontmenu = &designparm($function.'.fontmenu', $domain);
+#second colour for later usage
my $sidebg = &designparm($function.'.sidebg',$domain);
my $pgbg_or_bgcolor =
$bgcolor ||
@@ -4703,11 +4507,15 @@ sub standard_css {
my $vlink = &designparm($function.'.vlink', $domain);
my $link = &designparm($function.'.link', $domain);
+ my $loginbg = &designparm('login.sidebg',$domain);
+ my $bgcol = &designparm('login.bgcol',$domain);
+ my $textcol = &designparm('login.textcol',$domain);
+
my $sans = 'Verdana,Arial,Helvetica,sans-serif';
my $mono = 'monospace';
my $data_table_head = $tabbg;
- my $data_table_light = '#FAFAFA';
- my $data_table_dark = '#F0F0F0';
+ my $data_table_light = '#EEEEEE';
+ my $data_table_dark = '#DDDDDD';
my $data_table_darker = '#CCCCCC';
my $data_table_highlight = '#FFFF00';
my $mail_new = '#FFBB77';
@@ -4720,44 +4528,78 @@ sub standard_css {
my $mail_other_hover = '#669999';
my $table_header = '#DDDDDD';
my $feedback_link_bg = '#BBBBBB';
- my $lg_border_color = '#C8C8C8';
+ my $lg_border_color = '#C8C8C8';
my $border = ($env{'browser.type'} eq 'explorer' ||
- $env{'browser.type'} eq 'safari' ) ? '0 2px 0 2px'
- : '0 3px 0 4px';
+ $env{'browser.type'} eq 'safari' ) ? '0px 2px 0px 2px'
+ : '0px 3px 0px 4px';
return < td {
background-color: #CCCCCC;
font-weight: bold;
text-align: left;
}
-table.LC_data_table tr.LC_odd_row > td,
+
+table.LC_data_table tr.LC_odd_row > td,
table.LC_pick_box tr > td.LC_odd_row,
table.LC_aboutme_port tr td {
background-color: $data_table_light;
padding: 2px;
}
+
table.LC_data_table tr.LC_even_row > td,
table.LC_pick_box tr > td.LC_even_row,
table.LC_aboutme_port tr.LC_even_row td {
background-color: $data_table_dark;
padding: 2px;
}
+
table.LC_data_table tr.LC_data_table_highlight td {
background-color: $data_table_darker;
}
+
table.LC_data_table tr td.LC_leftcol_header {
background-color: $data_table_head;
font-weight: bold;
}
+
table.LC_data_table tr.LC_empty_row td,
table.LC_nested tr.LC_empty_row td {
background-color: #FFFFFF;
@@ -5074,15 +4946,19 @@ table.LC_nested tr.LC_empty_row td {
text-align: center;
padding: 8px;
}
+
table.LC_nested tr.LC_empty_row td {
padding: 4ex
}
+
table.LC_nested_outer tr th {
font-weight: bold;
+ color:$fontmenu;
background-color: $data_table_head;
- font-size: smaller;
+ font-size: small;
border-bottom: 1px solid #000000;
}
+
table.LC_nested_outer tr td.LC_subheader {
background-color: $data_table_head;
font-weight: bold;
@@ -5090,20 +4966,24 @@ table.LC_nested_outer tr td.LC_subheader
border-bottom: 1px solid #000000;
text-align: right;
}
+
table.LC_nested tr.LC_info_row td {
background-color: #CCCCCC;
font-weight: bold;
font-size: small;
text-align: center;
}
+
table.LC_nested tr.LC_info_row td.LC_left_item,
table.LC_nested_outer tr th.LC_left_item {
text-align: left;
}
+
table.LC_nested td {
background-color: #FFFFFF;
font-size: small;
}
+
table.LC_nested_outer tr th.LC_right_item,
table.LC_nested tr.LC_info_row td.LC_right_item,
table.LC_nested tr.LC_odd_row td.LC_right_item,
@@ -5119,7 +4999,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 {
@@ -5132,16 +5012,20 @@ table.LC_calendar {
border: 1px solid #000000;
border-collapse: collapse;
}
+
table.LC_calendar_pickdate {
font-size: xx-small;
}
+
table.LC_calendar tr td {
border: 1px solid #000000;
vertical-align: top;
}
+
table.LC_calendar tr td.LC_calendar_day_empty {
background-color: $data_table_dark;
}
+
table.LC_calendar tr td.LC_calendar_day_current {
background-color: $data_table_highlight;
}
@@ -5149,117 +5033,90 @@ table.LC_calendar tr td.LC_calendar_day_
table.LC_mail_list tr.LC_mail_new {
background-color: $mail_new;
}
+
table.LC_mail_list tr.LC_mail_new:hover {
background-color: $mail_new_hover;
}
+
+table.LC_mail_list tr.LC_mail_even {
+}
+
+table.LC_mail_list tr.LC_mail_odd {
+}
+
table.LC_mail_list tr.LC_mail_read {
background-color: $mail_read;
}
+
table.LC_mail_list tr.LC_mail_read:hover {
background-color: $mail_read_hover;
}
+
table.LC_mail_list tr.LC_mail_replied {
background-color: $mail_replied;
}
+
table.LC_mail_list tr.LC_mail_replied:hover {
background-color: $mail_replied_hover;
}
+
table.LC_mail_list tr.LC_mail_other {
background-color: $mail_other;
}
+
table.LC_mail_list tr.LC_mail_other:hover {
background-color: $mail_other_hover;
}
-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: none;
- border-spacing: 2px 2px;
- padding: 0;
- margin: 0;
- 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;
-}
-table#LC_cstr_controls tr td {
- border: 4px solid $pgbg;
- padding: 4px;
- text-align: center;
- background: $tabbg;
-}
-table#LC_cstr_controls tr th {
- border: 4px solid $pgbg;
- background: $table_header;
- text-align: center;
- font-family: $sans;
- 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;
}
table.LC_data_table tr > td.LC_roles_is {
/* background: #77FF77; */
}
+
table.LC_data_table tr > td.LC_roles_future {
background: #FFFF77;
}
+
table.LC_data_table tr > td.LC_roles_will {
background: #FFAA77;
}
+
table.LC_data_table tr > td.LC_roles_expired {
background: #FF7777;
}
+
table.LC_data_table tr > td.LC_roles_will_not {
background: #AAFF77;
}
+
table.LC_data_table tr > td.LC_roles_selected {
background: #11CC55;
}
span.LC_current_location {
- font-size: x-large;
+ font-size:larger;
background: $pgbg;
}
@@ -5267,58 +5124,70 @@ span.LC_parm_menu_item {
font-size: larger;
font-family: $sans;
}
+
span.LC_parm_scope_all {
color: red;
}
+
span.LC_parm_scope_folder {
color: green;
}
+
span.LC_parm_scope_resource {
color: orange;
}
+
span.LC_parm_part {
color: blue;
}
+
span.LC_parm_folder, span.LC_parm_symb {
font-size: x-small;
font-family: $mono;
color: #AAAAAA;
}
-td.LC_parm_overview_level_menu, td.LC_parm_overview_map_menu,
-td.LC_parm_overview_parm_selectors, td.LC_parm_overview_parm_restrictions {
+td.LC_parm_overview_level_menu,
+td.LC_parm_overview_map_menu,
+td.LC_parm_overview_parm_selectors,
+td.LC_parm_overview_restrictions {
border: 1px solid black;
border-collapse: collapse;
}
+
table.LC_parm_overview_restrictions td {
border-width: 1px 4px 1px 4px;
border-style: solid;
border-color: $pgbg;
text-align: center;
}
+
table.LC_parm_overview_restrictions th {
background: $tabbg;
border-width: 1px 4px 1px 4px;
border-style: solid;
border-color: $pgbg;
}
+
table#LC_helpmenu {
- border: none;
+ border: 0px;
height: 55px;
- border-spacing: 0;
+ border-spacing: 0px;
}
table#LC_helpmenu fieldset legend {
font-size: larger;
font-weight: bold;
}
+
table#LC_helpmenu_links {
width: 100%;
border: 1px solid black;
background: $pgbg;
- padding: 0;
+ padding: 0px;
border-spacing: 1px;
}
+
table#LC_helpmenu_links tr td {
padding: 1px;
background: $tabbg;
@@ -5326,11 +5195,13 @@ table#LC_helpmenu_links tr td {
font-weight: bold;
}
-table#LC_helpmenu_links a:link, table#LC_helpmenu_links a:visited,
+table#LC_helpmenu_links a:link,
+table#LC_helpmenu_links a:visited,
table#LC_helpmenu_links a:active {
text-decoration: none;
color: $font;
}
+
table#LC_helpmenu_links a:hover {
text-decoration: underline;
color: $vlink;
@@ -5340,20 +5211,24 @@ table#LC_helpmenu_links a:hover {
border: 1px solid #339933;
margin: -1px;
}
+
.LC_chrt_popup_up {
border: 1px solid yellow;
margin: -1px;
}
+
.LC_chrt_popup {
border: 1px solid #8888FF;
background: #CCCCFF;
}
+
table.LC_pick_box {
border-collapse: separate;
background: white;
border: 1px solid black;
border-spacing: 1px;
}
+
table.LC_pick_box td.LC_pick_box_title {
background: $tabbg;
font-weight: bold;
@@ -5362,6 +5237,7 @@ table.LC_pick_box td.LC_pick_box_title {
width: 184px;
padding: 8px;
}
+
table.LC_pick_box td.LC_selfenroll_pick_box_title {
background: $tabbg;
font-weight: bold;
@@ -5374,28 +5250,34 @@ table.LC_pick_box td.LC_pick_box_value {
text-align: left;
padding: 8px;
}
+
table.LC_pick_box td.LC_pick_box_select {
text-align: left;
padding: 8px;
}
+
table.LC_pick_box td.LC_pick_box_separator {
- padding: 0;
+ padding: 0px;
height: 1px;
background: black;
}
+
table.LC_pick_box td.LC_pick_box_submit {
text-align: right;
}
+
table.LC_pick_box td.LC_evenrow_value {
text-align: left;
padding: 8px;
background-color: $data_table_light;
}
+
table.LC_pick_box td.LC_oddrow_value {
text-align: left;
padding: 8px;
background-color: $data_table_light;
}
+
table.LC_helpform_receipt {
width: 620px;
border-collapse: separate;
@@ -5403,6 +5285,7 @@ table.LC_helpform_receipt {
border: 1px solid black;
border-spacing: 1px;
}
+
table.LC_helpform_receipt td.LC_pick_box_title {
background: $tabbg;
font-weight: bold;
@@ -5410,51 +5293,61 @@ table.LC_helpform_receipt td.LC_pick_box
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;
+ padding: 0px;
height: 1px;
background: black;
}
+
span.LC_helpform_receipt_cat {
font-weight: bold;
}
+
table.LC_group_priv_box {
background: white;
border: 1px solid black;
border-spacing: 1px;
}
+
table.LC_group_priv_box td.LC_pick_box_title {
background: $tabbg;
font-weight: bold;
text-align: right;
width: 184px;
}
+
table.LC_group_priv_box td.LC_groups_fixed {
background: $data_table_light;
text-align: center;
}
+
table.LC_group_priv_box td.LC_groups_optional {
background: $data_table_dark;
text-align: center;
}
+
table.LC_group_priv_box td.LC_groups_functionality {
background: $data_table_darker;
text-align: center;
font-weight: bold;
}
+
table.LC_group_priv td {
text-align: left;
- padding: 0;
+ padding: 0px;
}
table.LC_notify_front_page {
@@ -5462,12 +5355,15 @@ table.LC_notify_front_page {
border: 1px solid black;
padding: 8px;
}
+
table.LC_notify_front_page td {
padding: 8px;
}
+
.LC_navbuttons {
margin: 2ex 0ex 2ex 0ex;
}
+
.LC_topic_bar {
font-family: $sans;
font-weight: bold;
@@ -5475,36 +5371,43 @@ table.LC_notify_front_page td {
background: $tabbg;
vertical-align: middle;
margin: 2ex 0ex 2ex 0ex;
- padding: 3px;
}
+
.LC_topic_bar span {
vertical-align: middle;
}
+
.LC_topic_bar img {
vertical-align: bottom;
}
+
table.LC_course_group_status {
margin: 20px;
}
+
table.LC_status_selector td {
vertical-align: top;
text-align: center;
padding: 4px;
}
+
table.LC_descriptive_input td.LC_description {
vertical-align: top;
text-align: right;
font-weight: bold;
}
+
div.LC_feedback_link {
clear: both;
background: white;
- width: 100%;
+ width: 100%;
}
+
span.LC_feedback_link {
background: $feedback_link_bg;
font-size: larger;
}
+
span.LC_message_link {
background: $feedback_link_bg;
font-size: larger;
@@ -5523,33 +5426,49 @@ table.LC_prior_tries td {
}
.LC_answer_correct {
- background: #AAFFAA;
- color: black;
+ background: lightgreen;
+ font-family: $sans;
+ color: darkgreen;
+ padding: 6px;
}
+
.LC_answer_charged_try {
- background: #FFAAAA ! important;
- color: black;
+ background: #FFAAAA;
+ font-family: $sans;
+ color: darkred;
+ padding: 6px;
}
-.LC_answer_not_charged_try,
+
+.LC_answer_not_charged_try,
.LC_answer_no_grade,
.LC_answer_late {
- background: #FFFFAA;
+ background: lightyellow;
+ font-family: $sans;
color: black;
+ padding: 6px;
}
+
.LC_answer_previous {
- background: #AAAAFF;
- color: black;
+ 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;
}
-
span.LC_prior_numerical,
span.LC_prior_string,
span.LC_prior_custom,
@@ -5568,15 +5487,19 @@ table.LC_prior_option {
width: 100%;
border-collapse: collapse;
}
-table.LC_prior_rank, table.LC_prior_match {
+
+table.LC_prior_rank,
+table.LC_prior_match {
border-collapse: collapse;
}
+
table.LC_prior_option tr td,
table.LC_prior_rank tr td,
table.LC_prior_match tr td {
border: 1px solid #000000;
}
+td.LC_nobreak,
span.LC_nobreak {
white-space: nowrap;
}
@@ -5592,7 +5515,7 @@ span.LC_cusr_subheading {
table.LC_docs_documents {
background: #BBBBBB;
- border-width: 0;
+ border-width: 0px;
border-collapse: collapse;
}
@@ -5601,15 +5524,8 @@ table.LC_docs_documents td.LC_docs_docum
padding: 4px;
}
-.LC_docs_course_commands div {
- float: left;
- border: 4px solid #AAAAAA;
- padding: 4px;
- background: #DDDDCC;
-}
-
.LC_docs_entry_move {
- border: none;
+ border: 0px;
border-collapse: collapse;
}
@@ -5622,15 +5538,19 @@ table.LC_docs_documents td.LC_docs_docum
background: #DDDDDD;
font-size: x-small;
}
+
.LC_docs_copy {
color: #000099;
}
+
.LC_docs_cut {
color: #550044;
}
+
.LC_docs_rename {
color: #009900;
}
+
.LC_docs_remove {
color: #990000;
}
@@ -5644,6 +5564,7 @@ table.LC_docs_documents td.LC_docs_docum
.LC_docs_editor td.LC_docs_entry_icon {
background: #FFFFBB;
}
+
.LC_docs_editor td.LC_docs_entry_parameter {
background: #BBBBFF;
font-size: x-small;
@@ -5660,12 +5581,13 @@ table.LC_docs_adddocs th {
table.LC_sty_begin {
background: #BBFFBB;
}
+
table.LC_sty_end {
background: #FFBBBB;
}
table.LC_double_column {
- border-width: 0;
+ border-width: 0px;
border-collapse: collapse;
width: 100%;
padding: 2px;
@@ -5680,7 +5602,7 @@ table.LC_double_column tr td.LC_left_col
table.LC_double_column tr td.LC_right_col {
top: 2px;
- right: 2px;
+ right: 2px;
width: 47%;
vertical-align: top;
}
@@ -5704,33 +5626,18 @@ div.LC_clear_float_footer {
clear: both;
}
-
-div.LC_grade_select_mode {
- font-family: $sans;
-}
-div.LC_grade_select_mode div div {
- margin: 5px;
-}
-div.LC_grade_select_mode_selector {
- margin: 5px;
- float: left;
-}
-div.LC_grade_select_mode_selector_header {
- font: bold medium $sans;
-}
-div.LC_grade_select_mode_type {
- clear: left;
-}
-
div.LC_grade_show_user {
margin-top: 20px;
border: 1px solid black;
}
+
div.LC_grade_user_name {
background: #DDDDEE;
border-bottom: 1px solid black;
- font: bold large $sans;
+ font-weight: bold;
+ font-size: large;
}
+
div.LC_grade_show_user_odd_row div.LC_grade_user_name {
background: #DDEEDD;
}
@@ -5744,12 +5651,15 @@ div.LC_grade_assign {
width: 99%;
background: #FFFFFF;
}
+
div.LC_grade_show_problem_header,
div.LC_grade_submissions_header,
div.LC_grade_message_center_header,
div.LC_grade_assign_header {
- font: bold large $sans;
+ font-weight: bold;
+ font-size: large;
}
+
div.LC_grade_show_problem_problem,
div.LC_grade_submissions_body,
div.LC_grade_message_center_body,
@@ -5758,8 +5668,10 @@ div.LC_grade_assign_body {
width: 99%;
background: #FFFFFF;
}
+
span.LC_grade_check_note {
- font: normal medium $sans;
+ font-weight: normal;
+ font-size: medium;
display: inline;
position: absolute;
right: 1em;
@@ -5768,15 +5680,19 @@ span.LC_grade_check_note {
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;
+ font-weight: normal;
+ font-size: medium;
margin: 2px;
}
+
div.LC_edit_problem_header,
div.LC_edit_problem_header div,
div.LC_edit_problem_footer,
@@ -5785,43 +5701,50 @@ div.LC_edit_problem_editxml_header,
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: larger bold $sans;
+ font-weight: bold;
+ font-size: larger;
background: $tabbg;
padding: 3px;
}
+
table.LC_edit_problem_header_title {
- font: larger bold $sans;
+ font-size: larger;
+ font-weight: bold;
width: 100%;
border-color: $pgbg;
border-style: solid;
border-width: $border;
-
background: $tabbg;
border-collapse: collapse;
- padding: 0;
+ padding: 0px
}
div.LC_edit_problem_discards {
float: left;
padding-bottom: 5px;
}
+
div.LC_edit_problem_saves {
float: right;
padding-bottom: 5px;
}
+
hr.LC_edit_problem_divide {
clear: both;
color: $tabbg;
background-color: $tabbg;
height: 3px;
- border: none;
+ border: 0px;
}
+
img.stift{
border-width:0;
vertical-align:middle;
@@ -5830,13 +5753,13 @@ img.stift{
table#LC_mainmenu{
margin-top:10px;
width:80%;
-
}
table#LC_mainmenu td.LC_mainmenu_col_fieldset{
vertical-align: top;
width: 45%;
}
+
.LC_mainmenu_fieldset_category {
color: $font;
background: $pgbg;
@@ -5844,15 +5767,494 @@ table#LC_mainmenu td.LC_mainmenu_col_fie
font-size: small;
font-weight: bold;
}
-fieldset#LC_mainmenu_fieldset {
- margin:0 10px 10px 0;
-
-}
div.LC_createcourse {
margin: 10px 10px 10px 10px;
}
+/* ---- 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.LC_smallMenu a:hover,
+ol#LC_MenuBreadcrumbs a:hover,
+ol#LC_PathBreadcrumbs a:hover,
+ul#LC_TabMainMenuContent a:hover,
+.LC_FormSectionClearButton input:hover
+ul.LC_TabContent li:hover a {
+ color:#BF2317;
+ text-decoration:none;
+}
+
+h1 {
+ padding:5px 10px 5px 20px;
+ line-height:130%;
+}
+
+h2,h3,h4,h5,h6 {
+ margin:5px 0px 5px 0px;
+ padding:0px;
+ line-height:130%;
+}
+
+.LC_hcell {
+ padding:3px 15px 3px 15px;
+ margin:0px;
+ background-color:$tabbg;
+ color:$fontmenu;
+ border-bottom:solid 1px $lg_border_color;
+}
+
+.LC_noBorder {
+ border:0px;
+}
+
+
+/* Main Header with discription of Person, Course, etc. */
+
+.LC_Right {
+ float: right;
+ margin: 0px;
+ padding: 0px;
+}
+
+.LC_FormSectionClearButton input {
+ background-color:transparent;
+ border:0px;
+ cursor:pointer;
+ text-decoration:underline;
+}
+
+.LC_help_open_topic {
+ color: #FFFFFF;
+ background-color: #EEEEFF;
+ margin: 1px;
+ padding: 4px;
+ border: 1px solid #000033;
+ white-space: nowrap;
+/* vertical-align: middle; */
+}
+
+dl,ul,div,fieldset {
+ margin: 10px 10px 10px 0px;
+ overflow:hidden;
+}
+
+ol.LC_smallMenu, ol#LC_PathBreadcrumbs {
+ margin: 0px;
+}
+
+ol.LC_smallMenu li {
+ display: inline;
+ padding: 5px 5px 0px 10px;
+ vertical-align: top;
+}
+
+ol.LC_smallMenu li img {
+ vertical-align: bottom;
+}
+
+ol.LC_smallMenu a {
+ font-size: 90%;
+ color: RGB(80, 80, 80);
+ text-decoration: none;
+}
+
+ol#LC_TabMainMenuContent,
+ul.LC_TabContent ,
+ul.LC_TabContentBigger {
+ display:block;
+ list-style:none;
+ margin: 0px;
+ padding: 0px;
+}
+
+ol#LC_TabMainMenuContent li,
+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;
+}
+
+ol#LC_TabMainMenuContent li {
+ vertical-align: bottom;
+ border-bottom: solid 1px RGB(175, 175, 175);
+ padding: 5px 10px 5px 10px;
+ margin-right:5px;
+ margin-bottom:3px;
+ font-weight: bold;
+ background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
+}
+
+ol#LC_TabMainMenuContent li a {
+ color: RGB(47, 47, 47);
+ text-decoration: none;
+}
+
+ul.LC_TabContent {
+ min-height:1.6em;
+}
+
+ul.LC_TabContent li {
+ vertical-align:middle;
+ padding:0px 10px 0px 10px;
+ background-color:$tabbg;
+ border-bottom:solid 1px $lg_border_color;
+}
+
+ul.LC_TabContent li a, ul.LC_TabContent li {
+ color:rgb(47,47,47);
+ text-decoration:none;
+ font-size:95%;
+ font-weight:bold;
+ padding-right: 16px;
+}
+
+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;
+ 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:url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
+}
+
+ul.LC_TabContentBigger li:hover,
+ul.LC_TabContentBigger li.active {
+ background:url(/adm/lonIcons/lightGreyBG.png) repeat-x right bottom;
+}
+
+ul.LC_TabContentBigger li,
+ul.LC_TabContentBigger li a {
+ font-size:110%;
+ font-weight:bold;
+}
+
+ol#LC_MenuBreadcrumbs,
+ol#LC_PathBreadcrumbs,
+ul.LC_CourseBreadcrumbs {
+ 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: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top;
+}
+
+ol#LC_MenuBreadcrumbs li,
+ol#LC_PathBreadcrumbs li,
+ul.LC_CourseBreadcrumbs li {
+/*
+ background: url(/adm/lonIcons/arrow_white.png) no-repeat left center;
+*/
+ display: inline;
+ padding: 0px 0px 0px 10px;
+/* vertical-align: bottom; */
+ overflow:hidden;
+}
+
+ol#LC_MenuBreadcrumbs li a, ul.LC_CourseBreadcrumbs li a {
+ text-decoration: none;
+ font-size:90%;
+}
+
+ol#LC_PathBreadcrumbs li a {
+ text-decoration:none;
+ font-size:100%;
+ 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_AboutMe_Image {
+ float:left;
+ margin-right:10px;
+}
+
+.LC_Clear_AboutMe_Image {
+ clear:left;
+}
+
+dl.LC_ListStyleClean dt {
+ padding-right: 5px;
+ display: table-header-group;
+}
+
+dl.LC_ListStyleClean dd {
+ display: table-row;
+}
+
+.LC_ListStyleClean,
+.LC_ListStyleSimple,
+.LC_ListStyleNormal,
+.LC_ListStyle_Border,
+.LC_ListStyleSpecial {
+ /*display:block; */
+ list-style-position: inside;
+ list-style-type: none;
+ overflow: hidden;
+ padding: 0px;
+}
+
+.LC_ListStyleSimple li,
+.LC_ListStyleSimple dd,
+.LC_ListStyleNormal li,
+.LC_ListStyleNormal dd,
+.LC_ListStyleSpecial li,
+.LC_ListStyleSpecial dd {
+ margin: 0px;
+ padding: 5px 5px 5px 10px;
+ clear: both;
+}
+
+.LC_ListStyleClean li,
+.LC_ListStyleClean dd {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+.LC_ListStyleSimple dd,
+.LC_ListStyleSimple li {
+ border-bottom: solid 1px $lg_border_color;
+}
+
+.LC_ListStyleSpecial li,
+.LC_ListStyleSpecial dd {
+ list-style-type: none;
+ background-color: RGB(220, 220, 220);
+ margin-bottom: 4px;
+}
+
+table.LC_SimpleTable {
+ margin:5px;
+ border:solid 1px $lg_border_color;
+}
+
+table.LC_SimpleTable tr {
+ padding:0px;
+ border:solid 1px $lg_border_color;
+}
+
+table.LC_SimpleTable thead {
+ background:rgb(220,220,220);
+}
+
+div.LC_columnSection {
+ display: block;
+ clear: both;
+ overflow: hidden;
+ margin:0px;
+}
+
+div.LC_columnSection>* {
+ float: left;
+ margin: 10px 20px 10px 0px;
+ 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: 0px;
+ font-size: 0px;
+ height: 0px;
+}
+
+.LC_loginpage_container {
+ text-align:left;
+ margin : 0 auto;
+ width:90%;
+ padding: 10px;
+ height: auto;
+ background-color:#FFFFFF;
+ border:1px solid #CCCCCC;
+}
+
+
+.LC_loginpage_loginContainer {
+ float:left;
+ width: 182px;
+ padding: 2px;
+ border:1px solid #CCCCCC;
+ background-color:$loginbg;
+}
+
+.LC_loginpage_loginContainer h2 {
+ margin-top:0;
+ display:block;
+ background:$bgcol;
+ color:$textcol;
+ padding-left:5px;
+}
+
+.LC_loginpage_loginInfo {
+ float:left;
+ width:182px;
+ border:1px solid #CCCCCC;
+ padding:2px;
+}
+
+.LC_loginpage_space {
+ clear: both;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #CCCCCC;
+}
+
+.LC_loginpage_floatLeft {
+ float: left;
+ width: 200px;
+ margin: 0;
+}
+
+table em {
+ font-weight: bold;
+ font-style: normal;
+}
+
+table.LC_tableBrowseRes,
+table.LC_tableOfContent {
+ border:none;
+ border-spacing: 1;
+ padding: 3px;
+ background-color: #FFFFFF;
+ font-size: 90%;
+}
+
+table.LC_tableOfContent{
+ border-collapse: collapse;
+}
+
+table.LC_tableBrowseRes a,
+table.LC_tableOfContent a {
+ background-color: transparent;
+ text-decoration: none;
+}
+
+table.LC_tableBrowseRes tr.LC_trOdd,
+table.LC_tableOfContent tr.LC_trOdd{
+ background-color: #EEEEEE;
+}
+
+table.LC_tableOfContent img {
+ border: none;
+ height: 1.3em;
+ vertical-align: text-bottom;
+ margin-right: 0.3em;
+}
+
+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);
+}
+
+a#LC_content_toolbar_uncompleted {
+ background-image:url(/res/adm/pages/show-incomplete-problems.gif);
+}
+
+#LC_content_toolbar_clearbubbles {
+ background-image:url(/res/adm/pages/mark-discussionentries-read.gif);
+}
+
+a#LC_content_toolbar_changefolder {
+ background : url(/res/adm/pages/close-all-folders.gif) top center ;
+}
+
+a#LC_content_toolbar_changefolder_toggled {
+ background-image:url(/res/adm/pages/open-all-folders.gif);
+}
+
+ul#LC_toolbar li a:hover {
+ background-position: bottom center;
+}
+
+ul#LC_toolbar {
+ padding:0;
+ margin: 2px;
+ list-style:none;
+ position:relative;
+ background-color:white;
+}
+
+ul#LC_toolbar li {
+ border:1px solid white;
+ padding:0;
+ margin: 0;
+ float: left;
+ display:inline;
+ vertical-align:middle;
+}
+
+
+a.LC_toolbarItem {
+ display:block;
+ padding:0;
+ margin:0;
+ height: 32px;
+ width: 32px;
+ color:white;
+ border:0 none;
+ background-repeat:no-repeat;
+ background-color:transparent;
+}
+
+ul.LC_functionslist li {
+ float: left;
+ white-space: nowrap;
+ height: 35px; /* at least as high as heighest list item */
+ margin: 0px 15px 15px 10px;
+}
+
+
END
}
@@ -5980,8 +6382,7 @@ sub xml_begin {
.'';
} else {
- $output=''.
- '';
+ $output='';
}
return $output;
}
@@ -6117,31 +6518,33 @@ sub start_page {
}
if ($args->{'js_ready'}) {
- $result = &js_ready($result);
+ $result = &js_ready($result);
}
if ($args->{'html_encode'}) {
- $result = &html_encode($result);
+ $result = &html_encode($result);
}
- #Breadcrumbs
+
+ #Breadcrumbs
if (exists($args->{'bread_crumbs'}) or exists($args->{'bread_crumbs_component'})) {
- &Apache::lonhtmlcommon::clear_breadcrumbs();
- #if any br links exists, add them to the breadcrumbs
- if (exists($args->{'bread_crumbs'}) and ref($args->{'bread_crumbs'}) eq 'ARRAY') {
- foreach my $crumb (@{$args->{'bread_crumbs'}}){
- &Apache::lonhtmlcommon::add_breadcrumb($crumb);
- }
- }
+ &Apache::lonhtmlcommon::clear_breadcrumbs();
+ #if any br links exists, add them to the breadcrumbs
+ if (exists($args->{'bread_crumbs'}) and ref($args->{'bread_crumbs'}) eq 'ARRAY') {
+ foreach my $crumb (@{$args->{'bread_crumbs'}}){
+ &Apache::lonhtmlcommon::add_breadcrumb($crumb);
+ }
+ }
- #if bread_crumbs_component exists show it as headline else show only the breadcrumbs
- if (exists($args->{'bread_crumbs_component'})){
- $result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'});
- } else {
- $result .= &Apache::lonhtmlcommon::breadcrumbs();
- }
+ #if bread_crumbs_component exists show it as headline else show only the breadcrumbs
+ if(exists($args->{'bread_crumbs_component'})){
+ $result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'});
+ }else{
+ $result .= &Apache::lonhtmlcommon::breadcrumbs();
+ }
}
return $result;
}
+
=pod
=item * &head()
@@ -6284,7 +6687,7 @@ sub simple_error_page {
}
sub start_data_table_empty_row {
- $row_count[0]++;
+# $row_count[0]++;
return ''."\n";;
}
@@ -6366,13 +6769,13 @@ Returns either 'student','coordinator','
###############################################
sub get_users_function {
my $function = 'student';
- if ($env{'request.role'}=~/^(cc|co|in|ta|ep)/
+ if ($env{'request.role'}=~/^(cc|in|ta|ep)/) {
$function='coordinator';
}
if ($env{'request.role'}=~/^(su|dc|ad|li)/) {
$function='admin';
}
- if (($env{'request.role'}=~/^(au|ca|aa)/) ||
+ if (($env{'request.role'}=~/^(au|ca)/) ||
($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) {
$function='author';
}
@@ -6383,37 +6786,6 @@ sub get_users_function {
=pod
-=item * &show_course()
-
-Used by lonmenu.pm and lonroles.pm to determine whether to use the word
-'Courses' or 'Roles' in inline navigation and on screen displaying user's roles.
-Inputs:
-None
-
-Outputs:
-Scalar: 1 if 'Course' to be used, 0 otherwise.
-
-=cut
-
-###############################################
-sub show_course {
- my $course = !$env{'user.adv'};
- if (!$env{'user.adv'}) {
- foreach my $env (keys(%env)) {
- next if ($env !~ m/^user\.priv\./);
- if ($env !~ m/^user\.priv\.(?:st|cm)/) {
- $course = 0;
- last;
- }
- }
- }
- return $course;
-}
-
-###############################################
-
-=pod
-
=item * &check_user_status()
Determines current status of supplied role for a
@@ -6436,7 +6808,7 @@ sub check_user_status {
my $active_chk = 'none';
my $now = time;
if (@uroles > 0) {
- if (($role eq 'cc') || ($role eq 'co') || ($sec eq '') || (!defined($sec))) {
+ if (($role eq 'cc') || ($sec eq '') || (!defined($sec))) {
$srchstr = '/'.$cdom.'/'.$crs.'_'.$role;
} else {
$srchstr = '/'.$cdom.'/'.$crs.'/'.$sec.'_'.$role;
@@ -7067,7 +7439,6 @@ 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 .= '
@@ -7116,9 +7487,12 @@ sub user_picker {
official => 'institutional',
unofficial => 'non-institutional',
);
- $new_user_create = ''.
- &mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.").' '.
- &mt('Please contact the [_1]helpdesk[_2] for assistance.','',' ').'
';
+ $new_user_create = ''
+ .&mt("You are not authorized to create new $usertypetext{$usertype} users in this domain.")
+ .' '
+ .&mt('Please contact the [_1]helpdesk[_2] for assistance.'
+ ,'',' ')
+ .'
';
}
}
}
@@ -7155,7 +7529,6 @@ ENDSCRIPT
my $output = <<"END_BLOCK";
$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;
}
@@ -7474,7 +7850,7 @@ sub get_institutional_codes {
=item * sorted_slots()
-Sorts an array of slot names in order of slot start time (earliest first).
+Sorts an array of slot names in order of slot start time (earliest first).
Inputs:
@@ -7516,6 +7892,7 @@ sub sorted_slots {
return @sorted;
}
+
=pod
=head1 HTTP Helpers
@@ -7807,9 +8184,9 @@ sub upload_embedded {
' '.
$orig_uploaded_filename.' ';
} else {
- $output .= ''.
+ $output .= ''.
&mt('View embedded file: [_1]',''.
- $orig_uploaded_filename.' ').' ';
+ $orig_uploaded_filename.'').' ';
}
}
close($fh);
@@ -8114,8 +8491,7 @@ sub csv_print_samples {
$r->print(&mt('Samples').' '.&start_data_table().
&start_data_table_header_row());
foreach my $sample (sort({$a <=> $b} keys(%{ $samples->[0] }))) {
- $r->print(''.&mt('Column [_1]',($sample+1)).' ');
- }
+ $r->print(''.&mt('Column [_1]',($sample+1)).' '); }
$r->print(&end_data_table_header_row());
foreach my $hash (@$samples) {
$r->print(&start_data_table_row());
@@ -8159,7 +8535,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] }))) {
@@ -8813,11 +9189,10 @@ sub restore_settings {
=item * &build_recipient_list()
-Build recipient lists for five types of e-mail:
+Build recipient lists for four types of e-mail:
(a) Error Reports, (b) Package Updates, (c) lonstatus warnings/errors
-(d) Help requests, (e) Course requests needing approval, generated by
-lonerrorhandler.pm, CHECKRPMS, loncron, lonsupportreq.pm and
-loncoursequeueadmin.pm respectively.
+(d) Help requests, generated by
+lonerrorhandler.pm, CHECKRPMS, loncron, and lonsupportreq.pm respectively.
Inputs:
defmail (scalar - email address of default recipient),
@@ -8846,7 +9221,7 @@ sub build_recipient_list {
my @contacts = ('adminemail','supportemail');
foreach my $item (@contacts) {
if ($domconfig{'contacts'}{$mailing}{$item}) {
- my $addr = $domconfig{'contacts'}{$item};
+ my $addr = $domconfig{'contacts'}{$item};
if (!grep(/^\Q$addr\E$/,@recipients)) {
push(@recipients,$addr);
}
@@ -9126,7 +9501,7 @@ sub assign_categories_table {
my $checked = '';
if (@currcategories > 0) {
if (grep(/^\Q$item\E$/,@currcategories)) {
- $checked = ' checked="checked" ';
+ $checked = ' checked="checked"';
}
}
$output .= ''.
@@ -9192,7 +9567,7 @@ sub assign_category_rows {
if (ref($currcategories) eq 'ARRAY') {
if (@{$currcategories} > 0) {
if (grep(/^\Q$item\E$/,@{$currcategories})) {
- $checked = ' checked="checked" ';
+ $checked = ' checked="checked"';
}
}
}
@@ -9385,62 +9760,40 @@ sub check_clone {
my $clonehome=&Apache::lonnet::homeserver($clonecrsunum,$clonecrsudom);
my $clonemsg;
my $can_clone = 0;
- my $lctype = lc($args->{'type'});
- if ($lctype ne 'community') {
- $lctype = 'course';
- }
+
if ($clonehome eq 'no_host') {
- if ($args->{'type'} eq 'Community') {
- $clonemsg = &mt('No new community created.').$linefeed.&mt('A new community could not be cloned from the specified original - [_1] - because it is a non-existent community.',$args->{'clonecourse'}.':'.$args->{'clonedomain'});
- } else {
- $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'});
- }
+ $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 ($args->{'type'} eq 'Community') {
- if ($clonedesc{'type'} ne 'Community') {
- $clonemsg = &mt('No new community created.').$linefeed.&mt('A new community could not be cloned from the specified original - [_1] - because it is a course not a community.',$args->{'clonecourse'}.':'.$args->{'clonedomain'});
- return ($can_clone, $clonemsg, $cloneid, $clonehome);
- }
- }
- 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'],
- $args->{'clonedomain'},$args->{'clonecourse'});
- my @cloners = split(/,/,$clonehash{'cloners'});
+ if ($env{'request.role.domain'} eq $args->{'clonedomain'}) {
+ $can_clone = 1;
+ } else {
+ my %clonehash = &Apache::lonnet::get('environment',['cloners'],
+ $args->{'clonedomain'},$args->{'clonecourse'});
+ my @cloners = split(/,/,$clonehash{'cloners'});
if (grep(/^\*$/,@cloners)) {
$can_clone = 1;
} elsif (grep(/^\*\:\Q$args->{'ccdomain'}\E$/,@cloners)) {
$can_clone = 1;
} else {
- my $ccrole = 'cc';
- if ($args->{'type'} eq 'Community') {
- $ccrole = 'co';
- }
- my %roleshash =
- &Apache::lonnet::get_my_roles($args->{'ccuname'},
- $args->{'ccdomain'},
- 'userroles',['active'],[$ccrole],
- [$args->{'clonedomain'}]);
- if (($roleshash{$args->{'clonecourse'}.':'.$args->{'clonedomain'}.':'.$ccrole}) || (grep(/^\Q$args->{'ccuname'}\E:\Q$args->{'ccdomain'}\E$/,@cloners))) {
- $can_clone = 1;
- } else {
- if ($args->{'type'} eq 'Community') {
- $clonemsg = &mt('No new community created.').$linefeed.&mt('The new community could not be cloned from the existing community because the new community owner ([_1]) does not have cloning rights in the existing community ([_2]).',$args->{'ccuname'}.':'.$args->{'ccdomain'},$clonedesc{'description'});
- } else {
- $clonemsg = &mt('No new course created.').$linefeed.&mt('The new course could not be cloned from the existing course because the new course owner ([_1]) does not have cloning rights in the existing course ([_2]).',$args->{'ccuname'}.':'.$args->{'ccdomain'},$clonedesc{'description'});
- }
- }
- }
+ my %roleshash =
+ &Apache::lonnet::get_my_roles($args->{'ccuname'},
+ $args->{'ccdomain'},
+ 'userroles',['active'],['cc'],
+ [$args->{'clonedomain'}]);
+ if (($roleshash{$args->{'clonecourse'}.':'.$args->{'clonedomain'}.':cc'}) || (grep(/^\Q$args->{'ccuname'}\E:\Q$args->{'ccdomain'}\E$/,@cloners))) {
+ $can_clone = 1;
+ } else {
+ $clonemsg = &mt('No new course created.').$linefeed.&mt('The new course could not be cloned from the existing course because the new course owner ([_1]) does not have cloning rights in the existing course ([_2]).',$args->{'ccuname'}.':'.$args->{'ccdomain'},$clonedesc{'description'});
+ }
+ }
}
}
return ($can_clone, $clonemsg, $cloneid, $clonehome);
}
sub construct_course {
- my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context,$cnum,$category) = @_;
+ my ($args,$logmsg,$courseid,$crsudom,$crsunum,$udom,$uname,$context) = @_;
my $outcome;
my $linefeed = ' '."\n";
if ($context eq 'auto') {
@@ -9478,9 +9831,7 @@ sub construct_course {
$args->{'crscode'},
$args->{'ccuname'}.':'.
$args->{'ccdomain'},
- $args->{'crstype'},
- $cnum,$context,$category);
-
+ $args->{'crstype'});
# Note: The testing routines depend on this being output; see
# Utils::Course. This needs to at least be output as a comment
@@ -9788,22 +10139,12 @@ sub course_type {
sub group_term {
my $crstype = &course_type();
my %names = (
- 'Course' => 'group',
- 'Community' => 'group',
+ 'Course' => 'group',
+ 'Group' => 'team',
);
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]);
@@ -9863,22 +10204,6 @@ sub escape_url {
return join('/',@urlslices).'/'.$lastitem;
}
-sub compare_arrays {
- my ($arrayref1,$arrayref2) = @_;
- my (@difference,%count);
- @difference = ();
- %count = ();
- if ((ref($arrayref1) eq 'ARRAY') && (ref($arrayref2) eq 'ARRAY')) {
- foreach my $element (@{$arrayref1}, @{$arrayref2}) { $count{$element}++; }
- foreach my $element (keys(%count)) {
- if ($count{$element} == 1) {
- push(@difference,$element);
- }
- }
- }
- return @difference;
-}
-
# -------------------------------------------------------- Initliaze user login
sub init_user_environment {
my ($r, $username, $domain, $authhost, $form, $args) = @_;
@@ -10010,11 +10335,11 @@ sub init_user_environment {
}
foreach my $tool ('aboutme','blog','portfolio') {
- $userenv{'availabletools.'.$tool} =
+ $userenv{'availabletools.'.$tool} =
&Apache::lonnet::usertools_access($username,$domain,$tool,'reload');
}
- foreach my $crstype ('official','unofficial','community') {
+ foreach my $crstype ('official','unofficial') {
$userenv{'canrequest.'.$crstype} =
&Apache::lonnet::usertools_access($username,$domain,$crstype,
'reload','requestcourses');
@@ -10032,8 +10357,8 @@ sub init_user_environment {
}
untie(%disk_env);
} else {
- &Apache::lonnet::logthis("WARNING: ".
- 'Could not create environment storage in lonauth: '.$!.' ');
+ &Apache::lonnet::logthis("WARNING: ".
+ 'Could not create environment storage in lonauth: '.$!.' ');
return 'error: '.$!;
}
}