From e580f5096f532185676b487f281b8e37fe5ee8a8 Mon Sep 17 00:00:00 2001 From: piroli Date: Sat, 29 Jan 2011 12:47:20 +0000 Subject: [PATCH] IfStash 0.00_01 git-svn-id: svn://svn.magicvox.net/var/svn/mt-plugins/__misc@188 adbff654-c4ea-448a-8ae3-cad037306009 --- IfStash.pl | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 IfStash.pl diff --git a/IfStash.pl b/IfStash.pl new file mode 100644 index 0000000..cd93a91 --- /dev/null +++ b/IfStash.pl @@ -0,0 +1,72 @@ +package MT::Plugin::OMV::IfStash; + +use strict; +use MT 3; + +use vars qw( $MYNAME $VERSION ); +$MYNAME = (split /::/, __PACKAGE__)[-1]; +$VERSION = '0.00_01'; + +use base qw( MT::Plugin ); +my $plugin = __PACKAGE__->new({ + id => $MYNAME, + key => $MYNAME, + name => $MYNAME, + version => $VERSION, + author_name => 'Open MagicVox.net', + author_link => 'http://www.magicvox.net/', + doc_link => '', + description => < +HTMLHEREDOC +}); +MT->add_plugin( $plugin ); + +use MT::Template::Context; +MT::Template::Context->add_conditional_tag ($MYNAME. q{Blog} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Entry} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Entries} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Page} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Pages} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Category} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Folder} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Comment} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Comments} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Commenter} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Ping} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Asset} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Assets} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Template} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Author} => \&_hdlr_conditional_tag); +MT::Template::Context->add_conditional_tag ($MYNAME. q{Results} => \&_hdlr_conditional_tag); + +### Conditional tag - IfStash* +sub _hdlr_conditional_tag { + my ($ctx, $args, $cond) = @_; + + my $tag = lc $ctx->stash('tag'); + my %hash = ( + ifstashblog => $ctx->stash('blog'), + ifstashentry => $ctx->stash('entry'), + ifstashentries => $ctx->stash('entries'), + ifstashpage => $ctx->stash('entry'), + ifstashpages => $ctx->stash('entries'), + ifstashcategory => $ctx->stash('category') || $ctx->stash('archive_category'), + ifstashfolder => $ctx->stash('category') || $ctx->stash('archive_category'), + ifstashcomment => $ctx->stash('comment'), + ifstashcomments => $ctx->stash('comments'), + ifstashcommenter => $ctx->stash('commenter'), + ifstashping => $ctx->stash('ping'), + ifstashasset => $ctx->stash('asset'), + ifstashassets => $ctx->stash('assets'), + ifstashtemplate => $ctx->stash('template'), + ifstashauthor => $ctx->stash('author') || $ctx->stash('user'), + ifstashresults => $ctx->stash('results'), + ); + + exists $hash{$tag} + ? $hash{$tag} + : $ctx->error (MT->translate ('Unknown tag found: [_1]', $tag)); +} + +1; \ No newline at end of file