--- loncom/interface/loncommon.pm 2009/05/19 22:52:10 1.822 +++ loncom/interface/loncommon.pm 2009/05/30 21:02:33 1.834 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.822 2009/05/19 22:52:10 bisitz Exp $ +# $Id: loncommon.pm,v 1.834 2009/05/30 21:02:33 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -407,6 +407,7 @@ sub studentbrowser_javascript { ) { return ''; } return (<<'ENDSTDBRW'); ENDSTDBRW } @@ -461,6 +463,7 @@ sub selectstudent_link { sub authorbrowser_javascript { return <<"ENDAUTHORBRW"; ENDAUTHORBRW } @@ -482,6 +486,7 @@ sub coursebrowser_javascript { my $crs_or_grp_alert = &mt('Please select the type of LON-CAPA entity - Course or Group - for which you wish to add/modify a user role'); my $output = ' '; return $output; } @@ -829,6 +835,7 @@ sub linked_select_forms { # output the javascript to do the changing my $result = ''; $result.=' END # output the initial values for the selection lists @@ -1027,7 +1035,9 @@ 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; @@ -1394,6 +1404,7 @@ sub resize_textarea_js { my $geometry = &viewport_geometry_js(); return <<"RESIZE"; RESIZE @@ -2299,7 +2311,7 @@ sub authform_internal{ $result = &mt ('[_1] Internally authenticated (with initial password [_2])', ''.$autharg); - $result.="'; + $result.="'; return $result; } @@ -4171,6 +4183,34 @@ sub designparm { ############################################## =pod +=item * &authorspace() + +Inputs: ./. + +Returns: Path to the Construction Space of the current user's + accessed author space + The author space will be that of the current user + when accessing the own author space + and that of the co-author/assistent co-author + when accessing the co-author's/assistent co-author's + space + +=cut + +sub authorspace { + my $caname = ''; + if ($env{'request.role'} =~ /^ca|^aa/) { + (undef,$caname) = + ($env{'request.role'}=~/($match_domain)\/($match_username)$/); + } else { + $caname = $env{'user.name'}; + } + return '/priv/'.$caname.'/'; +} + +############################################## +=pod + =item * &head_subbox() Inputs: $content (contains HTML code with page functions, etc.) @@ -4262,10 +4302,6 @@ Inputs: =item * $forcereg, if page should register as content page (relevant for text interface only) -=item * $customtitle, alternate text to use instead of $title - in the title box that appears, this text - is not auto translated like the $title is - =item * $no_nav_bar, if true, keep the 'what is this' info but remove the navigational links @@ -4290,7 +4326,7 @@ other decorations will be returned. =cut sub bodytag { - my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle, + my ($title,$function,$addentries,$bodyonly,$domain,$forcereg, $no_nav_bar,$bgcolor,$no_inline_link,$args)=@_; if (!$args->{'no_auto_mt_title'}) { $title = &mt($title); } @@ -4361,9 +4397,6 @@ $realm  ENDROLE my $titleinfo = '

'.$title.'

