diff options
author | wurblzap%gmail.com <> | 2006-09-07 05:45:29 +0200 |
---|---|---|
committer | wurblzap%gmail.com <> | 2006-09-07 05:45:29 +0200 |
commit | eb8c60397f360310be290d41a5c15c0c917a1891 (patch) | |
tree | 805ff1ee07d0d1dc360712ddf5f07eb69465c008 /template/en/default/global | |
parent | 707f26646c78879d73639abfc29e8b9eb1f8f0f1 (diff) | |
download | bugzilla-eb8c60397f360310be290d41a5c15c0c917a1891.tar.gz bugzilla-eb8c60397f360310be290d41a5c15c0c917a1891.tar.xz |
Bug 322693: Create a mechanism to manage multiple custom skins.
Patch by Marc Schumann <wurblzap@gmail.com>;
r=myk,mkanat; a=myk
Diffstat (limited to 'template/en/default/global')
-rw-r--r-- | template/en/default/global/code-error.html.tmpl | 4 | ||||
-rw-r--r-- | template/en/default/global/header.html.tmpl | 85 | ||||
-rw-r--r-- | template/en/default/global/setting-descs.none.tmpl | 2 |
3 files changed, 82 insertions, 9 deletions
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index a66524355..e62ef7abc 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -330,6 +330,10 @@ option. Setting names must begin with a letter, and contain only letters, digits, or the symbols '_', '-', '.', or ':'. + [% ELSIF error == "setting_subclass_invalid" %] + There is no such Setting subclass as + <code>[% subclass FILTER html %]</code>. + [% ELSIF error == "setting_value_invalid" %] The value "<code>[% value FILTER html %]</code>" is not in the list of legal values for the <em>[% name FILTER html %]</em> setting. diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl index e4a5f4954..026698426 100644 --- a/template/en/default/global/header.html.tmpl +++ b/template/en/default/global/header.html.tmpl @@ -46,6 +46,7 @@ h2 = "" h3 = "" onload = "" + style_urls = [] %] [%# We should be able to set the default value of the h1 variable @@ -67,6 +68,8 @@ [% PROCESS "global/site-navigation.html.tmpl" %] + [% PROCESS 'global/setting-descs.none.tmpl' %] + [% IF javascript %] <script type="text/javascript"> [% javascript %] @@ -81,22 +84,86 @@ [%+ INCLUDE "global/help-header.html.tmpl" %] - <link href="skins/standard/global.css" rel="stylesheet" type="text/css"> - <link href="skins/custom/global.css" rel="stylesheet" type="text/css"> + [%# Set up the skin CSS cascade: + # 1. Standard Bugzilla stylesheet set (persistent) + # 2. Standard Bugzilla stylesheet set (selectable) + # 3. All third-party "skin" stylesheet sets (selectable) + # 4. Page-specific styles + # 5. Custom Bugzilla stylesheet set (persistent) + # "Selectable" skin file sets may be either preferred or alternate. + # Exactly one is preferred, determined by the "skin" user preference. + #%] + [% IF user.settings.skin.value != 'standard' %] + [% user_skin = user.settings.skin.value %] + [% END %] + [% style_urls.unshift('skins/standard/global.css') %] + + [%# CSS cascade, part 1: Standard Bugzilla stylesheet set (persistent). + # Always present. + #%] + [% FOREACH style_url = style_urls %] + <link href="[% style_url FILTER html %]" + rel="stylesheet" + type="text/css"> + [% END %] + + [%# CSS cascade, part 2: Standard Bugzilla stylesheet set (selectable) + # Present if skin selection is enabled. + #%] + [% IF user.settings.skin.is_enabled %] + [% FOREACH style_url = style_urls %] + <link href="[% style_url FILTER html %]" + rel="[% 'alternate ' IF user_skin %]stylesheet" + title="[% setting_descs.standard FILTER html %]" + type="text/css"> + [% END %] + [% END %] + [%# CSS cascade, part 3: Third-party stylesheet set (selectable). + # All third-party skins are present if skin selection is enabled. + # The admin-selected skin is always present. + #%] + [% FOREACH contrib_skin = user.settings.skin.legal_values %] + [% NEXT IF contrib_skin == 'standard' %] + [% NEXT UNLESS contrib_skin == user_skin + OR user.settings.skin.is_enabled %] + [% contrib_skin = contrib_skin FILTER url_quote %] + [% IF contrib_skin.match('\.css$') %] + [%# 1st skin variant: single-file stylesheet %] + <link href="[% "skins/contrib/$contrib_skin" %]" + rel="[% 'alternate ' UNLESS contrib_skin == user_skin %]stylesheet" + title="[% contrib_skin FILTER html %]" + type="text/css"> + [% ELSE %] + [%# 2nd skin variant: stylesheet set %] + [% FOREACH style_url = style_urls %] + [% IF style_url.match('^skins/standard/') %] + <link href="[% style_url.replace('^skins/standard/', + "skins/contrib/$contrib_skin/") %]" + rel="[% 'alternate ' UNLESS contrib_skin == user_skin %]stylesheet" + title="[% contrib_skin FILTER html %]" + type="text/css"> + [% END %] + [% END %] + [% END %] + [% END %] + + [%# CSS cascade, part 4: page-specific styles. + #%] [% IF style %] <style type="text/css"> [% style %] </style> [% END %] - [% IF style_urls %] - [% FOREACH style_url = style_urls %] - <link href="[% style_url FILTER html %]" rel="stylesheet" type="text/css"> - [% IF style_url.match('^skins/standard/') %] - <link href="[% style_url.replace('^skins/standard/', 'skins/custom/') - FILTER html %]" rel="stylesheet" type="text/css"> - [% 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 = style_urls %] + [% IF style_url.match('^skins/standard/') %] + <link href="[% style_url.replace('^skins/standard/', "skins/custom/") + FILTER html %]" rel="stylesheet" type="text/css"> [% END %] [% END %] diff --git a/template/en/default/global/setting-descs.none.tmpl b/template/en/default/global/setting-descs.none.tmpl index 6962d9ea6..4fb2a031b 100644 --- a/template/en/default/global/setting-descs.none.tmpl +++ b/template/en/default/global/setting-descs.none.tmpl @@ -33,6 +33,8 @@ "post_bug_submit_action" => "After changing $terms.abug", "next_bug" => "Show next $terms.bug in my list", "same_bug" => "Show the updated $terms.bug", + "standard" => "Classic", + "skin" => "$terms.Bugzilla's general appearance (skin)", "nothing" => "Do Nothing", "state_addselfcc" => "Automatically add me to the CC list of bugs I change", "always" => "Always", |