--- loncom/interface/loncommon.pm 2008/12/02 23:39:26 1.701 +++ loncom/interface/loncommon.pm 2009/03/21 21:41:14 1.775 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.701 2008/12/02 23:39:26 harmsja Exp $ +# $Id: loncommon.pm,v 1.775 2009/03/21 21:41:14 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -271,7 +271,7 @@ BEGIN { } } &Apache::lonnet::logthis( - "INFO: Read file types"); + "INFO: Read file types"); $readit=1; } # end of unless($readit) @@ -923,19 +923,23 @@ 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 .= <<"ENDTEMPLATE"; - (Help: $topic) -ENDTEMPLATE - if ($text ne '') { $template.='
' }; + $template.=' ' + .''.&mt('Help: [_1]',$topic).''; + if ($text ne "") { + $template.=''; + } return $template; } @@ -943,24 +947,31 @@ ENDTEMPLATE # This is a quicky function for Latex cheatsheet editing, since it # appears in at least four places sub helpLatexCheatsheet { - my $other = shift; + my ($topic,$text,$not_author) = @_; + my $out; my $addOther = ''; - if ($other) { - $addOther = Apache::loncommon::help_open_topic($other, shift, - undef, undef, 600) . - ''; - } - return '
'. - $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) - .''. - &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'), - undef,undef,600) - .'
'; + if ($topic) { + $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 .= ''; # End cheatsheet + return $out; } sub general_help { @@ -1128,7 +1139,7 @@ sub help_open_bug { { $template .= "". - "
$text"; + "$text"; } # Add the graphic @@ -1173,7 +1184,7 @@ sub help_open_faq { { $template .= "". - " ENDROLE - my $titleinfo = ''.$title.''; + my $titleinfo = '

'.$title.'

