404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.139.237.50: ~ $
#==============================================================================
# 
# Template::Plugin::Dumper
#
# DESCRIPTION
#
# A Template Plugin to provide a Template Interface to Data::Dumper
#
# AUTHOR
#   Simon Matthews <sam@tt2.org>
#
# COPYRIGHT
#   Copyright (C) 2000 Simon Matthews.  All Rights Reserved
#
#   This module is free software; you can redistribute it and/or
#   modify it under the same terms as Perl itself.
#
#==============================================================================

package Template::Plugin::Dumper;

use strict;
use warnings;
use base 'Template::Plugin';
use Data::Dumper;

our $VERSION = '3.100';
our $DEBUG   = 0 unless defined $DEBUG;
our @DUMPER_ARGS = qw( Indent Pad Varname Purity Useqq Terse Freezer
                       Toaster Deepcopy Quotekeys Bless Maxdepth Sortkeys );
our $AUTOLOAD;

#==============================================================================
#                      -----  CLASS METHODS -----
#==============================================================================

#------------------------------------------------------------------------
# new($context, \@params)
#------------------------------------------------------------------------

sub new {
    my ($class, $context, $params) = @_;

    bless { 
        _CONTEXT => $context, 
        params   => $params || {},
    }, $class;
}

sub get_dump_obj {
    my $self = shift;

    my $dumper_obj = Data::Dumper->new( \@_ );

    my $params = $self->{ params };

    foreach my $arg ( @DUMPER_ARGS ) {
        my $val = exists $params->{ lc $arg } ? $params->{ lc $arg }
                :                               $params->{    $arg };

        $dumper_obj->$arg( $val ) if defined $val;
    }

    return $dumper_obj;
}

sub dump { scalar shift->get_dump_obj( @_ )->Dump() }

sub dump_html {
    my $self = shift;

    my $content = $self->dump( @_ );

    for ($content) {
        s/&/&amp;/g;
        s/</&lt;/g;
        s/>/&gt;/g;
        s/\n/<br>\n/g;
    }

    return $content;
}

1;

__END__

=head1 NAME

Template::Plugin::Dumper - Plugin interface to Data::Dumper

=head1 SYNOPSIS

    [% USE Dumper %]
    
    [% Dumper.dump(variable) %]
    [% Dumper.dump_html(variable) %]

=head1 DESCRIPTION

This is a very simple Template Toolkit Plugin Interface to the L<Data::Dumper>
module.  A C<Dumper> object will be instantiated via the following directive:

    [% USE Dumper %]

As a standard plugin, you can also specify its name in lower case:

    [% USE dumper %]

The C<Data::Dumper> C<Pad>, C<Indent> and C<Varname> options are supported
as constructor arguments to affect the output generated.  See L<Data::Dumper>
for further details.

    [% USE dumper(Indent=0, Pad="<br>") %]

These options can also be specified in lower case.

    [% USE dumper(indent=0, pad="<br>") %]

=head1 METHODS

There are two methods supported by the C<Dumper> object.  Each will
output into the template the contents of the variables passed to the
object method.

=head2 dump()

Generates a raw text dump of the data structure(s) passed

    [% USE Dumper %]
    [% Dumper.dump(myvar) %]
    [% Dumper.dump(myvar, yourvar) %]

=head2 dump_html()

Generates a dump of the data structures, as per L<dump()>, but with the 
characters E<lt>, E<gt> and E<amp> converted to their equivalent HTML
entities and newlines converted to E<lt>brE<gt>.

    [% USE Dumper %]
    [% Dumper.dump_html(myvar) %]

=head1 AUTHOR

Simon Matthews E<lt>sam@tt2.orgE<gt>

=head1 COPYRIGHT

Copyright (C) 2000 Simon Matthews.  All Rights Reserved.

This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=head1 SEE ALSO

L<Template::Plugin>, L<Data::Dumper>


Filemanager

Name Type Size Permission Actions
Assert.pm File 3.43 KB 0444
Datafile.pm File 4.4 KB 0444
Date.pm File 11.22 KB 0444
Directory.pm File 10.9 KB 0444
Dumper.pm File 3.66 KB 0444
File.pm File 10.92 KB 0444
Filter.pm File 9.63 KB 0444
Format.pm File 1.79 KB 0444
HTML.pm File 5.87 KB 0444
Image.pm File 11.43 KB 0444
Iterator.pm File 1.95 KB 0444
Math.pm File 3.99 KB 0444
Pod.pm File 1.61 KB 0444
Procedural.pm File 3.59 KB 0444
Scalar.pm File 3.67 KB 0444
String.pm File 17.69 KB 0444
Table.pm File 12.41 KB 0444
URL.pm File 5.67 KB 0444
View.pm File 2.4 KB 0444
Wrap.pm File 3.18 KB 0444