filename pairs. * * @param array $filename_array Should be a hash of handle => filename pairs. */ public function set_filenames(array $filename_array); /** * Determines the filename for a template handle. * * The filename comes from array used in a set_filenames call, * which should have been performed prior to invoking this function. * Return value is a file basename (without path). * * @param $handle string Template handle * @return string Filename corresponding to the template handle */ public function get_filename_for_handle($handle); /** * Determines the source file path for a template handle without * regard for styles tree. * * This function returns the path in "primary" style directory * corresponding to the given template handle. That path may or * may not actually exist on the filesystem. Because this function * does not perform stat calls to determine whether the path it * returns actually exists, it is faster than get_source_file_for_handle. * * Use get_source_file_for_handle to obtain the actual path that is * guaranteed to exist (which might come from the parent style * directory if primary style has parent styles). * * This function will trigger an error if the handle was never * associated with a template file via set_filenames. * * @param $handle string Template handle * @return string Path to source file path in primary style directory */ public function get_virtual_source_file_for_handle($handle); /** * Determines the source file path for a template handle, accounting * for styles tree and verifying that the path exists. * * This function returns the actual path that may be compiled for * the specified template handle. It will trigger an error if * the template handle was never associated with a template path * via set_filenames or if the template file does not exist on the * filesystem. * * Use get_virtual_source_file_for_handle to just resolve a template * handle to a path without any filesystem or styles tree checks. * * @param string $handle Template handle (i.e. "friendly" template name) * @param bool $find_all If true, each root path will be checked and function * will return array of files instead of string and will not * trigger a error if template does not exist * @return string Source file path */ public function get_source_file_for_handle($handle, $find_all = false); /** * Obtains a complete filesystem path for a file in a style. * * This function traverses the style tree (selected style and * its parents in order, if inheritance is being used) and finds * the first file on the filesystem matching specified relative path, * or the first of the specified paths if more than one path is given. * * This function can be used to determine filesystem path of any * file under any style, with the consequence being that complete * relative to the style directory path must be provided as an argument. * * In particular, this function can be used to locate templates * and javascript files. * * For locating templates get_first_template_location should be used * as it prepends the configured template path to the template basename. * * Note: "selected style" is whatever style the style resource locator * is configured for. * * The return value then will be a path, relative to the current * directory or absolute, to the first existing file in the selected * style or its closest parent. * * If the selected style does not have the file being searched, * (and if inheritance is involved, none of the parents have it either), * false will be returned. * * Multiple files can be specified, in which case the first file in * the list that can be found on the filesystem is returned. * * If multiple files are specified and inheritance is involved, * first each of the specified files is checked in the selected style, * then each of the specified files is checked in the immediate parent, * etc. * * Specifying true for $return_default will cause the function to * return the first path which was checked for existence in the event * that the template file was not found, instead of false. * This is always a path in the selected style itself, not any of its * parents. * * If $return_full_path is false, then instead of returning a usable * path (when the file is found) the file's path relative to the style * directory will be returned. This is the same path as was given to * the function as a parameter. This can be used to check which of the * files specified in $files exists. Naturally this requires passing * more than one file in $files. * * @param array $files List of files to locate. * @param bool $return_default Determines what to return if file does not * exist. If true, function will return location where file is * supposed to be. If false, function will return false. * @param bool $return_full_path If true, function will return full path * to file. If false, function will return file name. This * parameter can be used to check which one of set of files * is available. * @return string or boolean Source file path if file exists or $return_default is * true. False if file does not exist and $return_default is false */ public function get_first_file_location($files, $return_default = false, $return_full_path = true); } nse 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): Vlad Dascalu <jocuri@softhome.net> # Gavin Shelley <bugzilla@chimpychompy.org> #%] [%# INTERFACE: # otheruser: Bugzilla User Object; The user whose profile activity # we are viewing. # # listselectionvalues: selection values to recreate the current user list. # # profile_changes: An array of hashes containing the following fields: # # who: string; login name of who made the change # activity_when: string; when the change was made # what: string; the description of the field which was changed # removed: string; the removed value (maybe empty string) # added: string; the added value (maybe empty string) #%] [% title = BLOCK %] Account History for '[% otheruser.login FILTER html %]' [% END %] [% PROCESS global/header.html.tmpl title = title %] [% PROCESS admin/users/listselectvars.html.tmpl listselectionvalues = listselectionvalues %] [% columns = [{name => 'who' heading => 'Who' } {name => 'activity_when' heading => 'When' } {name => 'what' heading => 'What' content_use_field => 1 } {name => 'removed' heading => 'Removed' } {name => 'added' heading => 'Added' } ] %] [% PROCESS admin/table.html.tmpl columns = columns data = profile_changes %] <p><a href="editusers.cgi?action=edit&userid= [%- otheruser.id FILTER uri %]" title="Edit user '[% otheruser.login FILTER html %]'">Edit this user</a> or <a title="Search For Users" href="editusers.cgi">search for other accounts</a> [% IF listselectionvalues.matchtype != 'exact' %] or go <a title="Return to the user list" href="editusers.cgi?action=list[% INCLUDE listselectionurlparams %]">back to the user list</a> [% END %] </p> [% PROCESS global/footer.html.tmpl %]