<?php
define("ABS_PATH", $_SERVER['DOCUMENT_ROOT']);
include(ABS_PATH . "/head_nav.php");
include(ABS_PATH . "/middle.php");
?>
          <div class="section">
            <div class="toc-wrapper">
              <span class="toc-title">Contents:</span>
              <ul class="toc">
                  <li class=""><a href="#SYNOPSIS">SYNOPSIS</a></li>
                  <li class=""><a href="#DESCRIPTION">DESCRIPTION</a></li>
                  <li class=""><a href="#METHODS">METHODS</a></li>
                  <li class="sub"><a href="#method_new">new(\%params)</a></li>
                  <li class="sub"><a href="#method_fetch">fetch($name, \@args, $context)</a></li>
                  <li class="sub"><a href="#method_use_html_entities">use_html_entities()</a></li>
                  <li class="sub"><a href="#method_use_apache_util">use_apache_util()</a></li>
                  <li class=""><a href="#CONFIGURATION_OPTIONS">CONFIGURATION OPTIONS</a></li>
                  <li class="sub"><a href="#section_FILTERS">FILTERS</a></li>
                  <li class="sub"><a href="#section_TOLERANT">TOLERANT</a></li>
                  <li class="sub"><a href="#section_DEBUG">DEBUG</a></li>
                  <li class=""><a href="#STANDARD_FILTERS">STANDARD FILTERS</a></li>
                  <li class=""><a href="#AUTHOR">AUTHOR</a></li>
                  <li class=""><a href="#COPYRIGHT">COPYRIGHT</a></li>
                  <li class=""><a href="#SEE_ALSO">SEE ALSO</a></li>
              </ul>
            </div>
          </div>
          
                <div class="pod">
            <div class="section">
              <div class="head">
                <h1 id="SYNOPSIS">SYNOPSIS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <pre>use Template::Filters;

$filters = Template::Filters-&gt;new(\%config);

($filter, $error) = $filters-&gt;fetch($name, \@args, $context);

if ($filter) {
    print &amp;$filter("some text");
}
else {
    print "Could not fetch $name filter: $error\n";
}</pre>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="DESCRIPTION">DESCRIPTION</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      The <code>Template::Filters</code> module implements a provider for
                      creating subroutines that implement the standard filters. Additional
                      custom filters may be provided via the <a
                      href="#section_FILTERS">FILTERS</a> configuration option.
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="METHODS">METHODS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <div class="subsection">
                  <div class="head">
                    <h2 id="method_new" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">new(\%params)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Constructor method which instantiates and returns a reference to a
                          <code>Template::Filters</code> object. A reference to a hash array of
                          configuration items may be passed as a parameter. These are described
                          below.
                        </p>
                        <pre>my $filters = Template::Filters-&gt;new({
    FILTERS =&gt; { ... },
});

my $template = Template-&gt;new({
    LOAD_FILTERS =&gt; [ $filters ],
});</pre>
                        <p>
                          A default <code>Template::Filters</code> module is created by the <a
                          href="../../modules/Template.php">Template</a> module if the <a
                          href="#section_LOAD_FILTERS">LOAD_FILTERS</a> option isn't specified. All
                          configuration parameters are forwarded to the constructor.
                        </p>
                        <pre>$template = Template-&gt;new({
    FILTERS =&gt; { ... },
});</pre>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_fetch" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">fetch($name, \@args, $context)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Called to request that a filter of a given name be provided. The name of
                          the filter should be specified as the first parameter. This should be one
                          of the standard filters or one specified in the <a
                          href="#section_FILTERS">FILTERS</a> configuration hash. The second
                          argument should be a reference to an array containing configuration
                          parameters for the filter. This may be specified as 0, or undef where no
                          parameters are provided. The third argument should be a reference to the
                          current <a href="../../modules/Template/Context.php">Template::Context</a> object.
                        </p>
                        <p>
                          The method returns a reference to a filter sub-routine on success. It may
                          also return <code>(undef, STATUS_DECLINE)</code> to decline the request,
                          to allow delegation onto other filter providers in the <a
                          href="#section_LOAD_FILTERS">LOAD_FILTERS</a> chain of responsibility. On
                          error, <code>($error, STATUS_ERROR)</code> is returned where $error is an
                          error message or <a href="../../modules/Template/Exception.php">Template::Exception</a> object indicating the error that occurred.
                        </p>
                        <p>
                          When the <code>TOLERANT</code> option is set, errors are automatically
                          downgraded to a <code>STATUS_DECLINE</code> response.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_use_html_entities" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">use_html_entities()</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          This class method can be called to configure the <code>html_entity</code>
                          filter to use the <a href="https://metacpan.org/search?query=HTML::Entities&mode=all">HTML::Entities</a> module. An error will be raised if it is not
                          installed on your system.
                        </p>
                        <pre>use Template::Filters;
