diff options
Diffstat (limited to 'rt/share/html/Elements/Header')
-rwxr-xr-x | rt/share/html/Elements/Header | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/rt/share/html/Elements/Header b/rt/share/html/Elements/Header index 664da06b0..1e7eb3556 100755 --- a/rt/share/html/Elements/Header +++ b/rt/share/html/Elements/Header @@ -56,8 +56,6 @@ &> <%INIT> #for "Site CSS from theme editor" below -#use Scalar::Util qw(blessed); - $r->headers_out->{'Pragma'} = 'no-cache'; $r->headers_out->{'Cache-control'} = 'no-cache'; @@ -75,17 +73,23 @@ my $style = $session{'CurrentUser'} my @css_files; if ( RT->Config->Get('DevelMode') ) { - @css_files = ( "$style/main.css", RT->Config->Get('CSSFiles' ) ); + @css_files = map { "/static/css/$_" } "$style/main.css", RT->Config->Get('CSSFiles'); } else { my $key = RT::Interface::Web::SquishedCSS( $style )->Key; - @css_files = "$style-squished-$key.css"; + @css_files = "/NoAuth/css/$style/squished-$key.css"; } -my $head = ''; +# We use BodyClass in its $ARGS form so that callbacks have a chance to +# massage it +push @{$ARGS{'BodyClass'}}, lc $style; -#XXX $head .= <& /Elements/Framekiller &>; +if (RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'})) { + push @{$ARGS{'BodyClass'}}, 'sidebyside'; +} + +my $head = ''; if ($Refresh && $Refresh =~ /^(\d+)/ && $1 > 0) { my $URL = $m->notes->{RefreshURL}; $URL = $URL ? ";URL=$URL" : ""; @@ -96,15 +100,17 @@ my $WebPath = RT->Config->Get('WebPath'); my $WebImagesURL = RT->Config->Get('WebImagesURL'); my $squished = RT->Config->Get('DevelMode') ? '' : '-squished'; -$head .= qq(<link rel="shortcut icon" href="${WebImagesURL}favicon.png" type="image/png" />\n); -for my $cssfile ( @css_files ) { - $head .= qq(<link rel="stylesheet" href="$WebPath/NoAuth/css/$cssfile" type="text/css" media="all" />\n); +if ( $JavaScript ) { + $head .= $m->scomp('JavascriptConfig'); } -$head .= qq(<link rel="stylesheet" href="$WebPath/NoAuth/css/print.css" type="text/css" media="print" />\n); + +for my $cssfile ( @css_files ) { + $head .= qq(<link rel="stylesheet" href="$WebPath$cssfile" type="text/css" media="all" />\n); for (keys %{$LinkRel || {}}) { $head .= qq(<link rel="$_" href="$WebPath) . $LinkRel->{$_} . '" />'; } +$head .= qq(<link rel="shortcut icon" href="${WebImagesURL}favicon.png" type="image/png" />\n); if ( $RSSAutoDiscovery ) { $head .= qq(<link rel="alternate" href="$RSSAutoDiscovery" type="application/rss+xml" title="RSS RT Search" />); @@ -112,29 +118,23 @@ if ( $RSSAutoDiscovery ) { if ($JavaScript) { $head .= $m->scomp('HeaderJavascript', focus => $Focus, onload => $onload, RichText => $RichText ); -} -if ($JavaScript) { my $stylesheet_plugin = "/NoAuth/css/$style/InHeader"; if ($m->comp_exists($stylesheet_plugin) ) { $head .= $m->scomp($stylesheet_plugin); } } -#<!-- Site CSS from theme editor --> -#<style type="text/css" media="all" id="sitecss"> -#%# Header is used when there isn't a database (such as in the Installer) which means there is no -#%# RT::System object, nor are there attributes. -#% if (blessed(RT->System) and my $attr = RT->System->FirstAttribute('UserCSS')) { -#<% $attr->Content |n %> -#% } -#</style> - # $m->callback( %ARGS, CallbackName => 'Head' ); $head .= $m->scomp( '/Elements/Callback', _CallbackName => 'Head', %ARGS ); -my $sbs = RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'}) ? ' sidebyside' : ''; -my $etc = qq[ class="\L$style$sbs" ]; +if ($JavaScript) { + $head .= $m->scomp('HeaderJavascript', focus => $Focus, onload => $onload, RichText => $RichText ); +} + +#XXX $head .= <& /Elements/Framekiller &>; + +my $etc = ' class="'. join( '',@{$ARGS{'BodyClass'}}). '" '; $etc .= qq[ id="comp-$id"] if $id; </%INIT> @@ -143,15 +143,13 @@ $etc .= qq[ id="comp-$id"] if $id; #$Focus => 'focus' $Focus => '' $Title => 'RT' -$Code => undef $Refresh => 0 -$Why => undef $ShowBar => 1 $URL => undef $RSSAutoDiscovery => undef $onload => undef $LinkRel => undef -$JavaScript => 1 $SkipDoctype => 0 $RichText => 1 +$BodyClass => undef </%ARGS> |