<!-- 1.0@bugzilla.org --> [%# 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 <gerv@gerv.net> #%] [%# INTERFACE: # login: string. The user's Bugzilla login email address. # tabs: List of hashes. May not be empty. Each hash has three members: # name: string. Name of the tab (used internally.) # description: string. Description of the tab (used in tab title.) # saveable: boolean. True if tab has a form which can be submitted. # True if user is not receiving self-generated mail. # Note: For each tab name, a template "prefs/${tab.name}.tmpl" must exist, # and its interface must be fulfilled. # current_tab: A direct reference to one of the hashes in the tabs list. # This tab will be displayed. # changes_saved: boolean/string. True if the CGI processed form data before # displaying anything, and can contain an optional custom # message if required (which Perl still evaluates as True). #%] [% filtered_login = login FILTER html %] [% PROCESS global/header.html.tmpl title = "User Preferences" h2 = filtered_login style = "td.selected_tab { border-width: 2px 2px 0px; border-style: solid; } td.unselected_tab, td.spacer { border-width: 0px 0px 2px 0px; border-style: solid; }" %] [% tabs = [ { name => "account", description => "Account settings", saveable => "1" }, { name => "email", description => "Email settings", saveable => "1" }, { name => "footer", description => "Page footer", saveable => "1" }, { name => "permissions", description => "Permissions", saveable => "0" } ] %] <center> <table cellspacing="0" cellpadding="10" border="0" width="100%"> <tr> <td class="spacer"> </td> [% FOREACH tab = tabs %] [% IF tab.name == current_tab_name %] [% current_tab = tab %] <td align="center" bgcolor="lightblue" class="selected_tab"> [% tab.description %] </td> [% ELSE %] <td align="center" bgcolor="#BBBBEE" class="unselected_tab"> <a href="userprefs.cgi?tab=[% tab.name %]">[% tab.description %]</a> </td> [% END %] [% END %] <td class="spacer"> </td> </tr> </table> </center> [% IF changes_saved %] <p> <font color="red"> The changes to your [% current_tab.description FILTER lower %] have been saved. </font> </p> [% IF changes_saved != 1 %] <p> [% changes_saved %] </p> [% END %] [% END %] <h3>[% current_tab.description %]</h3> <form method="post" action="userprefs.cgi"> <input type="hidden" name="tab" value="[% current_tab.name %]"> [% PROCESS "account/prefs/${current_tab.name}.html.tmpl" IF current_tab.name.defined %] [% IF current_tab.saveable %] <input type="hidden" name="dosave" value="1"> <table> <tr> <td width="150"></td> <td> <input type="submit" value="Submit Changes"> </td> </tr> </table> [% END %] </form> [% PROCESS global/footer.html.tmpl %]