Siesta

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

messages/subscribe_notify
messages/subscribe_reply
messages/unsubscribe_failure
messages/unsubscribe_success
t/00setup_database.t
t/01compile.t
t/02all_plugins.t
t/03message.t
t/07list.t
t/07user.t
t/08prefs.t
t/09defer.t
t/09plugin_order.t
t/10plugin_listheaders.t
t/10plugin_membersonly.t
t/10plugin_messagefooter.t
t/10plugin_replyto.t
t/10plugin_simplesig.t
t/10plugin_subjecttag.t
t/10plugin_unsubscribe.t
t/20fullsend.t

TODO  view on Meta::CPAN

=head3 asking questions

perl Build.PL needs to grab more answers out of the existing
Siesta::Config and from the user to put into the new one (generated
from Config.pm.in)

=head3 listening to the answers

=head2 Web interface

=head3 setting prefs - constrained input based on type field

=head2 Integration with Mariachi

password-protected archives should be easy via the mod_perl handler


=head2 Plugin::NNTP

one side effect of moving from Mail::Internet is that the NNTP send
code will have to grow a few extra lines to invoke Net::NNTP directly.

lib/Siesta/List.pm  view on Meta::CPAN

}

=head2 ->return_path

the email address that bounces should come back to

=head2 ->members

all of the L<Siesta::Member>s subscribed to this list

=head2 ->prefs

all of the preferences associated with this list

=head2 ->is_member( $member )

Returns true or false depending if member is a member of this
list.  This can take either a Member object or an email address.

=cut

lib/Siesta/Member.pm  view on Meta::CPAN

# $Id: Member.pm 1357 2003-08-14 15:41:05Z richardc $
package Siesta::Member;
use strict;
use Siesta::DBI;
use base 'Siesta::DBI';
__PACKAGE__->set_up_table( 'member' );
__PACKAGE__->load_alias('email');
__PACKAGE__->has_many( lists => [ 'Siesta::Subscription' => 'list' ] );
__PACKAGE__->has_many( prefs => 'Siesta::Pref' );
__PACKAGE__->has_many( deferred => 'Siesta::Deferred', 'who' );


# fuck the users, fuck them up their stupid asses

=head1 NAME

Siesta::Member - manipulate a member.

=head1 METHODS

lib/Siesta/Plugin.pm  view on Meta::CPAN

# $Id: Plugin.pm 1356 2003-08-14 15:24:00Z richardc $
package Siesta::Plugin;
use strict;
use Carp qw(croak);
use base 'Siesta::DBI';
__PACKAGE__->set_up_table('plugin');
__PACKAGE__->columns( TEMP => qw( member ));
__PACKAGE__->has_a(   list => 'Siesta::List' );
__PACKAGE__->has_many( prefs => 'Siesta::Pref' );

sub new {
    my $pkg = shift;
    my ($name) = $pkg =~ /:([^:]+)$/;
    $pkg->create({ name => $name, @_ });
}

=head1 NAME

Siesta::Plugin - base class for Siesta Plugins

messages/backup  view on Meta::CPAN

nacho create-member [% member.email %]
    [%- FOREACH col = member.columns -%]
        [%- IF col != 'email' && col != 'id' %]
nacho modify-member [% member.email %] [% col %] [% shellq( member.$col ) %]
        [%- END -%] 
    [%- END -%]
[% END %]

###
# Finally we create the lists, add the plugins
# and set the plugin prefs for the list and each user
###
[% FOREACH list = lists %]

# [% list.name %]
nacho create-list [% list.name %] [% list.owner.email %] [% list.post_address %] [% list.return_path %]
    [%- FOREACH queue  = list.queues %] 

nacho set-plugins [% list.name %] [% queue %] [%- FOREACH plugin = list.plugins( queue ) -%] [% plugin.personal ? '+' : '' %][% plugin.name %][% END -%]
        [%- FOREACH plugin = list.plugins( queue ) -%]
            [%- FOREACH key = plugin.options.keys %] 



( run in 1.227 second using v1.01-cache-2.11-cpan-98e64b0badf )