'; - if ($customtitle) { - $titleinfo = $customtitle; - } # # Extra info if you are the DC my $dc_info = ''; @@ -4382,7 +4415,7 @@ ENDROLE $forcereg=1; } - if (!$customtitle && $env{'request.state'} eq 'construct') { + if ($env{'request.state'} eq 'construct') { $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls } @@ -4668,7 +4701,6 @@ div.LC_confirm_box .LC_success img { .LC_disc_action_links_bar { background: $tabbg; - font-family: $sans; border: none; margin: 4px; } @@ -4726,7 +4758,6 @@ table#LC_title_bar.LC_with_remote { border-width: $border; background: $pgbg; color: $fontmenu; - font-family: $sans; border-collapse: collapse; padding: 0; margin: 0; @@ -4736,7 +4767,6 @@ table.LC_docs_path { width: 100%; border: 0; background: $pgbg; - font-family: $sans; border-collapse: collapse; padding: 0; } @@ -4748,7 +4778,7 @@ table#LC_title_bar td { table#LC_title_bar .LC_title_bar_who { background: $tabbg; color: $fontmenu; - font: small $sans; + font: small; text-align: right; margin: 0; } @@ -4765,10 +4795,6 @@ table#LC_title_bar div.LC_title_bar_real margin: 0; } -span.LC_metadata { - font-family: $sans; -} - table#LC_menubuttons img{ border: none; } @@ -4784,7 +4810,6 @@ table#LC_top_nav td { table#LC_top_nav td a, div#LC_top_nav a { color: $font; - font-family: $sans; } table#LC_top_nav td.LC_top_nav_logo { @@ -4813,7 +4838,6 @@ table.LC_breadcrumbs td, table.LC_docs_path td { background: $tabbg; color: $fontmenu; - font-family: $sans; font-size: smaller; } @@ -4821,7 +4845,6 @@ table.LC_breadcrumbs td.LC_breadcrumbs_c table.LC_docs_path td.LC_docs_path_component { background: $tabbg; color: $fontmenu; - font-family: $sans; font-size: larger; text-align: right; } @@ -4866,7 +4889,6 @@ table#LC_mainmenu td.LC_mainmenu_column .LC_menubuttons_inline_text { color: $font; - font-family: $sans; font-size: 90%; padding-left:3px; } @@ -4878,7 +4900,6 @@ table#LC_mainmenu td.LC_mainmenu_column .LC_menubuttons_category { color: $font; background: $pgbg; - font-family: $sans; font-size: larger; font-weight: bold; } @@ -4888,21 +4909,14 @@ td.LC_menubuttons_text { } .LC_current_location { - font-family: $sans; background: $tabbg; } .LC_new_mail { - font-family: $sans; background: $tabbg; font-weight: bold; } -.LC_preferences_labeltext { - font-family: $sans; - text-align: right; -} - .LC_roleslog_note { font-size: small; } @@ -5158,7 +5172,6 @@ span.LC_current_location { span.LC_parm_menu_item { font-size: larger; - font-family: $sans; } span.LC_parm_scope_all { @@ -5401,7 +5414,6 @@ table.LC_notify_front_page td { } .LC_topic_bar { - font-family: $sans; font-weight: bold; width: 100%; background: $tabbg; @@ -5430,17 +5442,30 @@ table.LC_status_selector td { div.LC_feedback_link { clear: both; - background: white; + background: $sidebg; width: 100%; + padding-bottom: 10px; + border: 1px $tabbg solid; + height: 22px; + line-height: 22px; + padding-top: 5px; +} + +div.LC_feedback_link img { + height: 22px; +} + +div.LC_feedback_link a{ + text-decoration: none; } span.LC_feedback_link { - background: $feedback_link_bg; + //background: $feedback_link_bg; font-size: larger; } span.LC_message_link { - background: $feedback_link_bg; + //background: $feedback_link_bg; font-size: larger; position: absolute; right: 1em; @@ -5458,14 +5483,12 @@ table.LC_prior_tries td { .LC_answer_correct { background: lightgreen; - font-family: $sans; color: darkgreen; padding: 6px; } .LC_answer_charged_try { background: #FFAAAA; - font-family: $sans; color: darkred; padding: 6px; } @@ -5474,28 +5497,24 @@ table.LC_prior_tries td { .LC_answer_no_grade, .LC_answer_late { background: lightyellow; - font-family: $sans; color: black; padding: 6px; } .LC_answer_previous { 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; } @@ -5733,12 +5752,6 @@ 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-weight: bold; font-size: larger; @@ -5794,7 +5807,6 @@ table#LC_mainmenu td.LC_mainmenu_col_fie .LC_mainmenu_fieldset_category { color: $font; background: $pgbg; - font-family: $sans; font-size: small; font-weight: bold; } @@ -5999,7 +6011,7 @@ ul.LC_TabContentBigger li a { ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs, -ul.LC_CourseBreadcrumbs { +ul#LC_CourseBreadcrumbs { padding-left: 10px; margin: 0; list-style-position: inside; @@ -6007,13 +6019,14 @@ ul.LC_CourseBreadcrumbs { ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li, -ul.LC_CourseBreadcrumbs li { +ul#LC_CourseBreadcrumbs li { display: inline; padding: 0 0 0 10px; overflow:hidden; } -ol#LC_MenuBreadcrumbs li a, ul.LC_CourseBreadcrumbs li a { +ol#LC_MenuBreadcrumbs li a, +ul#LC_CourseBreadcrumbs li a { text-decoration: none; font-size:90%; } @@ -6032,12 +6045,6 @@ ol#LC_PathBreadcrumbs li a { 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; @@ -6124,19 +6131,6 @@ div.LC_columnSection>* { 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: 0; @@ -6503,9 +6497,6 @@ $args - additional optional args support a html attribute force_register -> if is true will turn on the &bodytag() $forcereg arg - body_title -> alternate text to use instead of $title - in the title box that appears, this text - is not auto translated like the $title is frameset -> if true will start with a rather than skip_phases -> hash ref of @@ -6549,16 +6540,15 @@ sub start_page { my $attr_string = &make_attr_string($args->{'force_register'}, $args->{'add_entries'}); $result .= "\n\n"; - } else { - $result .= - &bodytag($title, - $args->{'function'}, $args->{'add_entries'}, - $args->{'only_body'}, $args->{'domain'}, - $args->{'force_register'}, $args->{'body_title'}, - $args->{'no_nav_bar'}, $args->{'bgcolor'}, - $args->{'no_inline_link'}, - $args); - } + } else { + $result .= + &bodytag($title, + $args->{'function'}, $args->{'add_entries'}, + $args->{'only_body'}, $args->{'domain'}, + $args->{'force_register'}, $args->{'no_nav_bar'}, + $args->{'bgcolor'}, $args->{'no_inline_link'}, + $args); + } } if ($args->{'js_ready'}) { @@ -6830,7 +6820,7 @@ sub get_users_function { if ($env{'request.role'}=~/^(su|dc|ad|li)/) { $function='admin'; } - if (($env{'request.role'}=~/^(au|ca)/) || + if (($env{'request.role'}=~/^(au|ca|aa)/) || ($ENV{'REQUEST_URI'}=~/^(\/priv|\~)/)) { $function='author'; } @@ -7616,6 +7606,7 @@ ENDSCRIPT my $output = <<"END_BLOCK"; $new_user_create 500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.