OpenInteract2::Filter - Initialize and manage content filters
# Declare a filter 'allcaps' in $WEBSITE_DIR/conf/filter.ini [filters allcaps] class = OpenInteract2::Filter::AllCaps # You can also declare it in your package's package.conf file name mypackage version 2.00 author Kilroy (kilroy@washere.com) filter allcaps OpenInteract2::Filter::AllCaps # Associate the filter with an action [filter_action] news = allcaps # Create the filter package OpenInteract2::Filter::AllCaps; use strict; sub update { my ( $class, $action, $type, $content ) = @_; return unless ( $type eq 'filter' ); $$content =~ s/^(.*)$/\U$1\E/; } # Programmatically add a new filter CTX->add_filter( 'foobar', { class => 'OpenInteract2::Filter::Foobar' } );
This class provides methods for initializing filters and attaching them to action objects or action classes.
All methods are class methods (for now). Note that when we discuss a 'filter' it could mean a class name, instantiated object or subroutine reference. (A filter is just an observer, see Class::Observable for what constitutes an observer.)
create_filter_filename()
Returns the full path to the server filter file, normally $WEBSITE_DIR/conf/filter.ini.
$WEBSITE_DIR/conf/filter.ini
add_filter_to_action( $filter_name, $action | $action_name )
Registers the filter referenced by $filter_name to the action $action or the action class referenced by $action_name. If you pass in $action the filter will go away when the object is disposed at the end of the request; with $action_name the filter will persist until the server is shutdown.
$filter_name
$action
$action_name
Returns: assigned filter
register_filter( $filter_name, \%filter_info, \%filter_registry )
Creates a filter with the name $filter_name and saves the information in \%filter_registry. If the filter cannot be created (due to a library not being available or an object not being instantiable) an error is logged but no exception thrown.
\%filter_registry
Returns: created filter, undef if an error encountered
initialize()
Reads filters declared in packages and in the server's filter.ini file, brings in the libraries referenced by the filters, creates a filter name-to-filter registry and saves it to the context.
filter.ini
Note that filters declared at the server will override filters declared in a package if they share the same name.
You'd almost certainly never need to call this as it's called from OpenInteract2::Setup.
Returns: nothing
Copyright (c) 2002-2004 Chris Winters. All rights reserved.
Chris Winters <chris@cwinters.com>
To install OpenInteract2::URL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm OpenInteract2::URL
CPAN shell
perl -MCPAN -e shell install OpenInteract2::URL
For more information on module installation, please visit the detailed CPAN module installation guide.