package MT::Plugin::URLEncodeContainer; use strict; use MT; use MT::Template::Context; use MT::Util qw(encode_url); # show plugin information to main menu eval("use Storable;"); if (!$@ && MT->can('add_plugin')) { my $plugin = MT::Plugin->new; $plugin->name('URLEncode Container 0.01'); $plugin->description('URL encode in MTURLEncodeContainer tag container.'); MT->add_plugin($plugin); } # add tag MT::Template::Context->add_container_tag(URLEncodeContainer => \&urlencode_container); # urlencode_container main sub urlencode_container { my ($ctx, $args) = @_; my $tokens = $ctx->stash('tokens'); my $builder = $ctx->stash('builder'); defined(my $out = $builder->build($ctx, $tokens)) or return $ctx->error($ctx->errstr); $out = encode_url($out); $out; } 1;