Template:Category handler: Difference between revisions

Blacklist check moved outside {{/numbered}}. Added "basic usage check", so parameter 1 can behave normally when advanced usage. Added the evil "all" parameter that categorizes in all namespaces.
(More efficient code for the "category" parameter. No change in functionality.)
(Blacklist check moved outside {{/numbered}}. Added "basic usage check", so parameter 1 can behave normally when advanced usage. Added the evil "all" parameter that categorizes in all namespaces.)
Line 10:
 
| <!--Don't categorise (result was "dontcat" or "dontcatdontcat" and so on)-->
| <!--Check blacklist-->
| <!--If "data" is a number, return the corresponding
{{#switch:
numbered parameter, else return "data"-->
{{#ifeq: {{lc: {{{nocat|}}} }} | false
{{cat handler/numbered
| <!--"nocat=false", skip blacklist check-->
| 1 = {{{1|}}}
| 2{{#ifeq: ={{lc: {{{2categories|}}} }} | yes
| <!--"categories=yes", skip blacklist check-->
| 3 = {{{3|}}}
| 4{{#ifeq: ={{lc: {{{4category|}}} }} | yes
| <!--"category=yes", skip blacklist check-->
| 5 = {{{5|}}}
| {{cat handler/blacklist| page = {{{page|}}} }} <!--Check blacklist-->
| 6 = {{{6|}}}
| 7 = {{{7|}}}
| 8 = {{{8|}}}
| 9 = {{{9|}}}
| 10 = {{{10|}}}
| data =
{{#switch:
{{#ifeq: {{lc: {{{nocat|}}} }} | false
| <!--"nocat=false", skip blacklist check-->
| {{#ifeq: {{lc: {{{categories|}}} }} | yes
| <!--"categories=yes", skip blacklist check-->
| {{#ifeq: {{lc: {{{category|}}} }} | yes
| <!--"category=yes", skip blacklist check-->
| {{cat handler/blacklist| page = {{{page|}}} }} <!--Check blacklist-->
}}
}}
}}
}}
| hide = <!--Blacklist returned "hide", don't categorize-->
| #default =
<!--Check what namespace, and return the data for it-->
<!--RespectingCheck if any emptynamespace parametersparameter onis purposedefined-->
{{#ifeq: h0#384!5nea+w9 | {{{all| {{{main| {{{talk| {{{user| {{{wikipedia| {{{file| {{{mediawiki| {{{template| {{{help| {{{category| {{{portal| {{{other| h0#384!5nea+w9 }}} }}} }}} }}} }}} }}} }}} }}} }}} }}} }}} }}}
| <!--No namespace parameters fed, basic usage-->
{{namespace detect
| main = {{{main1| {{{other| 1 }}} }}}
| talkfile = {{{talk1| {{{other|}}} }}}
| userhelp = {{{user1| {{{other|}}} }}}
| wikipediacategory = {{{wikipedia1| {{{project| {{{other|}}} }}} }}}
| fileportal = {{{file1| {{{image| {{{other| 1 }}} }}} }}}
| mediawiki = {{{mediawiki| {{{other|}}} }}}
| template = {{{template| {{{other|}}} }}}
| help = {{{help| {{{other| 1 }}} }}}
| category = {{{category| {{{other| 1 }}} }}}
| portal = {{{portal| {{{other| 1 }}} }}}
| other = {{{other|}}} <!--Namespace special or a new namespace-->
| page = {{{page|}}} <!--For testing and demonstration-->
}}
| <!--Namespace parameters fed, advanced usage.
| <!-- If "data" is a number, return the corresponding
numbered parameter, else return "data". -->
{{{all|}}}{{cat handler/numbered
| 1 = {{{1|}}}
| 2 = {{{2|}}}
| 3 = {{{3|}}}
| 4 = {{{4|}}}
| 5 = {{{5|}}}
| 6 = {{{6|}}}
| 7 = {{{7|}}}
| 8 = {{{8|}}}
| 9 = {{{9|}}}
| 10 = {{{10|}}}
| data =
<!--Check what namespace, and return the data for it-->.
Respecting empty parameters on purpose. -->
{{namespace detect
| {{#ifeq:main = {{lc:{main| {{{categoriesother|}}} }} | yes}
| talk = {{{talk| {{{other|}}} }}}
| user = {{{user| {{{other|}}} }}}
| wikipedia = {{{wikipedia| {{{project| {{{other|}}} }}} }}}
| file = {{#ifeq:{file| {{lc:{image| {{{categoryother|}}} }}} | yes}}}
| mediawiki = {{{mediawiki| {{{other|}}} }}}
| template = {{{template| {{{other|}}} }}}
| help = {{{help| {{{other| 1 }}} }}}
| category = {{{category| {{{other| 1 }}} }}}
| portal = {{{portal| {{{other| 1 }}} }}}
| other = {{{other|}}} <!--Namespace special or a new namespace-->
| page = {{{page|}}} <!--For testing and demonstration-->
}}
}}
}}
Anonymous user