Siesta
view release on metacpan or search on metacpan
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
=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 )