'; if ($customtitle) { $titleinfo = $customtitle; } @@ -4220,7 +4294,7 @@ ENDROLE .''.&mt('Construction Space').': ' .'' - .&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."$lastitem
" + .&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."$lastitem
" .&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') .'' .&Apache::lonmenu::constspaceform(); @@ -4394,6 +4468,10 @@ 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; @@ -4442,12 +4520,14 @@ table.thinborder tr td { } form, .inline { display: inline; } -.center { text-align: center; } -.left { text-align:left; } -.right {text-align:right;} -.middle {vertical-align:middle;} -.top {vertical-align:top;} -.bottom {vertical-align:bottom;} + +.LC_right {text-align:right;} +.LC_middle {vertical-align:middle;} + +/* just for tests */ +.LC_400Box {width:400px; } +/* end */ + .LC_filename {font-family: $mono; white-space:pre;} .LC_error { color: red; @@ -4468,8 +4548,9 @@ form, .inline { display: inline; } } .LC_icon { - border: 0px; + border: none; } + .LC_indexer_icon { border: 0px; height: 22px; @@ -4477,11 +4558,11 @@ form, .inline { display: inline; } .LC_docs_spacer { width: 25px; height: 1px; - border: 0px; + border: none; } .LC_internal_info { - color: #999; + color: #999999; } table.LC_pastsubmission { @@ -4521,18 +4602,25 @@ table.LC_docs_path { table#LC_title_bar td { background: $tabbg; } -table#LC_title_bar td.LC_title_bar_who { +table#LC_title_bar .LC_title_bar_who { background: $tabbg; color: $font; font: small $sans; text-align: right; + margin: 0px; +} +table#LC_title_bar .LC_title_bar_name { + margin: 0px; +} +table#LC_title_bar .LC_title_bar_role { + margin: 0px; +} +table#LC_title_bar .LC_title_bar_realm { + margin: 0px; } span.LC_metadata { font-family: $sans; } -span.LC_title_bar_title { - font: bold x-large $sans; -} table#LC_title_bar td.LC_title_bar_domain_logo { background: $sidebg; text-align: right; @@ -4543,21 +4631,15 @@ table#LC_title_bar td.LC_title_bar_role_ padding: 0px; } -table#LC_menubuttons_mainmenu { - width: 100%; - border: 0px; - border-spacing: 1px; - padding: 0px 1px; - margin: 0px; - border-collapse: separate; -} -table#LC_menubuttons img, table#LC_menubuttons_mainmenu img { +table#LC_menubuttons img{ border: 0px; } table#LC_top_nav td { background: $tabbg; border: 0px; font-size: small; + vertical-align:top; + padding:2px 5px 2px 5px; } table#LC_top_nav td a, div#LC_top_nav a { color: $font; @@ -4573,10 +4655,6 @@ 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; @@ -4587,19 +4665,23 @@ 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 +{ + font-size: 70%; +} + +.LC_fontsize_medium +{ + font-size: 85%; +} + +.LC_fontsize_large +{ + font-size: 120%; } .LC_menubuttons_inline_text { @@ -4624,8 +4706,8 @@ table#LC_mainmenu td.LC_mainmenu_column td.LC_menubuttons_text { color: $font; } -td.LC_menubuttons_img { -} + + .LC_current_location { font-family: $sans; @@ -4637,34 +4719,6 @@ td.LC_menubuttons_img { font-weight: bold; } -.LC_rolesmenu_is { - font-family: $sans; -} - -.LC_rolesmenu_selected { - font-family: $sans; -} - -.LC_rolesmenu_future { - font-family: $sans; -} - - -.LC_rolesmenu_will { - font-family: $sans; -} - -.LC_rolesmenu_will_not { - font-family: $sans; -} - -.LC_rolesmenu_expired { - font-family: $sans; -} - -.LC_rolesinfo { - font-family: $sans; -} .LC_dropadd_labeltext { font-family: $sans; @@ -4680,6 +4734,10 @@ td.LC_menubuttons_img { font-size: small; } +.LC_mail_functions { + font-weight: bold; +} + table.LC_aboutme_port { border: 0px; border-collapse: collapse; @@ -4712,14 +4770,22 @@ table.LC_prior_tries tr th { background-color: $data_table_head; font-size:90%; } +table.LC_data_table tr.LC_info_row > td { + background-color: #CCCCCC; + font-weight: bold; + text-align: left; +} 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; @@ -4753,7 +4819,7 @@ table.LC_nested_outer tr td.LC_subheader text-align: right; } table.LC_nested tr.LC_info_row td { - background-color: #CCC; + background-color: #CCCCCC; font-weight: bold; font-size: small; text-align: center; @@ -4763,7 +4829,7 @@ table.LC_nested_outer tr th.LC_left_item text-align: left; } table.LC_nested td { - background-color: #FFF; + background-color: #FFFFFF; font-size: small; } table.LC_nested_outer tr th.LC_right_item, @@ -4774,7 +4840,7 @@ table.LC_nested tr td.LC_right_item { } table.LC_nested tr.LC_odd_row td { - background-color: #EEE; + background-color: #EEEEEE; } table.LC_createuser { @@ -4785,7 +4851,7 @@ table.LC_createuser tr.LC_section_row td } table.LC_createuser tr.LC_info_row td { - background-color: #CCC; + background-color: #CCCCCC; font-weight: bold; text-align: center; } @@ -4804,9 +4870,6 @@ 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; @@ -4832,46 +4895,34 @@ table.LC_mail_list tr.LC_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_cstr_controls { - width: 100%; - border-collapse: collapse; +table.LC_data_table tr > td.LC_browser_file { + background: #CCFF88; } -table#LC_cstr_controls tr td { - border: 4px solid $pgbg; - padding: 4px; - text-align: center; - background: $tabbg; +table.LC_data_table tr > td.LC_browser_file_locked { + background: #FFAA99; } -table#LC_cstr_controls tr th { - border: 4px solid $pgbg; - background: $table_header; - text-align: center; - font-family: $sans; - font-size: smaller; +table.LC_data_table tr.LC_browser_folder > td { + background: #CCCCFF; } -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_roles_is { +/* background: #77FF77; */ } -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_roles_future { + background: #FFFF77; } -table.LC_data_table tr > td.LC_browser_file_obsolete { - background: #AAAAAA; +table.LC_data_table tr > td.LC_roles_will { + background: #FFAA77; } -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 > td.LC_roles_expired { + background: #FF7777; } -table.LC_data_table tr.LC_browser_folder > td { - background: #CCCCFF; +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 { @@ -4902,7 +4953,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_restrictions { +td.LC_parm_overview_parm_selectors { border: 1px solid black; border-collapse: collapse; } @@ -4974,6 +5025,7 @@ table.LC_pick_box td.LC_pick_box_title { background: $tabbg; font-weight: bold; text-align: right; + vertical-align: top; width: 184px; padding: 8px; } @@ -5154,14 +5206,6 @@ 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, @@ -5191,6 +5235,7 @@ table.LC_prior_match tr td { border: 1px solid #000000; } +td.LC_nobreak, span.LC_nobreak { white-space: nowrap; } @@ -5210,18 +5255,6 @@ table.LC_docs_documents { border-collapse: collapse; } -table.LC_docs_documents td.LC_docs_document { - border: 2px solid black; - padding: 4px; -} - -.LC_docs_course_commands div { - float: left; - border: 4px solid #AAAAAA; - padding: 4px; - background: #DDDDCC; -} - .LC_docs_entry_move { border: 0px; border-collapse: collapse; @@ -5319,23 +5352,6 @@ div.LC_clear_float_footer { } -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; @@ -5343,7 +5359,8 @@ div.LC_grade_show_user { 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; @@ -5362,7 +5379,8 @@ 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, @@ -5373,7 +5391,8 @@ div.LC_grade_assign_body { background: #FFFFFF; } span.LC_grade_check_note { - font: normal medium $sans; + font-weight: normal; + font-size: medium; display: inline; position: absolute; right: 1em; @@ -5388,7 +5407,8 @@ table.LC_scantron_action tr th { } .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, @@ -5405,12 +5425,14 @@ div.LC_edit_problem_header_edit_row { 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; @@ -5451,17 +5473,11 @@ 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; -} -fieldset#LC_mainmenu_fieldset { - margin:0px 10px 10px 0px; +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. @@ -5470,115 +5486,157 @@ fieldset#LC_mainmenu_fieldset { # --------------------------*/ a:hover, -ol.smallMenu a:hover, -ol#MenuBreadcrumbs a:hover, -ul#TabMainMenuContent a:hover, -.FormSectionClearButton input: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 0px; + padding:5px 10px 5px 20px; line-height:130%; } h2,h3,h4,h5,h6 { -margin:5px 0px 5px 0px; -line-height:130%; + margin:5px 0px 5px 0px; + padding:0px; + line-height:130%; } -.hcell{ +.LC_hcell{ padding:3px 15px 3px 15px; margin:0px; - background: $tabbg; - border-bottom:solid 1px $lg_border_color; + background-color:$tabbg; + border-bottom:solid 1px $lg_border_color; } -.noBorder { +.LC_noBorder { border:0px; } -/* -.bgLightGrey { background:URL(images/TabMenuBG.png) repeat-x left top; } -.bgLightGreyYellow {background-color:#EFECE0;} -*/ /* Main Header with discription of Person, Course, etc. */ -.HeadRight { - text-align: right; - float: right; - margin: 0px; - padding: 0px; - right:0; - position:absolute; - overflow:hidden; + +.LC_Right { + float: right; + margin: 0px; + padding: 0px; } -p { +p, .LC_ContentBox { padding: 10px; } -.FormSectionClearButton input { - background-color:transparent; +.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; +} dl,ul,div,fieldset { margin: 10px 10px 10px 0px; overflow:hidden; } -ol.smallMenu { +ol.LC_smallMenu, ol#LC_PathBreadcrumbs { margin: 0px; } -ol.smallMenu li { +ol.LC_smallMenu li { display: inline; padding: 5px 5px 0px 10px; vertical-align: top; } -ol.smallMenu li img { +ol.LC_smallMenu li img { vertical-align: bottom; } -ol.smallMenu a { +ol.LC_smallMenu a { font-size: 90%; color: RGB(80, 80, 80); text-decoration: none; } - -ol#TabMainMenuContent { - - margin: 0px 0px 10px 0px; +ol#LC_TabMainMenuContent, ul.LC_TabContent , +ul.LC_TabContentBigger { + display:block; + list-style:none; + margin: 0px; padding: 0px; } -ol#TabMainMenuContent li { +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); - border-right: solid 1px RGB(175, 175, 175); - padding: 5px 15px 5px 15px; - margin-right:4px; - line-height: 140%; + padding: 5px 10px 5px 10px; + margin-right:5px; + margin-bottom:3px; font-weight: bold; - overflow:hidden; -/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left top;*/ + background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; } -ol#TabMainMenuContent li a{ +ol#LC_TabMainMenuContent li a{ color: RGB(47, 47, 47); text-decoration: none; } - -ol#TabMainMenuContent div.columnSection { - margin-bottom: 0px; +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#MenuBreadcrumbs, ol#PathBreadcrumbs { +ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs { border-top: solid 1px RGB(255, 255, 255); height: 20px; line-height: 20px; @@ -5586,63 +5644,60 @@ ol#MenuBreadcrumbs, ol#PathBreadcrumbs { margin: 0px 0px 30px 0px; padding-left: 10px; list-style-position: inside; -/* background: RGB(211, 206, 205) URL(images/TabMenuBG.png) repeat-x left - top;*/ + background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; } -ol#MenuBreadcrumbs li, ol#PathBreadcrumbs li { -/* background: url(images/pfeil_white.png) no-repeat left center;*/ +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; overflow:hidden; } -ol#MenuBreadcrumbs li a { +ol#LC_MenuBreadcrumbs li a { text-decoration: none; font-size:90%; } -ol#PathBreadcrumbs li a{ +ol#LC_PathBreadcrumbs li a{ text-decoration:none; font-size:100%; font-weight:bold; } - -.ContentBoxSpecial +.LC_ContentBoxSpecial { border: solid 1px $lg_border_color; } -.ContentBox { - padding:10px; +.LC_ContentBoxSpecialContactInfo +{ + border: solid 1px $lg_border_color; + max-width:25%; + min-width:25%; } -.PopUp +.LC_AboutMe_Image { - padding:10px; - border-left:solid 1px $lg_border_color; - border-top:solid 1px $lg_border_color; - border-bottom:outset 1px $lg_border_color; - border-right:outset 1px $lg_border_color; - display:none; - position:absolute; - right:0; - background-color:white; - z-index:5; + float:left; + margin-right:10px; } - -dl.ListStyleClean dt { +.LC_Clear_AboutMe_Image +{ + clear:left; +} +dl.LC_ListStyleClean dt { padding-right: 5px; display: table-header-group; } -dl.ListStyleClean dd { +dl.LC_ListStyleClean dd { display: table-row; } -.ListStyleClean, -.ListStyleSimple, -.ListStyleNormal, -.ListStyleNormal_Border, -.ListStyleSpecial +.LC_ListStyleClean, +.LC_ListStyleSimple, +.LC_ListStyleNormal, +.LC_ListStyleSpecial { /*display:block; */ list-style-position: inside; @@ -5651,66 +5706,81 @@ dl.ListStyleClean dd { padding: 0px; } -.ListStyleSimple li, -.ListStyleSimple dd, -.ListStyleNormal li, -.ListStyleNormal dd, -.ListStyleSpecial li, -.ListStyleSpecial dd +.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; } -.ListStyleClean li, -.ListStyleClean dd { +.LC_ListStyleClean li, +.LC_ListStyleClean dd { padding-top: 0px; padding-bottom: 0px; } -.ListStyleSimple dd, -.ListStyleSimple li{ +.LC_ListStyleSimple dd, +.LC_ListStyleSimple li{ border-bottom: solid 1px $lg_border_color; } -.ListStyleSpecial li, -.ListStyleSpecial dd { +.LC_ListStyleSpecial li, +.LC_ListStyleSpecial dd { list-style-type: none; background-color: RGB(220, 220, 220); margin-bottom: 4px; } -table.SimpleTable { +table.LC_SimpleTable { margin:5px; border:solid 1px $lg_border_color; } -table.SimpleTable tr { +table.LC_SimpleTable tr { padding:0px; border:solid 1px $lg_border_color; } -table.SimpleTable thead{ +table.LC_SimpleTable thead{ background:rgb(220,220,220); } -div.columnSection { +div.LC_columnSection { display: block; clear: both; overflow: hidden; margin:0px; } -div.columnSection>* { +div.LC_columnSection>* { float: left; margin: 10px 20px 10px 0px; - overflow:hidden; + overflow:hidden; } -div.columnSection > .ContentBox, -div.columnSection > .ContentBoxSpecial - { - width: 400px; - + +.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 { @@ -5726,11 +5796,19 @@ div.columnSection > .ContentBoxSpecial .LC_loginpage_loginContainer { float:left; - width:60%; + width: 182px; + 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 { - margin-top:20px; margin-left:20px; float:left; width:30%; @@ -5738,24 +5816,113 @@ div.columnSection > .ContentBoxSpecial padding:10px; } +.LC_loginpage_loginDomain { + margin-right:20px; + width:20%; + float:left; + padding:10px; +} + .LC_loginpage_space { - clear:both; - margin-bottom:20px; + clear: both; + margin-bottom: 20px; border-bottom: 1px solid #CCCCCC; } -.LC_loginpage_fieldset{ - border: 1px solid #CCCCCC; - margin: 0 auto; +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_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; } -.LC_loginpage_legend{ - padding: 2px; - margin: 0px; - font-size:14px; - font-weight:bold; +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; +} END @@ -6021,10 +6188,28 @@ 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 + 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); + } + } + + #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; } @@ -6172,7 +6357,7 @@ sub simple_error_page { } sub start_data_table_empty_row { - $row_count[0]++; +# $row_count[0]++; return ''."\n";; } @@ -6786,21 +6971,37 @@ sub default_quota { ['quotas'],$udom); if (ref($quotahash{'quotas'}) eq 'HASH') { if ($inststatus ne '') { - my @statuses = split(/:/,$inststatus); + my @statuses = map { &unescape($_); } split(/:/,$inststatus); foreach my $item (@statuses) { - if ($quotahash{'quotas'}{$item} ne '') { - if ($defquota eq '') { - $defquota = $quotahash{'quotas'}{$item}; - $settingstatus = $item; - } elsif ($quotahash{'quotas'}{$item} > $defquota) { - $defquota = $quotahash{'quotas'}{$item}; - $settingstatus = $item; + if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') { + if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') { + if ($defquota eq '') { + $defquota = $quotahash{'quotas'}{'defaultquota'}{$item}; + $settingstatus = $item; + } elsif ($quotahash{'quotas'}{'defaultquota'}{$item} > $defquota) { + $defquota = $quotahash{'quotas'}{'defaultquota'}{$item}; + $settingstatus = $item; + } + } + } else { + if ($quotahash{'quotas'}{$item} ne '') { + if ($defquota eq '') { + $defquota = $quotahash{'quotas'}{$item}; + $settingstatus = $item; + } elsif ($quotahash{'quotas'}{$item} > $defquota) { + $defquota = $quotahash{'quotas'}{$item}; + $settingstatus = $item; + } } } } } if ($defquota eq '') { - $defquota = $quotahash{'quotas'}{'default'}; + if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') { + $defquota = $quotahash{'quotas'}{'defaultquota'}{'default'}; + } else { + $defquota = $quotahash{'quotas'}{'default'}; + } $settingstatus = 'default'; } } else { @@ -7236,6 +7437,7 @@ sub personal_data_fieldtitles { middlename => 'Middle Name', generation => 'Generation', gen => 'Generation', + inststatus => 'Affiliation', ); return %fieldtitles; } @@ -7596,9 +7798,9 @@ sub upload_embedded { ' '. $orig_uploaded_filename.'
'; } else { - $output .= ''. + $output .= ''. &mt('View embedded file: [_1]',''. - $orig_uploaded_filename.'').'
'; + $orig_uploaded_filename.'').'
'; } } close($fh); @@ -7857,7 +8059,7 @@ sub upfile_select_html { # xml => &mt('HTML/XML'), ); my $Str = ''. - '
Type: '; foreach my $type (sort(keys(%Types))) { $Str .= '\n"; } @@ -8601,9 +8803,10 @@ sub restore_settings { =item * &build_recipient_list() -Build recipient lists for three types of e-mail: -(a) Error Reports, (b) Package Updates, (c) Help requests, generated by -lonerrorhandler.pm, CHECKRPMS and lonsupportreq.pm respectively. +Build recipient lists for four 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. Inputs: defmail (scalar - email address of default recipient), @@ -8627,17 +8830,21 @@ sub build_recipient_list { my %domconfig = &Apache::lonnet::get_dom('configuration',['contacts'],$defdom); if (ref($domconfig{'contacts'}) eq 'HASH') { - if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') { - my @contacts = ('adminemail','supportemail'); - foreach my $item (@contacts) { - if ($domconfig{'contacts'}{$mailing}{$item}) { - my $addr = $domconfig{'contacts'}{$item}; - if (!grep(/^\Q$addr\E$/,@recipients)) { - push(@recipients,$addr); + if (exists($domconfig{'contacts'}{$mailing})) { + if (ref($domconfig{'contacts'}{$mailing}) eq 'HASH') { + my @contacts = ('adminemail','supportemail'); + foreach my $item (@contacts) { + if ($domconfig{'contacts'}{$mailing}{$item}) { + my $addr = $domconfig{'contacts'}{$item}; + if (!grep(/^\Q$addr\E$/,@recipients)) { + push(@recipients,$addr); + } } + $otheremails = $domconfig{'contacts'}{$mailing}{'others'}; } - $otheremails = $domconfig{'contacts'}{$mailing}{'others'}; } + } elsif ($origmail ne '') { + push(@recipients,$origmail); } } elsif ($origmail ne '') { push(@recipients,$origmail); @@ -8908,7 +9115,7 @@ sub assign_categories_table { my $checked = ''; if (@currcategories > 0) { if (grep(/^\Q$item\E$/,@currcategories)) { - $checked = ' checked="checked" '; + $checked = ' checked="checked"'; } } $output .= '
$text"; + "$text"; } # Add the graphic @@ -1629,7 +1640,7 @@ sub multiple_select_form { $size = scalar(keys(%$hash)); } } - $output.="\n'; my @order; if (ref($order) eq 'ARRAY') { @order = @{$order}; @@ -1686,17 +1697,17 @@ sub select_form { sub display_filter { if (!$env{'form.show'}) { $env{'form.show'}=10; } if (!$env{'form.displayfilter'}) { $env{'form.displayfilter'}='currentfolder'; } - return ' '. + ' '. &mt('Filter [_1]', &select_form($env{'form.displayfilter'}, 'displayfilter', ('currentfolder' => 'Current folder/page', 'containing' => 'Containing phrase', 'none' => 'None'))). - ''; + ''; } sub gradeleveldescription { @@ -1740,7 +1751,7 @@ sub select_level_form { =pod -=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc) +=item * &select_dom_form($defdom,$name,$includeempty,$showdomdesc,$autosubmit) Returns a string containing a \n"; + my $selectdomain = "
'. @@ -8974,7 +9181,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"'; } } } @@ -9281,7 +9488,9 @@ sub construct_course { 'policy.email', 'comment.email', 'pch.users.denied', - 'plc.users.denied'], + 'plc.users.denied', + 'hidefromcat', + 'categories'], $$crsudom,$$crsunum); } @@ -9739,6 +9948,17 @@ sub init_user_environment { } } + foreach my $tool ('aboutme','blog','portfolio') { + $userenv{'availabletools.'.$tool} = + &Apache::lonnet::usertools_access($username,$domain,$tool,'reload'); + } + + foreach my $crstype ('official','unofficial') { + $userenv{'canrequest.'.$crstype} = + &Apache::lonnet::usertools_access($username,$domain,$crstype, + 'reload','requestcourses'); + } + $env{'user.environment'} = "$lonids/$cookie.id"; if (tie(my %disk_env,'GDBM_File',"$lonids/$cookie.id", @@ -9751,8 +9971,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: '.$!; } } @@ -9777,7 +9997,7 @@ sub _add_to_env { # --- Get the symbolic name of a problem and the url sub get_symb { my ($request,$silent) = @_; - (my $url=$env{'form.url'}) =~ s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; + (my $url=$env{'form.url'}) =~ s-^https?\://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; my $symb=($env{'form.symb'} ne '' ? $env{'form.symb'} : (&Apache::lonnet::symbread($url))); if ($symb eq '') { if (!$silent) { @@ -9804,11 +10024,13 @@ sub get_annotation { } sub clean_symb { - my ($symb) = @_; + my ($symb,$delete_enc) = @_; &Apache::lonenc::check_decrypt(\$symb); my $enc = $env{'request.enc'}; - delete($env{'request.enc'}); + if ($delete_enc) { + delete($env{'request.enc'}); + } return ($symb,$enc); }