X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FHeader;h=58136c584d1e3c9aeb5febb0e276fa609924608d;hp=72e3e72209d0e3c635418bdb2ef5fa744faefe59;hb=01721976fa3324f41a3093cda68bc38a7eec5ff5;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c diff --git a/rt/share/html/Elements/Header b/rt/share/html/Elements/Header index 72e3e7220..58136c584 100755 --- a/rt/share/html/Elements/Header +++ b/rt/share/html/Elements/Header @@ -1,40 +1,40 @@ %# BEGIN BPS TAGGED BLOCK {{{ -%# +%# %# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -%# -%# +%# +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC +%# +%# %# (Except where explicitly superseded by other copyright notices) -%# -%# +%# +%# %# LICENSE: -%# +%# %# This work is made available to you under the terms of Version 2 of %# the GNU General Public License. A copy of that license should have %# been provided with this software, but in any event can be snarfed %# from www.gnu.org. -%# +%# %# This work is distributed in the hope that it will be useful, but %# WITHOUT ANY WARRANTY; without even the implied warranty of %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. -%# +%# %# You should have received a copy of the GNU General Public License %# along with this program; if not, write to the Free Software %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA %# 02110-1301 or visit their web page on the internet at %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -%# -%# +%# +%# %# CONTRIBUTION SUBMISSION POLICY: -%# +%# %# (The following paragraph is not intended to limit the rights granted %# to you to modify and distribute this software under the terms of %# the GNU General Public License and is only of importance to you if %# you choose to contribute your changes and enhancements to the %# community by submitting them to Best Practical Solutions, LLC.) -%# +%# %# By intentionally submitting any modifications, corrections or %# derivatives to this work, or any other work intended for use with %# Request Tracker, to Best Practical Solutions, LLC, you confirm that @@ -43,17 +43,31 @@ %# royalty-free, perpetual, license to use, copy, create derivative %# works based on those contributions, and sublicense and distribute %# those contributions and any derivatives thereof. -%# +%# %# END BPS TAGGED BLOCK }}} +% if ( $Popup ) { +<& /elements/header-popup.html, { + 'title_noescape' => $Title, + 'head' => $head, + 'etc' => $etc, + 'nobr' => 1, + #'nocss' => 1, + 'no_jquery' => $JavaScript, + } +&> +% } else { <& /elements/header.html, { - 'title' => $Title, - 'head' => $head, - 'etc' => $etc, - 'nobr' => 1, - 'nocss' => 1, + 'title_noescape' => $Title, + 'head' => $head, + 'etc' => $etc, + 'nobr' => 1, + 'nocss' => 1, + 'no_jquery' => $JavaScript, } &> +% } <%INIT> +#for "Site CSS from theme editor" below $r->headers_out->{'Pragma'} = 'no-cache'; $r->headers_out->{'Cache-control'} = 'no-cache'; @@ -65,60 +79,100 @@ $id =~ s|index$||g if $id ne 'index'; $id =~ s|-$||g; +my $style = $session{'CurrentUser'} + ? $session{'CurrentUser'}->Stylesheet + : RT->Config->Get('WebDefaultStylesheet'); + +my @css_files; +if ( RT->Config->Get('DevelMode') ) { + @css_files = map { "/static/css/$_" } "$style/main.css", RT->Config->Get('CSSFiles'); +} +else { + my $key = + RT::Interface::Web::SquishedCSS( $style )->Key; + @css_files = "/NoAuth/css/$style/squished-$key.css"; +} + +# We use BodyClass in its $ARGS form so that callbacks have a chance to +# massage it +push @{$ARGS{'BodyClass'}}, lc $style; + +if (RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'})) { + push @{$ARGS{'BodyClass'}}, 'sidebyside'; +} + my $head = ''; if ($Refresh && $Refresh =~ /^(\d+)/ && $1 > 0) { - $head .= ''; + my $URL = $m->notes->{RefreshURL}; $URL = $URL ? ";URL=$URL" : ""; + $head .= qq( ); } my $WebPath = RT->Config->Get('WebPath'); my $WebImagesURL = RT->Config->Get('WebImagesURL'); -my $WebDefaultStylesheet = - RT->Config->Get('WebDefaultStylesheet', $session{'CurrentUser'}); my $squished = RT->Config->Get('DevelMode') ? '' : '-squished'; -$head .= < - - -END +if ( $JavaScript ) { + $head .= $m->scomp('/Elements/JavascriptConfig'); +} + +for my $cssfile ( @css_files ) { + $head .= qq(\n); +} for (keys %{$LinkRel || {}}) { $head .= qq('; } +$head .= qq(\n); if ( $RSSAutoDiscovery ) { $head .= qq(); } if ($JavaScript) { - $head .= $m->scomp('HeaderJavascript', focus => $Focus, onload => $onload); -} + $head .= $m->scomp('/Elements/HeaderJavascript', focus => $Focus, onload => $onload, RichText => $RichText ); + +$head .= q[ + +]; -my $stylesheet_plugin = "/NoAuth/css/$WebDefaultStylesheet/InHeader"; -if ($m->comp_exists($stylesheet_plugin) ) { - $head .= $m->scomp($stylesheet_plugin); } -# $m->callback( %ARGS, CallbackName => 'Head' ); -$head .= $m->scomp( '/Elements/Callback', _CallbackName => 'Head', %ARGS ); +$head .= $m->callback( + %ARGS, + CallbackName => 'Head', + ReturnComponentOutput => 1, +); -my $etc = ''; +#XXX $head .= <& /Elements/Framekiller &>; + +my $etc = ' class="'. join( '',@{$ARGS{'BodyClass'}}). '" '; $etc .= qq[ id="comp-$id"] if $id; - <%ARGS> #$Focus => 'focus' $Focus => '' $Title => 'RT' -$Code => undef $Refresh => 0 -$Why => undef $ShowBar => 1 $URL => undef $RSSAutoDiscovery => undef $onload => undef $LinkRel => undef +$SkipDoctype => 0 +$RichText => 1 +$BodyClass => undef $JavaScript => 1 +$Popup => 0