X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FHeader;h=1cc1915d77bf6473fa113de7e1907b56ab1f078a;hb=44dd00a3ff974a17999e86e64488e996edc71e3c;hp=953efcb2273af9110b3b0549bb528ff3091fdc3b;hpb=b4b0c7e72d7eaee2fbfc7022022c9698323203dd;p=freeside.git diff --git a/rt/share/html/Elements/Header b/rt/share/html/Elements/Header index 953efcb22..1cc1915d7 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-2019 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,76 +43,136 @@ %# 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_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'; - -<%$Title%> +my $id = $m->request_comp->path; +$id =~ s|^/||g; +$id =~ s|/|-|g; +$id =~ s|\.html$||g; +$id =~ s|index$||g + if $id ne 'index'; +$id =~ s|-$||g; +my $style = $session{'CurrentUser'} + ? $session{'CurrentUser'}->Stylesheet + : RT->Config->Get('WebDefaultStylesheet'); -% if ($Refresh && $Refresh =~ /^(\d+)/ && $1 > 0) { - -% } +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; -% for (keys %{$LinkRel || {}}) { - -% } +if (RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'})) { + push @{$ARGS{'BodyClass'}}, 'sidebyside'; +} -% if ( $RSSAutoDiscovery ) { - -% } +my $head = ''; -% if ($JavaScript) { -<& HeaderJavascript, focus => $Focus, onload => $onload &> -% } +if ($Refresh && $Refresh =~ /^(\d+)/ && $1 > 0) { + my $URL = $m->notes->{RefreshURL}; $URL = $URL ? ";URL=$URL" : ""; + $head .= qq( ); +} -% my $stylesheet_plugin = "/NoAuth/css/". RT->Config->Get( 'WebDefaultStylesheet', $session{'CurrentUser'} )."/InHeader"; -% if ($m->comp_exists($stylesheet_plugin) ) { -<& $stylesheet_plugin &> -% } -% $m->callback( %ARGS, CallbackName => 'Head' ); +my $WebPath = RT->Config->Get('WebPath'); +my $WebImagesURL = RT->Config->Get('WebImagesURL'); +my $squished = RT->Config->Get('DevelMode') ? '' : '-squished'; - - > +if ( $JavaScript ) { + $head .= $m->scomp('/Elements/JavascriptConfig'); +} -% if ($ShowBar) { -<& /Elements/Logo, %ARGS &> +for my $cssfile ( @css_files ) { + $head .= qq(\n); +} -
- <& /Elements/PersonalQuickbar, %ARGS &> -% } +for (keys %{$LinkRel || {}}) { + $head .= qq('; +} +$head .= qq(\n); -<%INIT> -$r->headers_out->{'Pragma'} = 'no-cache'; -$r->headers_out->{'Cache-control'} = 'no-cache'; +if ( $RSSAutoDiscovery ) { + $head .= qq(); +} -my $id = $m->request_comp->path; -$id =~ s|^/||g; -$id =~ s|/|-|g; -$id =~ s|\.html$||g; -$id =~ s|index$||g - if $id ne 'index'; -$id =~ s|-$||g; - +if ($JavaScript) { + $head .= $m->scomp('/Elements/HeaderJavascript', focus => $Focus, onload => $onload, RichText => $RichText ); + +$head .= q[ + +]; + +} +$head .= $m->callback( + %ARGS, + CallbackName => 'Head', + ReturnComponentOutput => 1, +); + +#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