CGI-Application-MailPage

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

        'File::Spec'          => '0',
        'HTML::Template'      => '0',
        'HTML::TreeBuilder'   => '0',
        'HTTP::Date'          => '0',
        'MIME::Entity'        => '0',
        'Mail::Header'        => '0',
        'Mail::Internet'      => '0',
        'Net::SMTP'           => '0',
        'Text::Format'        => '0',
        'URI'                 => '0',
        'HTTP::Request'       => '0',
        'LWP::UserAgent'      => '0',
        'Email::Valid'        => '0',
        'Data::FormValidator' => '3',
        'Fcntl'               => '0',
    },
    build_requires => {
        'Test::LongString'  => '0',
    },
    pm_files => {
        'lib/CGI/Application/MailPage.pm' => 'lib/CGI/Application/MailPage.pm', 

META.yml  view on Meta::CPAN

    version: 1.7
requires:
  CGI::Application: 3.2
  Data::FormValidator: 3
  Email::Valid: 0
  Fcntl: 0
  File::Spec: 0
  HTML::Template: 0
  HTML::TreeBuilder: 0
  HTTP::Date: 0
  HTTP::Request: 0
  LWP::UserAgent: 0
  MIME::Entity: 0
  Mail::Header: 0
  Mail::Internet: 0
  Net::SMTP: 0
  Text::Format: 0
  URI: 0
  perl: v5.6.1
resources:
  license: http://dev.perl.org/licenses/

Makefile.PL  view on Meta::CPAN

        'File::Spec'          => '0',
        'HTML::Template'      => '0',
        'HTML::TreeBuilder'   => '0',
        'HTTP::Date'          => '0',
        'MIME::Entity'        => '0',
        'Mail::Header'        => '0',
        'Mail::Internet'      => '0',
        'Net::SMTP'           => '0',
        'Text::Format'        => '0',
        'URI'                 => '0',
        'HTTP::Request'       => '0',
        'LWP::UserAgent'      => '0',
        'Email::Valid'        => '0',
        'Data::FormValidator' => '3',
        'Fcntl'               => '0',
    },
    PM            => {
        'lib/CGI/Application/MailPage.pm'   => '$(INST_LIBDIR)/MailPage.pm',
        'templates/email.tmpl'              => '$(INST_LIBDIR)/MailPage/templates/email.tmpl',
        'templates/error.tmpl'              => '$(INST_LIBDIR)/MailPage/templates/error.tmpl',
        'templates/form.tmpl'               => '$(INST_LIBDIR)/MailPage/templates/form.tmpl',

lib/CGI/Application/MailPage.pm  view on Meta::CPAN


        # attach the straight HTML if requested
        if ($format =~ /^(both|html)/) {
            my $buffer = "";
            if ($self->param('read_file_callback')) {
                my $callback = $self->param('read_file_callback');
                $buffer = $callback->($filename);
            } elsif( $self->param('remote_fetch') && ($page =~ /^https?:\/\//) ) {
                #fetch this page with LWP
                require LWP::UserAgent;
                require HTTP::Request;
                my $agent = LWP::UserAgent->new();
                my $response = $agent->request(HTTP::Request->new(GET => $page));
                if( $response->is_success ) {
                    $buffer = $response->content();
                } else {
                    return $self->error("Unable to retrieve remote page $page");
                }
            } else {
                open(HTML, $filename) or return $self->error("Can't open $filename : $!");
                while(read(HTML, $buffer, 10240, length($buffer))) {}      
                close(HTML);
            }

lib/CGI/Application/MailPage.pm  view on Meta::CPAN

    
        if ($format =~ /^(both|html)/) {
            push(@lines, "\n---\n\n");
            if ($self->param('read_file_callback')) {
                my $callback = $self->param('read_file_callback');
                my $buffer = $callback->($filename);
                push(@lines, split("\n", $buffer));
            } elsif( $self->param('remote_fetch') && ($page =~ /^https?:\/\//) ) {
                #fetch this page with LWP
                require LWP::UserAgent;
                require HTTP::Request;
                my $agent = LWP::UserAgent->new();
                my $response = $agent->request(HTTP::Request->new(GET => $page));
                if( $response->is_success ) {
                    my $buffer = $response->content();
                    @lines = split(/\r?\n/, $buffer);
                } else {
                    return $self->error("Unable to retrieve remote page $page");
                }
            } else {
                open(HTML, $filename) or return $self->error("Can't open $filename : $!");
                push(@lines, <HTML>);
                close(HTML);

lib/CGI/Application/MailPage.pm  view on Meta::CPAN

  #
  #--------------------------------------------------------------------------
  
  # parse the HTML file
  if ($self->param('read_file_callback')) {
    my $callback = $self->param('read_file_callback');
    $html_tree->parse( $callback->($filename) );
  } elsif( $self->param('remote_fetch') && ($page =~ /^https?:\/\//) ) {
      #fetch this page with LWP
      require LWP::UserAgent;
      require HTTP::Request;
      my $agent = LWP::UserAgent->new();
      my $response = $agent->request(HTTP::Request->new(GET => $page));
      if( $response->is_success ) {
          my $buffer = $response->content();
          $html_tree->parse($buffer);
      } else {
          return $self->error("Unable to retrieve remote page $page");
      }
  } else {
    open(HTML, $filename) or return $self->error("Can't open $filename : $!");
    $html_tree->parse( join( '', <HTML> ) );
    close(HTML);

t/01.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More;
use Test::LongString;
use File::Temp;
use HTTP::Request;
use LWP::UserAgent;

plan(tests => 47);

require_ok('CGI');
require_ok('CGI::Application::MailPage');
my $options = {
    page         => 'http://unused/test.html',
    rm           => 'send_mail',
    name         => 'Sammy Sender',



( run in 0.438 second using v1.01-cache-2.11-cpan-de7293f3b23 )