[%# The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Bugzilla Bug Tracking System. # # The Initial Developer of the Original Code is Netscape Communications # Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): Gervase Markham # Vaskin Kissoyan # Vitaly Harisov # Svetlana Harisova #%] [%# INTERFACE: # (All the below interface elements are optional.) # title: string. Page title. # header: string. Main page header. # subheader: string. Page subheader. # header_addl_info: string. Additional header information. # bodyclasses: array of extra CSS classes for the # onload: string. JavaScript code to run when the page finishes loading. # javascript: string. Javascript to go in the header. # javascript_urls: list. List of URLs to Javascript. # style: string. CSS style. # style_urls: list. List of URLs to CSS style sheets. # message: string. A message to display to the user. May contain HTML. # atomlink: Atom link URL, May contain HTML #%] [% IF message %] [% PROCESS global/messages.html.tmpl %] [% END %] [% DEFAULT subheader = "" header_addl_info = "" onload = "" style_urls = [] yui = [] %] [% SET yui_css = { autocomplete => 1, calendar => 1, datatable => 1, button => 1, } %] [%# Note: This is simple dependency resolution--you can't have dependencies # that depend on each other. You have to specify all of a module's deps, # if that module is going to be specified in "yui". #%] [% SET yui_deps = { autocomplete => ['json', 'connection', 'datasource'], datatable => ['json', 'connection', 'datasource', 'element'], } %] [%# When using certain YUI modules, we need to process certain # extra JS templates. #%] [% SET yui_templates = { datatable => ['global/value-descs.js.tmpl'], } %] [%# These are JS URLs that are *always* on the page and come before # every other JS URL. #%] [% SET starting_js_urls = [ "js/yui/yahoo-dom-event/yahoo-dom-event.js", "js/yui/cookie/cookie-min.js", ] %] [%# We should be able to set the default value of the header variable # to the value of the title variable using the DEFAULT directive, # but that doesn't work if a caller sets header to the empty string # to avoid header inheriting the value of title, since DEFAULT # mistakenly treats empty strings as undefined and gives header the # value of title anyway. To get around that problem we explicitly # set header's default value here only if it is undefined. %] [% IF !header.defined %][% header = title %][% END %] [% Hook.process("start") %] [% title %] [% IF Param('utf8') %] [% END %] [%# Migration note: contents of the old Param 'headerhtml' would go here %] [% PROCESS "global/site-navigation.html.tmpl" %] [% PROCESS 'global/setting-descs.none.tmpl' %] [% SET yui = yui_resolve_deps(yui, yui_deps) %] [% SET css_sets = css_files(style_urls, yui, yui_css) %] [%# CSS cascade, part 1: Standard Bugzilla stylesheet set (persistent). # Always present. #%] [%# This allows people to switch back to the "Classic" skin if they # are in another skin. #%] [% FOREACH style_url = css_sets.standard %] [% PROCESS format_css_link css_set_name = 'standard' %] [% END %] [%# CSS cascade, part 2 & 3: Third-party stylesheet set (selected and # selectable). All third-party skins are present as alternate # stylesheets, even if they are not currently in use. #%] [% FOREACH style_url = css_sets.skin %] [% PROCESS format_css_link css_set_name = user.settings.skin.value %] [% END %] [% FOREACH alternate_skin = css_sets.alternate.keys %] [% FOREACH style_url = css_sets.alternate.$alternate_skin %] [% PROCESS format_css_link css_set_name = alternate_skin %] [% END %] [% END %] [%# CSS cascade, part 4: page-specific styles. #%] [% IF style %] [% END %] [%# CSS cascade, part 5: Custom Bugzilla stylesheet set (persistent). # Always present. Site administrators may override all other style # definitions, including skins, using custom stylesheets. #%] [% FOREACH style_url = css_sets.custom %] [% PROCESS format_css_link css_set_name = 'standard' %] [% END %] [%# YUI Scripts %] [% FOREACH yui_name = yui %] [% starting_js_urls.push("js/yui/$yui_name/${yui_name}-min.js") %] [% END %] [% starting_js_urls.push('js/global.js') %] [% FOREACH javascript_url = starting_js_urls %] [% PROCESS format_js_link %] [% END %] [% FOREACH javascript_url = javascript_urls %] [% PROCESS format_js_link %] [% END %] [%# this puts the live bookmark up on firefox for the Atom feed %] [% IF atomlink %] [% END %] [%# Required for the 'Autodiscovery' feature in Firefox 2 and IE 7. %] [% Hook.process("additional_header") %] [%# Migration note: contents of the old Param 'bodyhtml' go in the body tag, # but set the onload attribute in the DEFAULT directive above. #%] [%# Migration note: the following file corresponds to the old Param # 'bannerhtml' #%] [%# header %]
[% IF Param('announcehtml') %] [% Param('announcehtml') FILTER none %] [% END %] [% IF message %]
[% message %]
[% END %] [% BLOCK format_css_link %] [% IF style_url.match('/IE-fixes\.css') %] ' IF style_url.match('/IE-fixes\.css') %] [% END %] [% BLOCK format_js_link %] [% END %]