Provided by: ledgersmb_1.3.25-1_all bug

NAME

       LedgerSMB::Template - Template support module for LedgerSMB

SYNOPSIS

       This module renders templates.

METHODS

       new(user => \%myconfig, template => $string, format => $string, [locale => $locale]
       [language => $string], [include_path => $path], [no_auto_output => $bool], [method =>
       $string], [no_escape => $bool], [debug => $bool], [output_file => $string] );
           This command instantiates a new template:

           template
               The template to be processed.  This can either be a reference to the template in
               string form or the name of the file that is the template to be processed.

           format
               The format to be used.  Currently HTML, PS, PDF, TXT and CSV are supported.

           format_options (optional)
               A hash of format-specific options.  See the appropriate LSMB::T::foo for details.

           output_options (optional)
               A hash of output-specific options.  See the appropriate output method for details.

           locale (optional)
               The locale object to use for regular gettext lookups.  Having this option adds the
               text function to the usable list for the templates.  Has no effect on the gettext
               function.

           language (optional)
               The language for template selection.

           include_path (optional)
               Overrides the template directory.  Used with user interface templates.

           no_auto_output (optional)
               Disables the automatic output of rendered templates.

           no_escape (optional)
               Disables escaping on the template variables.

           debug (optional)
               Enables template debugging.

               With the TT-based renderers, HTML, PS, PDF, TXT, and CSV, the portion of the
               template to get debugging messages is to be surrounded by <?lsmb DEBUG format
               'foo' ?> statements.  Example:

                   <tr><td colspan="<?lsmb columns.size ?>"></td></tr>
                   <tr class="listheading">
                 <?lsmb FOREACH column IN columns ?>
                 <?lsmb DEBUG format '$file line $line : [% $text %]' ?>
                     <th class="listtop"><?lsmb heading.$column ?></th>
                 <?lsmb DEBUG format '' ?>
                 <?lsmb END ?>
                   </tr>

           method/media (optional)
               The output method to use, defaults to HTTP.  Media is a synonym for method

           output_file (optional)
               The base name of the file for output.

       available_formats()
           Returns a list of format names, any of the following (in order) as applicable:

           HTML (always available)
           TXT (includes CSV, always available))
           PDF
           PS
           XLS
           ODS
       new_UI(user => \%myconfig, locale => $locale, template => $file, ...)
           Wrapper around the constructor that sets the path to 'UI', format to 'HTML', and
           leaves auto-output enabled.

       render($hashref)
           This command renders the template.  If no_auto_output was not specified during
           instantiation, this also writes the result to standard output and exits.  Otherwise it
           returns the name of the output file if a file was created.  When no output file is
           created, the output is held in $self->{output}.

           Currently email and server-side printing are not supported.

       output
           This function outputs the rendered file in an appropriate manner.

       my $bool = _valid_language()
           This command checks for valid langages.  Returns 1 if the language is valid, 0 if it
           is not.

       column_heading()
           Apply locale settings to column headings and add sort urls if necessary.

       escape($string)
           Escapes a scalar string if the format supports such escaping and returns the sanitized
           version.

Copyright 2007, The LedgerSMB Core Team

       This file is licensed under the GNU General Public License version 2, or at your option
       any later version.  A copy of the license should have been included with your software.