package MTPlugins::PHPTypeKey; use MT::Template::Context; use MT::Plugin; MT::Template::Context->add_container_tag('IfSignedIn', \&if_signed_in); MT::Template::Context->add_tag('SignedInName', \&signed_in_name); my $plugin = MT::Plugin->new; $plugin->name ("PHP-TypeKey"); $plugin->description ("Provides a set of tags to use instead of JavaScript for TypeKey sign-ins."); $plugin->doc_link ("http://www.neilturner.me.uk/resources/typekeyusername/"); $plugin->author_name ("Neil Turner"); $plugin->author_link ("http://www.neilturner.me.uk/"); $plugin->version ("0.8"); MT->add_plugin($plugin); sub if_signed_in { my ($ctx, $args, $cond) = @_; my $builder = $ctx->stash('builder'); if($ctx->stash('comment_preview')) { return $builder->build($ctx, $ctx->stash($ctx->stash('commenter') ? 'tokens' : 'tokens_else'), $cond) or $ctx->error($builder->errstr); } my $out = ''; $out .= $builder->build($ctx, $ctx->stash('tokens'), $cond) or return $ctx->error($builder->errstr); $out .= ''; $out .= $builder->build($ctx, $ctx->stash('tokens_else'), $cond) or return $ctx->error($builder->errstr); $out .= ''; $out; } sub signed_in_name { $_[0]->stash('comment_preview') ? shift->_hdlr_commenter_name(@_) : ''; } 1;