--- loncom/interface/loncommon.pm 2009/03/25 15:49:47 1.776 +++ loncom/interface/loncommon.pm 2009/03/27 02:14:43 1.780 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.776 2009/03/25 15:49:47 bisitz Exp $ +# $Id: loncommon.pm,v 1.780 2009/03/27 02:14:43 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -4505,7 +4505,7 @@ body{ } a:link, a:visited { font-size:100%; } -a:focus { color: red; background: yellow } +a:focus { color: red; background: yellow } table.thinborder, table.thinborder tr th { border-style: solid; @@ -4528,7 +4528,19 @@ form, .inline { display: inline; } .LC_400Box {width:400px; } /* end */ -.LC_filename {font-family: $mono; white-space:pre;} +.LC_filename { + font-family: $mono; + white-space:pre; +} + +.LC_fileicon { + border: none; + height: 1.3em; + vertical-align: text-bottom; + margin-right: 0.3em; + text-decoration:none; +} + .LC_error { color: red; font-size: larger; @@ -4578,7 +4590,7 @@ table#LC_top_nav, table#LC_menubuttons,t padding: 0px; } -table#LC_title_bar, table.LC_breadcrumbs, +table#LC_title_bar, table.LC_breadcrumbs, table#LC_title_bar.LC_with_remote { width: 100%; border-color: $pgbg; @@ -4655,6 +4667,10 @@ table#LC_top_nav td.LC_top_nav_logo img border: 0px; vertical-align: bottom; } +table#LC_top_nav td.LC_top_nav_exit, +table#LC_top_nav td.LC_top_nav_help { + width: 2.0em; +} table#LC_top_nav td.LC_top_nav_login { width: 4.0em; text-align: center; @@ -4665,9 +4681,20 @@ table.LC_breadcrumbs td, table.LC_docs_p font-family: $sans; font-size: smaller; } +table.LC_breadcrumbs td.LC_breadcrumbs_component, +table.LC_docs_path td.LC_docs_path_component { + background: $tabbg; + color: $font; + font-family: $sans; + font-size: larger; + text-align: right; +} td.LC_table_cell_checkbox { text-align: center; } +table#LC_mainmenu td.LC_mainmenu_column { + vertical-align: top; +} .LC_fontsize_small { @@ -4704,7 +4731,7 @@ td.LC_table_cell_checkbox { } td.LC_menubuttons_text { - color: $font; + color: $font; } @@ -4775,7 +4802,7 @@ table.LC_data_table tr.LC_info_row > td 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; @@ -4870,13 +4897,19 @@ table.LC_calendar tr td { 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; +} 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; } @@ -4896,12 +4929,21 @@ table.LC_mail_list tr.LC_mail_other:hove background-color: $mail_other_hover; } -table.LC_data_table tr > td.LC_browser_file { +table.LC_data_table tr > td.LC_browser_file, +table.LC_data_table tr > td.LC_browser_file_published { background: #CCFF88; } -table.LC_data_table tr > td.LC_browser_file_locked { +table.LC_data_table tr > td.LC_browser_file_locked, +table.LC_data_table tr > td.LC_browser_file_unpublished { background: #FFAA99; } +table.LC_data_table tr > td.LC_browser_file_obsolete { + background: #AAAAAA; +} +table.LC_data_table tr > td.LC_browser_file_modified, +table.LC_data_table tr > td.LC_browser_file_metamodified { + background: #FFFF77; +} table.LC_data_table tr.LC_browser_folder > td { background: #CCCCFF; } @@ -4953,7 +4995,7 @@ span.LC_parm_folder, span.LC_parm_symb { } td.LC_parm_overview_level_menu, td.LC_parm_overview_map_menu, -td.LC_parm_overview_parm_selectors { +td.LC_parm_overview_parm_selectors,td.LC_parm_overview_restrictions { border: 1px solid black; border-collapse: collapse; } @@ -5165,7 +5207,7 @@ table.LC_descriptive_input td.LC_descrip div.LC_feedback_link { clear: both; background: white; - width: 100%; + width: 100%; } span.LC_feedback_link { background: $feedback_link_bg; @@ -5196,7 +5238,7 @@ table.LC_prior_tries td { background: #FFAAAA ! important; color: black; } -.LC_answer_not_charged_try, +.LC_answer_not_charged_try, .LC_answer_no_grade, .LC_answer_late { background: #FFFFAA; @@ -5206,8 +5248,14 @@ table.LC_prior_tries td { background: #AAAAFF; color: black; } - - +.LC_answer_no_message { + background: #FFFFFF; + color: black; +} +.LC_answer_unknown { + background: orange; + color: black; +} span.LC_prior_numerical, span.LC_prior_string, span.LC_prior_custom, @@ -5254,7 +5302,10 @@ table.LC_docs_documents { border-width: 0px; border-collapse: collapse; } - +table.LC_docs_documents td.LC_docs_document { + border: 2px solid black; + padding: 4px; +} .LC_docs_entry_move { border: 0px; border-collapse: collapse; @@ -5327,7 +5378,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; } @@ -5405,7 +5456,7 @@ table.LC_scantron_action tr th { font-weight:bold; font-style:normal; } -.LC_edit_problem_header, +.LC_edit_problem_header, div.LC_edit_problem_footer { font-weight: normal; font-size: medium; @@ -5473,7 +5524,13 @@ table#LC_mainmenu td.LC_mainmenu_col_fie vertical-align: top; width: 45%; } - +.LC_mainmenu_fieldset_category { + color: $font; + background: $pgbg; + font-family: $sans; + font-size: small; + font-weight: bold; +} div.LC_createcourse { margin: 10px 10px 10px 10px; } @@ -5496,7 +5553,7 @@ ul.LC_TabContent li:hover a{ text-decoration:none; } -h1 { +h1 { padding:5px 10px 5px 20px; line-height:130%; } @@ -5511,7 +5568,7 @@ h2,h3,h4,h5,h6 padding:3px 15px 3px 15px; margin:0px; background-color:$tabbg; - border-bottom:solid 1px $lg_border_color; + border-bottom:solid 1px $lg_border_color; } .LC_noBorder { border:0px; @@ -5531,7 +5588,7 @@ p, .LC_ContentBox { } .LC_FormSectionClearButton input { - background-color:transparent; + background-color:transparent; border:0px; cursor:pointer; text-decoration:underline; @@ -5608,7 +5665,7 @@ ul.LC_TabContent li{ background-color:$tabbg; border-bottom:solid 1px $lg_border_color; } -ul.LC_TabContent li a, ul.LC_TabContent li{ +ul.LC_TabContent li a, ul.LC_TabContent li{ color:rgb(47,47,47); text-decoration:none; font-size:95%; @@ -5650,7 +5707,7 @@ ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcr ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li { /* background: url(/adm/lonIcons/arrow_white.png) no-repeat left center; -*/ +*/ display: inline; padding: 0px 0px 0px 10px; vertical-align: bottom; @@ -5697,6 +5754,7 @@ dl.LC_ListStyleClean dd { .LC_ListStyleClean, .LC_ListStyleSimple, .LC_ListStyleNormal, +.LC_ListStyle_Border, .LC_ListStyleSpecial { /*display:block; */ @@ -5833,7 +5891,7 @@ table em{ font-weight: bold; font-style: normal; } -table.LC_tableBrowseRes, +table.LC_tableBrowseRes, table.LC_tableOfContent{ border:none; border-spacing: 1; @@ -5896,7 +5954,7 @@ ul#LC_toolbar li a:hover{ } ul#LC_toolbar{ - padding:0; + padding:0; margin: 2px; list-style:none; position:relative; @@ -5918,8 +5976,8 @@ a.LC_toolbarItem{ margin:0; height: 32px; width: 32px; - color:white; - border:0 none; + color:white; + border:0 none; background-repeat:no-repeat; background-color:transparent; } @@ -6959,6 +7017,8 @@ If the user's status includes multiple t the largest default quota which applies to the user determines the default quota returned. +=back + =cut ############################################### @@ -7507,8 +7567,57 @@ sub get_institutional_codes { =pod +=head1 Slot Helpers + +=over 4 + +=item * sorted_slots() + +Sorts an array of slot names in order of slot start time (earliest first). + +Inputs: + +=over 4 + +slotsarr - Reference to array of unsorted slot names. + +slots - Reference to hash of hash, where outer hash keys are slot names. + =back +Returns: + +=over 4 + +sorted - An array of slot names sorted by the start time of the slot. + +=back + +=back + +=cut + + +sub sorted_slots { + my ($slotsarr,$slots) = @_; + my @sorted; + if ((ref($slotsarr) eq 'ARRAY') && (ref($slots) eq 'HASH')) { + @sorted = + sort { + if (ref($slots->{$a}) && ref($slots->{$b})) { + return $slots->{$a}{'starttime'} <=> $slots->{$b}{'starttime'} + } + if (ref($slots->{$a})) { return -1;} + if (ref($slots->{$b})) { return 1;} + return 0; + } @{$slotsarr}; + } + return @sorted; +} + + +=pod + =head1 HTTP Helpers =over 4