1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
# Movable Type (r) Open Source (C) 2001-2008 Six Apart, Ltd.
# This program is distributed under the terms of the
# GNU General Public License, version 2.
#
# $Id: Blocklist.pm 2747 2008-07-10 17:16:23Z bchoate $
package MT::Blocklist;
use strict;
use MT::Object;
@MT::Blocklist::ISA = qw( MT::Object );
__PACKAGE__->install_properties({
columns => [
'id', 'blog_id', 'text', 'action'
],
indexes => {
blog_id => 1,
text => 1,
},
audit => 1,
datasource => 'blocklist',
primary_key => 'id',
});
# valid 'action' values:
# * discard
# * moderate
# * nothing
sub block_these {
my $class = shift;
my ($blog_id, $action, @urls) = @_;
foreach my $url (@urls) {
next if $class->exist({blog_id => $blog_id, text => $url});
my $this = $class->new();
$this->set_values({blog_id => $blog_id, text => $url,
action => $action});
$this->save() or return $class->error($this->errstr());
}
1;
}
1;
__END__
=head1 NAME
MT::Blocklist - MT object class for storing rules for filtering content.
=head1 METHODS
=head2 MT::Blocklist->block_these($blog_id, $action, @urls)
Adds the specified URLs to the blocklist table with the specified I<$action>
and for the specified I<$blog_id>.
=head1 LICENSE
The license that applies is the one you agreed to when downloading
Movable Type.
=head1 AUTHOR & COPYRIGHT
Except where otherwise noted, MT is Copyright 2001-2008 Six Apart.
All rights reserved.
=cut
|