--- loncom/interface/loncommon.pm 2010/01/06 22:53:58 1.925.2.7 +++ loncom/interface/loncommon.pm 2010/02/15 16:41:31 1.941 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.925.2.7 2010/01/06 22:53:58 raeburn Exp $ +# $Id: loncommon.pm,v 1.941 2010/02/15 16:41:31 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -483,9 +483,9 @@ ENDAUTHORBRW sub coursebrowser_javascript { my ($domainfilter,$sec_element,$formname,$role_element,$crstype) = @_; - my $wintitle = &mt('Course Browser'); - if ($crstype ne '') { - $wintitle = &mt($crstype); + my $wintitle = 'Course_Browser'; + if ($crstype eq 'Community') { + $wintitle = 'Community_Browser'; } my $id_functions = &javascript_index_functions(); my $output = ' @@ -1127,7 +1127,7 @@ sub help_open_topic { $template.=' ' .''.&mt('Help: [_1]',$topic).''; if ($text ne "") { $template.=''; @@ -1719,10 +1719,13 @@ sub create_workbook { my $workbook = Spreadsheet::WriteExcel->new('/home/httpd'.$filename); if (! defined($workbook)) { $r->log_error("Error creating excel spreadsheet $filename: $!"); - $r->print('

'.&mt("Unable to create new Excel file. ". - "This error has been logged. ". - "Please alert your LON-CAPA administrator"). - '

'); + $r->print( + '

' + .&mt('Problems occurred in creating the new Excel file.') + .' '.&mt('This error has been logged.') + .' '.&mt('Please alert your LON-CAPA administrator.') + .'

' + ); return (undef); } # @@ -1762,9 +1765,13 @@ sub create_text_file { $fh = Apache::File->new('>/home/httpd'.$filename); if (! defined($fh)) { $r->log_error("Couldn't open $filename for output $!"); - $r->print(&mt('Problems occurred in creating the output file. ' - .'This error has been logged. ' - .'Please alert your LON-CAPA administrator.')); + $r->print( + '

' + .&mt('Problems occurred in creating the output file.') + .' '.&mt('This error has been logged.') + .' '.&mt('Please alert your LON-CAPA administrator.') + .'