Template::Filters-&gt;use_html_entities();</pre>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_use_apache_util" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">use_apache_util()</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          This class method can be called to configure the <code>html_entity</code>
                          filter to use the <a href="https://metacpan.org/search?query=Apache::Util&mode=all">Apache::Util</a> module. An error will be raised if it is not
                          installed on your system.
                        </p>
                        <pre>use Template::Filters;
Template::Filters-&gt;use_apache_util();</pre>
                  </div>
                </div>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="CONFIGURATION_OPTIONS">CONFIGURATION OPTIONS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      The following list summarises the configuration options that can be
                      provided to the <code>Template::Filters</code> <a
                      href="#method_new">new()</a> constructor. Please see <a href="../../manual/Config.php">Template::Manual::Config</a>
                      for further information about each option.
                    </p>
                    <div class="subsection">
                  <div class="head">
                    <h2 id="section_FILTERS" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">FILTERS</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          The <a href="../../manual/Config.php#section_FILTERS">FILTERS</a> option can be used to specify custom
                          filters which can then be used with the <a href="../../manual/Directives.php#section_FILTER">FILTER</a>
                          directive like any other. These are added to the standard filters which
                          are available by default.
                        </p>
                        <pre>$filters = Template::Filters-&gt;new({
    FILTERS =&gt; {
        'sfilt1' =&gt;   \&amp;static_filter,
        'dfilt1' =&gt; [ \&amp;dyanamic_filter_factory, 1 ],
    },
});</pre>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="section_TOLERANT" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">TOLERANT</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          The <a href="../../manual/Config.php#section_TOLERANT">TOLERANT</a> flag can be set to indicate that the
                          <code>Template::Filters</code> module should ignore any errors and
                          instead return <code>STATUS_DECLINED</code>.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="section_DEBUG" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">DEBUG</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          The <a href="../../manual/Config.php#section_DEBUG">DEBUG</a> option can be used to enable debugging
                          messages for the Template::Filters module by setting it to include the
                          <code>DEBUG_FILTERS</code> value.
                        </p>
                        <pre>use Template::Constants qw( :debug );

my $template = Template-&gt;new({
    DEBUG =&gt; DEBUG_FILTERS | DEBUG_PLUGINS,
});</pre>
                  </div>
                </div>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="STANDARD_FILTERS">STANDARD FILTERS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Please see <a href="../../manual/Filters.php">Template::Manual::Filters</a> for a list of the filters provided
                      with the Template Toolkit, complete with examples of use.
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="AUTHOR">AUTHOR</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Andy Wardley &lt;abw@wardley.org&gt; <a
                      href="https://wardley.org/">https://wardley.org/</a>
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="COPYRIGHT">COPYRIGHT</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved.
                    </p>
                    <p>
                      This module is free software; you can redistribute it and/or modify it
                      under the same terms as Perl itself.
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="SEE_ALSO">SEE ALSO</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      <a href="../../manual/Filters.php">Template::Manual::Filters</a>, <a href="../../modules/Template.php">Template</a>, <a href="../../modules/Template/Context.php">Template::Context</a>
                    </p>
              </div>
            </div>
            
            </div>
<?php include(ABS_PATH . "/footer.php"); ?>
