*** plugins/IfCategory.pl.org Fri May 25 13:53:20 2007 --- plugins/IfCategory.pl Fri May 25 15:27:34 2007 *************** *** 1,4 **** --- 1,5 ---- # IfCategory.pl -- category type conditional plugin by drk + # 2007/05/25 modified by hirosiki package MT::plugins::IfCategory; use MT::Template::Context; *************** *** 8,13 **** --- 9,29 ---- MT::Template::Context->add_conditional_tag(IfCat_eq_Ent => \&ifcat_eq_ent); MT::Template::Context->add_conditional_tag(IfNotCat_eq_Ent => sub{!ifcat_eq_ent(@_)}); + MT::Template::Context->add_conditional_tag(IfCurrentCategory => \&ifcurrentcategory); + MT::Template::Context->add_conditional_tag(IfNotCurrentCategory => sub{!ifcurrentcategory(@_)}); + + sub ifcurrentcategory { + my $cat = $_[0]->stash('category') + or return $_[0]->error(MT->translate( + "You used an [_1] tag outside of the proper context.", + '<$MTCategoryLabel$>' )); + my $catlabel_this = _hdlr_category_label(@_); + my $catlabel_arc = _hdlr_archive_category(@_); + my $catlabel_ent = _hdlr_entry_category(@_); + + ( $catlabel_arc eq $catlabel_this ) || ( $catlabel_ent eq $catlabel_this ); + } + sub ifcat_eq_arc { my $cat = $_[0]->stash('category')