' + ); } return ($fh,$filename) } @@ -4467,10 +4474,6 @@ sub bodytag { 'link' => &designparm($function.'.link',$domain),); @design{keys(%$addentries)} = @$addentries{keys(%$addentries)}; - my $custommenu; - if ($env{'environment.remote'} eq 'off') { - $custommenu = &needs_gci_custom(); - } # role and realm my ($role,$realm) = split(/\./,$env{'request.role'},2); if ($role eq 'ca') { @@ -4480,22 +4483,14 @@ sub bodytag { # realm if ($env{'request.course.id'}) { if ($env{'request.role'} !~ /^cr/) { - if (($custommenu) && ($role eq 'cm')) { - undef($role); - } else { - $role = &Apache::lonnet::plaintext($role,&course_type()); - } + $role = &Apache::lonnet::plaintext($role,&course_type()); } if ($env{'request.course.sec'}) { $role .= (' 'x2).'- '.&mt('section:').' '.$env{'request.course.sec'}; } $realm = $env{'course.'.$env{'request.course.id'}.'.description'}; } else { - if (($custommenu) && ($role eq 'cm')) { - undef($role); - } else { - $role = &Apache::lonnet::plaintext($role); - } + $role = &Apache::lonnet::plaintext($role); } if (!$realm) { $realm=' '; } @@ -4546,17 +4541,7 @@ sub bodytag { # $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls # } - my $role_selector; - if (($custommenu) && ($env{'request.course.id'}) && - ($env{'course.'.$env{'request.course.id'}.'.domain'} eq 'gcitest') && - ($env{'request.role'} !~ m{^st\./gcitest/$match_courseid})) { - $role_selector = &Apache::lonmenu::roles_selector( - $env{'course.' . $env{'request.course.id'} . '.domain'}, - $env{'course.' . $env{'request.course.id'} . '.num'} ); - if ($role_selector) { - $role_selector = '
'.$role_selector; - } - } + if ($env{'request.noversionuri'} =~ m{^/res/adm/pages/}) { if ($dc_info) { @@ -4567,10 +4552,12 @@ sub bodytag { return $bodytag; } - $bodytag .= qq|
$name $role $role_selector
|; + unless ($env{'request.symb'} =~ m/\.page___\d+___/) { + $bodytag .= qq|
$name $role
|; + } $bodytag .= Apache::lonhtmlcommon::scripttag( - Apache::lonmenu::utilityfunctions('',$custommenu), 'start'); + Apache::lonmenu::utilityfunctions(), 'start'); $bodytag .= Apache::lonmenu::primary_menu(); @@ -4581,12 +4568,7 @@ sub bodytag { #don't show menus for public users if($env{'user.name'} ne 'public' && $env{'user.domain'} ne 'public'){ - if (($custommenu) && - ($env{'request.role'} !~ m{^st\./gcitest/$match_courseid})) { - $bodytag .= &Apache::lonmenu::gci_secondary_menu(); - } else { - $bodytag .= Apache::lonmenu::secondary_menu(); - } + $bodytag .= Apache::lonmenu::secondary_menu(); $bodytag .= Apache::lonmenu::serverform(); $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); if ($env{'request.state'} eq 'construct') { @@ -4602,8 +4584,6 @@ sub bodytag { $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end'); } - #SD testing - #$bodytag .= Apache::lonmenu::menubuttons($forcereg); return $bodytag; } @@ -4812,11 +4792,9 @@ form, .inline { vertical-align:middle; } -/* just for tests */ .LC_400Box { width:400px; } -/* end */ .LC_filename { font-family: $mono; @@ -4930,7 +4908,7 @@ table#LC_title_bar { } table#LC_title_bar, -table.LC_breadcrumbs, +table.LC_breadcrumbs, /* obsolete? */ table#LC_title_bar.LC_with_remote { width: 100%; border-color: $pgbg; @@ -4943,46 +4921,26 @@ table#LC_title_bar.LC_with_remote { margin: 0; } -/* #SD START (work in progress)*/ - -ul.LC_bct { +ul.LC_breadcrumb_tools_outerlist { margin: 0; padding: 0; + position: relative; + list-style: none; } -ul.LC_bct ol { - display: inline; -} -ul.LC_bct ul { - display: inline; - padding: 0; -} -ul.LC_bct li { - list-style-type: none; +ul.LC_breadcrumb_tools_outerlist li { display: inline; } - -ul.LC_breadcrumb_tools { -} - -li.LC_breadcrumb_tools { -} -li.LC_breadcrumb_tools img{ - vertical-align: middle; -} - -.LC_breadcrumb_tools_A { - margin: 0 0 0 1em; -} -.LC_breadcrumb_tools_B { - float: right; - margin-top: 0.4em; +.LC_breadcrumb_tools_navigation { + padding: 0; + margin: 0; + float: left; } -.LC_breadcrumb_tools_C { - margin: 0 1em 0 0; +.LC_breadcrumb_tools_tools { + padding: 0; + margin: 0; float: right; } -/* #SD END */ table#LC_title_bar td { background: $tabbg; @@ -5013,9 +4971,7 @@ td.LC_table_cell_checkbox { background: $sidebg; border-bottom: 1px solid $lg_border_color; line-height: 2.5em; - /* SD working here - height: 2.5em; - overflow: hidden; */ + overflow: hidden; margin: 0; padding: 0; } @@ -5046,6 +5002,10 @@ td.LC_table_cell_checkbox { padding-left:3px; } +.LC_menubuttons_inline_text img{ + vertical-align: middle; +} + .LC_menubuttons_link { text-decoration: none; } @@ -5065,8 +5025,7 @@ td.LC_menubuttons_text { background: $tabbg; } -table.LC_data_table, -table.LC_mail_list { +table.LC_data_table { border: 1px solid #000000; border-collapse: separate; border-spacing: 1px; @@ -5092,9 +5051,16 @@ table.LC_nested { width: 100%; } +.ui-accordion, +.ui-accordion table.LC_data_table, +.ui-accordion table.LC_nested_outer{ + border: 0px; + border-spacing: 0px; + margin: 3px; +} + table.LC_data_table tr th, table.LC_calendar tr th, -table.LC_mail_list tr th, table.LC_prior_tries tr th, table.LC_innerpickbox tr th { font-weight: bold; @@ -5147,13 +5113,20 @@ table.LC_data_table tr td.LC_leftcol_hea table.LC_data_table tr.LC_empty_row td, table.LC_nested tr.LC_empty_row td { - background-color: #FFFFFF; font-weight: bold; font-style: italic; text-align: center; padding: 8px; } +table.LC_data_table tr.LC_empty_row td { + background-color: $sidebg; +} + +table.LC_nested tr.LC_empty_row td { + background-color: #FFFFFF; +} + table.LC_caption { } @@ -5201,6 +5174,22 @@ table.LC_nested tr td.LC_right_item { text-align: right; } +.ui-accordion table.LC_nested tr.LC_odd_row td.LC_left_item, +.ui-accordion table.LC_nested tr.LC_even_row td.LC_left_item { + text-align: right; + width: 40%; + padding-right:10px; + vertical-align: top; + padding: 5px; +} + +.ui-accordion table.LC_nested tr.LC_odd_row td.LC_right_item, +.ui-accordion table.LC_nested tr.LC_even_row td.LC_right_item { + text-align: left; + width: 60%; + padding: 2px 4px; +} + table.LC_nested tr.LC_odd_row td { background-color: #EEEEEE; } @@ -5242,37 +5231,43 @@ table.LC_calendar tr td.LC_calendar_day_ background-color: $data_table_highlight; } -table.LC_mail_list tr.LC_mail_new { +table.LC_data_table tr td.LC_mail_new { background-color: $mail_new; } -table.LC_mail_list tr.LC_mail_new:hover { +table.LC_data_table tr.LC_mail_new:hover { background-color: $mail_new_hover; } -table.LC_mail_list tr.LC_mail_read { +table.LC_data_table tr td.LC_mail_read { background-color: $mail_read; } -table.LC_mail_list tr.LC_mail_read:hover { +/* +table.LC_data_table tr.LC_mail_read:hover { background-color: $mail_read_hover; } +*/ -table.LC_mail_list tr.LC_mail_replied { +table.LC_data_table tr td.LC_mail_replied { background-color: $mail_replied; } -table.LC_mail_list tr.LC_mail_replied:hover { +/* +table.LC_data_table tr.LC_mail_replied:hover { background-color: $mail_replied_hover; } +*/ -table.LC_mail_list tr.LC_mail_other { +table.LC_data_table tr td.LC_mail_other { background-color: $mail_other; } -table.LC_mail_list tr.LC_mail_other:hover { +/* +table.LC_data_table tr.LC_mail_other:hover { background-color: $mail_other_hover; } +*/ table.LC_data_table tr > td.LC_browser_file, table.LC_data_table tr > td.LC_browser_file_published { @@ -5302,23 +5297,23 @@ table.LC_data_table tr > td.LC_roles_is } table.LC_data_table tr > td.LC_roles_future { - background: #FFFF77; + border-right: 8px solid #FFFF77; } table.LC_data_table tr > td.LC_roles_will { - background: #FFAA77; + border-right: 8px solid #FFAA77; } table.LC_data_table tr > td.LC_roles_expired { - background: #FF7777; + border-right: 8px solid #FF7777; } table.LC_data_table tr > td.LC_roles_will_not { - background: #AAFF77; + border-right: 8px solid #AAFF77; } table.LC_data_table tr > td.LC_roles_selected { - background: #11CC55; + border-right: 8px solid #11CC55; } span.LC_current_location { @@ -5542,10 +5537,6 @@ table.LC_notify_front_page td { font-size: 1.2em; } -.LC_topic_bar img { - vertical-align: bottom; -} - table.LC_course_group_status { margin: 20px; } @@ -5784,56 +5775,41 @@ div.LC_clear_float_footer { } div.LC_grade_show_user { - margin-top: 20px; - border: 1px solid black; +/* border-left: 5px solid $sidebg; */ + border-top: 5px solid #000000; + margin: 50px 0 0 0; + padding: 15px 0 5px 10px; } -div.LC_grade_user_name { - background: #DDDDEE; - border-bottom: 1px solid black; - font-weight: bold; - font-size: large; +div.LC_grade_show_user_odd_row { +/* border-left: 5px solid #000000; */ } -div.LC_grade_show_user_odd_row div.LC_grade_user_name { - background: #DDEEDD; +div.LC_grade_show_user div.LC_Box { + margin-right: 50px; } -div.LC_grade_show_problem, div.LC_grade_submissions, div.LC_grade_message_center, -div.LC_grade_info_links, -div.LC_grade_assign { +div.LC_grade_info_links { margin: 5px; 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 { +div.LC_grade_message_center_header { font-weight: bold; font-size: large; } -div.LC_grade_show_problem_problem, div.LC_grade_submissions_body, -div.LC_grade_message_center_body, -div.LC_grade_assign_body { +div.LC_grade_message_center_body { border: 1px solid black; width: 99%; background: #FFFFFF; } -span.LC_grade_check_note { - font-weight: normal; - font-size: medium; - display: inline; - position: absolute; - right: 1em; -} - table.LC_scantron_action { width: 100%; } @@ -5867,15 +5843,8 @@ div.LC_edit_problem_header_title { } table.LC_edit_problem_header_title { - font-size: larger; - font-weight: bold; width: 100%; - border-color: $pgbg; - border-style: solid; - border-width: $border; background: $tabbg; - border-collapse: collapse; - padding: 0; } div.LC_edit_problem_discards { @@ -5908,13 +5877,6 @@ div.LC_createcourse { display:none; } -/* ---- 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_primary_menu a:hover, ol#LC_MenuBreadcrumbs a:hover, @@ -5989,7 +5951,7 @@ fieldset > legend { #LC_nav_bar { float: left; - margin: 0.2em 0 0 0; + margin: 0; } #LC_realm { @@ -6006,7 +5968,12 @@ fieldset > legend { ol.LC_primary_menu { float: right; - margin: 0.2em 0 0 0; + margin: 0; +} + +span.LC_new_message{ + font-weight:bold; + color: darkred; } ol#LC_PathBreadcrumbs { @@ -6021,10 +5988,10 @@ ol.LC_primary_menu li { ol.LC_primary_menu li img { vertical-align: bottom; + height: 1.1em; } ol.LC_primary_menu a { - font-size: 90%; color: RGB(80, 80, 80); text-decoration: none; } @@ -6162,18 +6129,14 @@ ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs { padding-left: 10px; margin: 0; - list-style-position: inside; - /* SD working here - white-space: nowrap; */ + height: 2.5em; /* equal to #LC_breadcrumbs line-height */ } ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li, ul.LC_CourseBreadcrumbs li { display: inline; - white-space: nowrap; - /* SD working here - white-space: normal; */ + white-space: normal; } ol#LC_MenuBreadcrumbs li a, @@ -6426,6 +6389,11 @@ ul.LC_funclist { padding: 0.5em 1em 0.5em 0; } +ul.LC_funclist > li:first-child { + font-weight:bold; + margin-left:0.8em; +} + ul.LC_funclist + ul.LC_funclist { /* left border as a seperator if we have more than @@ -6446,35 +6414,10 @@ ul.LC_funclist li { line-height: 150%; } -#gciheader { - float:left; - width:100%; - background:#DAE0D2 url("/gcimenu_bg.gif") repeat-x bottom; - font-size:93%; - line-height:normal; -} -#gciheader ul { - margin:0; - padding:10px 10px 0; - list-style:none; -} -#gciheader li { - float:left; - background:url("/gcimenu_left.gif") no-repeat left top; - margin:0; - padding:0 0 0 9px; -} -#gciheader a { - display:block; - background:url("/gcimenu_right.gif") no-repeat right top; - padding:5px 15px 4px 6px; -} -#gciheader #current { - background-image:url("/gcimenu_left_on.gif"); -} -#gciheader #current a { - background-image:url("/gcimenu_right_on.gif"); - padding-bottom:5px; +.ui-accordion .LC_advanced_toggle { + float: right; + font-size: 90%; + padding: 0px 4px } END @@ -10738,76 +10681,6 @@ sub clean_symb { return ($symb,$enc); } -sub needs_gci_custom { - my $custommenu; - my $numdc = &check_for_gci_dc(); - unless ($numdc) { - my $then=$env{'user.login.time'}; - my $now = time; - my %cnums = ( - review => '9615072b469884921gcil1', - submit => '1H96711d710194bfegcil1', - ); - if ($env{'user.role.st./gci/'.$cnums{'review'}}) { - my ($start,$end) = - split('.',$env{'user.role.st./gci/'.$cnums{'review'}}); - if (((!$start) || ($start && $start <= $now)) && - ((!$end) || ($end > $now))) { - $custommenu = 1; - if ($env{'user.role.cc./gci/'.$cnums{'review'}}) { - my ($ccstart,$ccend) = - split('.',$env{'user.role.cc./gci/'.$cnums{'review'}}); - if (((!$start) || ($start && $start <= $now)) && - ((!$end) || ($end > $now))) { - $custommenu = ''; - } - } - } - } - } - return $custommenu; -} - -sub check_for_gci_dc { - my $then=$env{'user.login.time'}; - my $numdc = 0; - foreach my $dom ('gci','gcitest') { - if ($env{'user.role.dc./'.$dom.'/'}) { - my $livedc = 1; - my ($tstart,$tend)=split(/\./,$env{'user.role.dc./'.$dom.'/'}); - if ($tstart && $tstart>$then) { $livedc = 0; } - if ($tend && $tend <$then) { $livedc = 0; } - if ($livedc) { - $numdc++; - } - } - } - return $numdc; -} - -sub existing_gcitest_courses { - my ($role) = @_; - my %courses; - my $cdom = 'gcitest'; - my $now = time; - foreach my $envkey (keys(%env)) { - my $cnum; - if ($envkey =~ m{^user\.role\.\Q$role\E\./\Q$cdom\E/($match_courseid)$}) { - $cnum = $1; - } else { - next; - } - my ($tstart,$tend) = split('.',$env{$envkey}); - if (((!$tstart) || ($tstart < $now)) && ((!$tend) || ($tend > $now))) { - my $descr = $env{'course.'.$cdom.'_'.$cnum.'.description'}; - if ($descr ne '') { - $courses{$cdom.'_'.$cnum}{'description'} = $descr; - } - } - } - return %courses; -} - =pod =back