{ =head1 NAME Net::Blogger::Engine::Movabletype - Movabletype Blogger API engine =head1 SYNOPSIS my $mt = Net::Blogger->new(engine=>"movabletype"); $mt->Proxy("http://mtserver.com/mt-xmlrpc.cgi"); $mt->Username("foo"); $mt->Password("bar"); my $postid_1 = $mt->newPost(postbody=>\"hello world") || croak $mt->LastError(); my $postid_2 = $mt->metaWeblog()->newPost( title=>"hello", description=>"world", publish=>1, ); =head1 DESCRIPTION This package inherits I and implements methods specific to a MovableType XML-RPC server. =cut package Net::Blogger::Engine::Movabletype; use strict; $Net::Blogger::Engine::Movabletype::VERSION = '1.0'; @Net::Blogger::Engine::Movabletype::ISA = qw ( Exporter Net::Blogger::Engine::Base ); @Net::Blogger::Engine::Movabletype::EXPORT = qw (); @Net::Blogger::Engine::Movabletype::EXPORT_OK = qw (); use Exporter; use Net::Blogger::Engine::Base; =head1 Blogger API OBJECT METHODS =cut =head2 $pkg->getRecentPosts(\%args) Releases prior to Net::Blogger 0.85 accepted a list of arguments rather than a reference. Version 0.85+ are backwards compatible. =cut sub getRecentPosts { my $self = shift; my $args = (ref($_[0]) eq "HASH") ? shift : {@_}; my $num = (defined $args->{'numposts'}) ? $args->{'numposts'} : 1; my $posts = []; unless ($num =~ /^(-)*(\d+)$/) { $self->LastError("Argument $args->{'numposts'} isn't numeric."); return 0; } if ($num > -1) { $num = 0; } return $self->SUPER::getRecentPosts($args); } =head1 Movable Type (mt) API OBJECT METHODS =cut =head2 $pkg->mt() Returns an object. Woot! =cut sub mt { my $self = shift; if (! $self->{'__mt'}) { require Net::Blogger::Engine::Movabletype::mt; my $mt = Net::Blogger::Engine::Movabletype::mt->new(debug=>$self->{debug}); map { $mt->$_($self->$_()); } qw (BlogId Proxy Username Password); $self->{'__mt'} = $mt; } return $self->{'__mt'}; } =head1 metaWeblog API OBJECT METHODS =cut =head2 $pkg->metaWeblog() Returns an object. Woot! =cut sub metaWeblog { my $self = shift; if (! $self->{__meta}) { require Net::Blogger::Engine::Userland::metaWeblog; my $meta = Net::Blogger::Engine::Userland::metaWeblog->new(debug=>$self->{debug}); map { $meta->$_($self->$_()); } qw (BlogId Proxy Username Password); $self->{__meta} = $meta; } return $self->{__meta}; } =head1 VERSION 1.0 =head1 DATE $Date: 2005/03/26 19:29:08 $ =head1 AUTHOR Aaron Straup Cope =head1 SEE ALSO L L L http://aaronland.net/weblog/archive/3719 =head1 LICENSE Copyright (c) 2001-2005 Aaron Straup Cope. This is free software, you may use it and distribute it under the same terms as Perl itself. =cut return 1; }