User:Gregbard/assessortags.js

Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
importScript('User:AzaToth/morebits.js');
 
//See [[User:Drilnoth/assessortags.js/doc]] for details.
//Greatly based off of [[User:Ioeth/friendlytag.js]].
// <nowiki>
// If assessortagsConfig aint exist.
if( typeof( assessortagsConfig ) == 'undefined' ) {
    assessortagsConfig = {};
}
 
/**
 assessortagsConfig.summaryAd ( string )
 If ad should be added or not to summary, default " using [[User:Drilnoth/assessortags.js/doc|AssessorTags]]"
 */
if( typeof( assessortagsConfig.summaryAd ) == 'undefined' ) {
    assessortagsConfig.summaryAd = " using [[User:Drilnoth/assessortags.js/doc|AssessorTags]]";
}
 
/**
 assessortagsConfig.groupByDefault ( boolean )
 */
if( typeof( assessortagsConfig.groupByDefault ) == 'undefined' ) {
    assessortagsConfig.groupByDefault = true;
}
 
/**
 assessortagsConfig.groupingBanner ( choice between WikiProjectBanners and WikiProjectBannerShell )
 */
if( typeof( assessortagsConfig.groupingBanner ) == 'undefined' ) {
    assessortagsConfig.groupingBanner = "WikiProjectBannerShell";
}
 
/**
 assessortagsConfig.markTaggedPagesAsMinor ( boolean )
 */
if( typeof( assessortagsConfig.markTaggedPagesAsMinor ) == 'undefined' ) {
    assessortagsConfig.markTaggedPagesAsMinor = true;
}
 
function assessortags() {
    var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
    if( wgNamespaceNumber == 1 || wgNamespaceNumber == 5 || wgNamespaceNumber == 7 || wgNamespaceNumber == 11 || wgNamespaceNumber == 13 ||wgNamespaceNumber == 15 || wgNamespaceNumber == 101 )
    mw.util.addPortletLink( 'p-cactions', "javascript:assessortags.callback()", "wikiprojects", "ca-wikiprojecttags", "Add WikiProject banners", "");
}
 
$(assessortags);
 
assessortags.callback = function assessortagsCallback() {
    var Window = new SimpleWindow( 400, 500 );
    var form = new QuickForm( assessortags.callback.evaluate );
 
    {
        Window.setTitle( "WikiProject tagging" );
 
        form.append( {
                type: 'checkbox',
                list: [
                    {
                        label: 'Group into {{' + assessortagsConfig.groupingBanner + '}}',
                        value: 'group',
                        name: 'group',
                        tooltip: 'If adding two or more banners and this box is checked, all newly added banners will be grouped into a single {{' + assessortagsConfig.groupingBanner + '}} template.',
                        checked: assessortagsConfig.groupByDefault
                    }
                ]
            }
        );
 
        form.append( { type:'submit' } );
 
        if( typeof( assessortagsConfig.customBannerList ) == 'object' ) {
            form.append( { type:'header', label:'Custom' } );
            form.append( { type: 'checkbox', name: 'custom', list: assessortagsConfig.customBannerList } );
            form.append( { type:'submit' } );
        }
 
        form.append( { type:'header', label:'WikiProject banners (topical)' } );
        form.append( { type:'checkbox', name: 'main', list: assessortags.mainList } );
 
        form.append( { type:'header', label:'WikiProject banners (other)' } );
        form.append( { type:'checkbox', name: 'second', list: assessortags.secondList } );
    }
 
    form.append( { type:'submit' } );
 
    var result = form.render();
    Window.setContent( result );
    Window.display();
}
 
assessortags.mainList = [
    {
        label: 'Albums',
        value: 'Album',
        subgroup: {
            name: 'album',
            type: 'checkbox',
            list: [
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                }
            ]
        }
    },
    {
        label: 'Biography',
        value: 'WPBiography',
        subgroup: {
            name: 'biography',
            type: 'checkbox',
            list: [
                {
                    label: "Actors and Filmmakers WikiProject",
                    value: "|filmbio-work-group=yes"
                },
                {
                    label: "Arts and Entertainment work group",
                    value: "|a&e-work-group=yes"
                },
                {
                    label: "British Royalty WikiProject",
                    value: "|british-royalty=yes"
                },
                {
                    label: "Military work group",
                    value: "|military-work-group=yes"
                },
                {
                    label: "Musicians WikiProject",
                    value: "|musician-work-group=yes"
                },
                {
                    label: "Peerage and Baronetage WikiProject",
                    value: "|peerage-work-group=yes"
                },
                {
                    label: "Politics and Government work group",
                    value: "|politician-work-group=yes"
                },
                {
                    label: "Royalty WikiProject",
                    value: "|royalty-work-group=yes"
                },
                {
                    label: "Science and Academia work group",
                    value: "|s&a-work-group=yes"
                },
                {
                    label: "Sports and Games work group",
                    value: "|sports-work-group=yes"
                },
                {
                    label: "Living: Yes",
                    value: "|living=yes",
                    tooltip: 'Check box if person is alive, otherwise check box below.'
                },
                {
                    label: "Living: No",
                    value: "|living=no",
                    tooltip: 'Check box if person is no longer alive, otherwise check box above.'
                },
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                },
                {
                    label: "Needs persondata",
                    value: "|needs-persondata=yes"
                },
                {
                    label: "Needs an image",
                    value: "|needs-photo=yes"
                },
                {
                    label: "Active politician",
                    value: "|activepol=yes"
                }
            ]
        }
    },
    {
        label: 'Books',
        value: 'WPBooks',
        subgroup: {
            name: 'books',
            type: 'checkbox',
            list: [
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                },
                {
                    label: "Needs an image",
                    value: "|needs-infobox-cover=yes"
                }
            ]
        }
    },
    {
        label: 'Computing',
        value: 'WikiProject Computing',
        subgroup: {
            name: 'computing',
            type: 'checkbox',
            list: [
                {
                    label: "Amiga WikiProject",
                    value: "|amiga=yes"
                },
                {
                    label: "Computer and Information Security task force",
                    value: "|security=yes"
                },
                {
                    label: "Computer Hardware task force",
                    value: "|hardware=yes"
                },
                {
                    label: "Computer Networking WikiProject",
                    value: "|network=yes"
                },
                {
                    label: "Early Computers task force",
                    value: "|early-comp=yes"
                },
                {
                    label: "Malware WikiProject",
                    value: "|malware=yes"
                },
                {
                    label: "Websites WikiProject",
                    value: "|websites=yes"
                },
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                },
                {
                    label: "Needs an image",
                    value: "|image-needed=yes"
                }
            ]
        }
    },
    {
        label: 'Dungeons & Dragons',
        value: 'D&D',
        subgroup: {
            name: 'dungeonsanddragons',
            type: 'checkbox',
            list: [
                {
                    label: "Dragonlance task force",
                    value: "|Dragonlance=yes"
                },
                {
                    label: "Forgotten Realms task force",
                    value: "|Realms=yes"
                },
                {
                    label: "Greyhawk task force",
                    value: "|Greyhawk=yes"
                },
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs general cleanup",
                    value: "|cleanup=yes"
                },
                {
                    label: "Needs rewrite to be out-of-universe",
                    value: "|fiction=yes"
                },
                {
                    label: "Good target for articles to be merged to",
                    value: "|merge=yes"
                }
            ]
        }
    },
    {
        label: 'Films',
        value: 'Film',
        subgroup: {
            name: 'films',
            type: 'checkbox',
            list: [
                {
                    label: "American Cinema task force",
                    value: "|American-task-force=yes"
                },
                {
                    label: "Argentine Cinema task force",
                    value: "|Argentine-task-force=yes"
                },
                {
                    label: "Australian Cinema task force",
                    value: "|Australian-task-force=yes"
                },
                {
                    label: "Film Awards task force",
                    value: "|Awards-task-force=yes"
                },
                {
                    label: "Baltic Cinema task force",
                    value: "|Baltic-task-force=yes"
                },
                {
                    label: "British Cinema task force",
                    value: "|British-task-force=yes"
                },
                {
                    label: "Canadian Cinema task force",
                    value: "|Canadian-task-force=yes"
                },
                {
                    label: "Chinese Cinema task force",
                    value: "|Chinese-task-force=yes"
                },
                {
                    label: "Film Festivals task force",
                    value: "|Festival-task-force=yes"
                },
                {
                    label: "Filmmaking task force",
                    value: "|Filmmaking-task-force=yes"
                },
                {
                    label: "French Cinema task force",
                    value: "|French-task-force=yes"
                },
                {
                    label: "German Cinema task force",
                    value: "|German-task-force=yes"
                },
                {
                    label: "Indian Cinema task force",
                    value: "|Indian-task-force=yes"
                },
                {
                    label: "Italian Cinema task force",
                    value: "|Italian-task-force=yes"
                },
                {
                    label: "Japanese Cinema task force",
                    value: "|Japanese-task-force=yes"
                },
                {
                    label: "Korean Cinema task force",
                    value: "|Korean-task-force=yes"
                },
                {
                    label: "New Zealand Cinema task force",
                    value: "|NZ-task-force=yes"
                },
                {
                    label: "Nordic Cinema task force",
                    value: "|Nordic-task-force=yes"
                },
                {
                    label: "Persian Cinema task force",
                    value: "|Persian-task-force=yes"
                },
                {
                    label: "Southeast Asian Cinema task force",
                    value: "|Southeast-task-force=yes"
                },
                {
                    label: "Soviet and Post-Soviet Cinema task force",
                    value: "|Soviet-task-force=yes"
                },
                {
                    label: "Spanish Cinema task force",
                    value: "|Spanish-task-force=yes"
                },
                {
                    label: "War Films task force",
                    value: "|War-task-force=yes"
                },
                {
                    label: "Needs a plot summary",
                    value: "|needs-plot=yes"
                },
                {
                    label: "Needs more information about cast",
                    value: "|needs-cast=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                },
                {
                    label: "Needs an image",
                    value: "|needs-image=yes"
                }
            ]
        }
    },
    {
        label: 'LGBT Studies',
        value: 'LGBTProject'
    },
    {
        label: 'Military History',
        value: 'WPMILHIST',
        subgroup: {
            name: 'milhist',
            type: 'checkbox',
            list: [
                {
                    label: "No applicable task force",
                    value: "|no-task-force=yes"
                },
                {
                    label: "African Military History task force",
                    value: "|African=yes"
                },
                {
                    label: "American Civil War task force",
                    value: "|ACW=yes"
                },
                {
                    label: "American Revolutionary War task force",
                    value: "|ARW=yes"
                },
                {
                    label: "Australian Military History task force",
                    value: "|Australian=yes"
                },
                {
                    label: "Aviation, Military task force",
                    value: "|Aviation=yes"
                },
                {
                    label: "Balkan Military History task force",
                    value: "|Balkan=yes"
                },
                {
                    label: "Baltic Military History task force",
                    value: "|Baltic=yes"
                },
                {
                    label: "Biography task force",
                    value: "|Biography=yes"
                },
                {
                    label: "British Military History task force",
                    value: "|British=yes"
                },
                {
                    label: "Canadian Military History task force",
                    value: "|Canadian=yes"
                },
                {
                    label: "Chinese Military History task force",
                    value: "|Chinese=yes"
                },
                {
                    label: "Classical Warfare task force",
                    value: "|Classical=yes"
                },
                {
                    label: "Crusades task force",
                    value: "|Crusades=yes"
                },
                {
                    label: "Dutch Military History task force",
                    value: "|Dutch=yes"
                },
                {
                    label: "Early Modern Warfare task force",
                    value: "|Early-Modern=yes"
                },
                {
                    label: "Films, War task force",
                    value: "|Films=yes"
                },
                {
                    label: "French Military History task force",
                    value: "|French=yes"
                },
                {
                    label: "Fortifications task force",
                    value: "|Fortifications=yes"
                },
                {
                    label: "German Military History task force",
                    value: "|German=yes"
                },
                {
                    label: "Historiography, Military task force",
                    value: "|Historiography=yes"
                },
                {
                    label: "Indian Military History task force",
                    value: "|Indian=yes"
                },
                {
                    label: "Intelligence task force",
                    value: "|Intel=yes"
                },
                {
                    label: "Italian Military History task force",
                    value: "|Italian=yes"
                },
                {
                    label: "Japanese Military History task force",
                    value: "|Japanese=yes"
                },
                {
                    label: "Korean Military History task force",
                    value: "|Korean=yes"
                },
                {
                    label: "Land Vehicles, Military task force",
                    value: "|Land-vehicles=yes"
                },
                {
                    label: "Lebanese Military History task force",
                    value: "|Lebanese=yes"
                },
                {
                    label: "Maritime Warfare task force",
                    value: "|Maritime=yes"
                },
                {
                    label: "Medieval Warfare task force",
                    value: "|Medieval=yes"
                },
                {
                    label: "Memorials and Cemeteries, Military task force",
                    value: "|Memorials=yes"
                },
                {
                    label: "Middle Eastern Military History task force",
                    value: "|Middle-Eastern=yes"
                },
                {
                    label: "Muslim Military History, Early task force",
                    value: "|Muslim=yes"
                },
                {
                    label: "Napoleonic Era task force",
                    value: "|Napoleonic=yes"
                },
                {
                    label: "National Militaries task force",
                    value: "|National=yes"
                },
                {
                    label: "New Zealand Military History task force",
                    value: "|New-Zealand=yes"
                },
                {
                    label: "Nordic Military History task force",
                    value: "|Nordic=yes"
                },
                {
                    label: "Ottoman Military History task force",
                    value: "|Ottoman=yes"
                },
                {
                    label: "Polish Military History task force",
                    value: "|Polish=yes"
                },
                {
                    label: "Romanian Military History task force",
                    value: "|Romanian=yes"
                },
                {
                    label: "Russian Military History task force",
                    value: "|Russian=yes"
                },
                {
                    label: "Science, Military task force",
                    value: "|Science=yes"
                },
                {
                    label: "South American Military History task force",
                    value: "|South-American=yes"
                },
                {
                    label: "Southeast Asian Military History task force",
                    value: "|Southeast-Asian=yes"
                },
                {
                    label: "Spanish Military History task force",
                    value: "|Spanish=yes"
                },
                {
                    label: "Taiwanese Military History task force",
                    value: "|Taiwanese=yes"
                },
                {
                    label: "Technology and Engineering, Military task force",
                    value: "|Technology=yes"
                },
                {
                    label: "United States Military History task force",
                    value: "|US=yes"
                },
                {
                    label: "Weaponry task force",
                    value: "|Weaponry=yes"
                },
                {
                    label: "World War I task force",
                    value: "|WWI=yes"
                },
                {
                    label: "World War II task force",
                    value: "|WWII=yes"
                }
            ]
        }
    },
    {
        label: 'Mississippi',
        value: 'WikiProject Mississippi',
        subgroup: {
            name: 'mississippi',
            type: 'checkbox',
            list: [
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs picture",
                    value: "|needs-picture=yes"
                },
                {
                    label: "Needs reassessment",
                    value: "|reassess=yes"
                },
                {
                    label: "Candidate for merging",
                    value: "|merge=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                }
            ]
        }
    },
    {
        label: 'Philosophy',
        value: 'WikiProject Philosophy',
        subgroup: {
            name: 'philosophy',
            type: 'checkbox',
            list: [
             { label: 'Philosophers', value: '|philosopher=yes' },
             { label: 'Literature', value: '|literature=yes' },
            { label: 'Aesthetics', value: '|aesthetics=yes'},
            { label: 'Epistemology', value: '|epistemology=yes'},
            { label: 'Ethics', value: '|ethics=yes' },
            { label: 'Logic', value: '|logic=yes' },
            { label: 'Metaphysics', value: '|metaphysics=yes' },                { label: 'Social', value: '|social=yes' },
             { label: 'Analytic', value: '|analytic=yes' },
             { label: 'Continental', value: '|continental=yes' },
             { label: 'Eastern', value: '|eastern=yes' },
            { label: 'Ancient', value: '|ancient=yes' },
            { label: 'Medieval', value: '|medieval=yes' },
            { label: 'Modern', value: '|modern=yes' },
            { label: 'Contemporary', value: '|contemporary=yes' },
             { label: 'Language', value: '|language=yes' },
             { label: 'Mind', value: '|mind=yes' },
             { label: 'Religion', value: '|religion=yes' },
             { label: 'Continental', value: '|continental=yes' },
            { label: 'High importance', value: '|importance=high'},
            { label: 'Mid importance', value: '|importance=mid'},
            { label: 'Low importance', value: '|importance=low'}, 
            { label: 'Stub class', value: '|class=stub'}, 
            { label: 'Start class', value: '|class=start'}, 
            { label: 'C class', value: '|class=C'}, 
                  ]
        }
    },
    {
        label: 'Russia',
        value: 'WikiProject Russia',
        subgroup: {
            name: 'russia',
            type: 'checkbox',
            list: [
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                }
            ]
        }
    },
    {
        label: 'Simpsons, The',
        value: 'WikiProject The Simpsons'
    },
    {
        label: 'Songs',
        value: 'Songs',
        subgroup: {
            name: 'songs',
            type: 'checkbox',
            list: [
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                }
            ]
        }
    },
    {
        label: 'Soviet Union',
        value: 'WikiProject Soviet Union',
        subgroup: {
            name: 'soviet',
            type: 'checkbox',
            list: [
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                },
                {
                    label: "Needs an infobox",
                    value: "|needs-infobox=yes"
                }
            ]
        }
    },
    {
        label: 'Vital Articles',
        value: 'Vital',
        tooltip: 'Articles must be listed at [[WP:VA/E]] to be added to this project.',
        subgroup: {
            name: 'vital',
            type: 'checkbox',
            list: [
                {
                    label: "Needs immediate attention",
                    value: "|attention=yes"
                }
            ]
        }
    }
];
 
assessortags.secondList = [
    {
        label: 'Disambiguation',
        value: 'DisambigProject'
    }
];
 
assessortags.callbacks = {
    main: function( self ) {
        var form = self.responseXML.getElementById( 'editform' );
        var tagRe, text = '', summaryText = ''; //Is the summaryText still needed?
        var tags = new Array(), groupableTags = new Array(); //Is the groupableTags really still needed? Removing it fowls stuff up, but it seems like it should be removable
 
        // Check for preexisting tags
        Status.info( 'Info', 'Looking for banners already on page' );
        for( var i = 0; i < self.params.tags.length; i++ ) {
            tagRe = new RegExp( '(\\{\\{' + self.params.tags[i] + '(\\||\\}\\}))', 'im' );
            if( !tagRe.exec( form.wpTextbox1.value ) ) {
                tags = tags.concat( self.params.tags[i] );
            } else {
                Status.info( 'Info', 'Found \{\{' + self.params.tags[i]
                    + '\}\} on the article already...excluding' );
            }
        }
 
        if( self.params.group && tags.length >= 2 ) {
            Status.info( 'Info', 'Adding banners to top of page' );
            Status.info( 'Info', 'Grouping banners into \{\{' + assessortagsConfig.groupingBanner + '\}\}' );
 
            groupableTags.sort();
            text += '\{\{' + assessortagsConfig.groupingBanner + '|1=' + '\n';
            for( var i = 0; i < tags.length; i++ ) {
                text += '\{\{' + tags[i];
 
                if( tags[i] == 'D&D' ) {
                    text += self.params.dungeonsanddragonsSubcategory.join("");
                } else if( tags[i] == 'WPBiography' ) {
                    text += self.params.biographySubcategory.join("");
                } else if( tags[i] == 'Film' ) {
                    text += self.params.filmsSubcategory.join("");
                } else if( tags[i] == 'WikiProject Computing' ) {
                    text += self.params.computingSubcategory.join("");
                } else if( tags[i] == 'WPBooks' ) {
                    text += self.params.booksSubcategory.join("");
                } else if( tags[i] == 'Vital' ) {
                    text += self.params.vitalSubcategory.join("");
                } else if( tags[i] == 'WPMILHIST' ) {
                    text += self.params.milhistSubcategory.join("");
                } else if( tags[i] == 'WikiProject Mississippi' ) {
                    text += self.params.mississippiSubcategory.join("");
                } else if( tags[i] == 'WikiProject Russia' ) {
                    text += self.params.russiaSubcategory.join("");
                } else if( tags[i] == 'WikiProject Soviet Union' ) {
                    text += self.params.sovietSubcategory.join("");
                } else if( tags[i] == 'Album' ) {
                    text += self.params.albumSubcategory.join("");
                } else if( tags[i] == 'Songs' ) {
                    text += self.params.songsSubcategory.join("");
                }
 
                text += '\}\}\n';
            }
            text += '\}\}\n';
        } else {
            tags = tags.concat( groupableTags );
        }
 
        if( self.params.group && tags.length < 2 ) {
            Status.info( 'Info', 'Adding banners to top of page' );
 
            tags.sort();
            for( var i = 0; i < tags.length; i++ ) {
                text += '\{\{' + tags[i];
                if( tags[i] == 'D&D' ) {
                    text += self.params.dungeonsanddragonsSubcategory.join("");
                } else if( tags[i] == 'WPBiography' ) {
                    text += self.params.biographySubcategory.join("");
                } else if( tags[i] == 'Film' ) {
                    text += self.params.filmsSubcategory.join("");
                } else if( tags[i] == 'WikiProject Computing' ) {
                    text += self.params.computingSubcategory.join("");
                } else if( tags[i] == 'WPBooks' ) {
                    text += self.params.booksSubcategory.join("");
                } else if( tags[i] == 'Vital' ) {
                    text += self.params.vitalSubcategory.join("");
                } else if( tags[i] == 'WPMILHIST' ) {
                    text += self.params.milhistSubcategory.join("");
                } else if( tags[i] == 'WikiProject Mississippi' ) {
                    text += self.params.mississippiSubcategory.join("");
                } else if( tags[i] == 'WikiProject Russia' ) {
                    text += self.params.russiaSubcategory.join("");
                } else if( tags[i] == 'WikiProject Soviet Union' ) {
                    text += self.params.sovietSubcategory.join("");
                } else if( tags[i] == 'Album' ) {
                    text += self.params.albumSubcategory.join("");
                } else if( tags[i] == 'Songs' ) {
                    text += self.params.songsSubcategory.join("");
                }
                text += '\}\}\n';
            }
         }
 
        text += form.wpTextbox1.value;
        summaryText += 'Added WikiProject banners to page' + assessortagsConfig.summaryAd;
 
        var postData = {
            'wpMinoredit': assessortagsConfig.markTaggedPagesAsMinor ? 1 : undefined,
            'wpStarttime': form.wpStarttime.value,
            'wpEdittime': form.wpEdittime.value,
            'wpAutoSummary': form.wpAutoSummary.value,
            'wpEditToken': form.wpEditToken.value,
            'wpSummary': summaryText,
            'wpTextbox1': text
        };
 
        self.post( postData );
    }
}
 
assessortags.callback.evaluate = function assessortagsCallbackEvaluate(e) {
    var form = e.target;
    {if( typeof( assessortagsConfig.customBannerList ) == 'object' ) {
            var tags = form.getChecked( 'main' ).concat( form.getChecked( 'second' ) ).concat( form.getChecked( 'custom' ) );
        } else {
            var tags = form.getChecked( 'main' ).concat( form.getChecked( 'second' ) );
        }
        var albumSubcategory = form.getChecked( 'main.album' );
        var biographySubcategory = form.getChecked( 'main.biography' );
        var booksSubcategory = form.getChecked( 'main.books' );
        var computingSubcategory = form.getChecked( 'main.computing' );
        var dungeonsanddragonsSubcategory = form.getChecked( 'main.dungeonsanddragons' );
        var filmsSubcategory = form.getChecked( 'main.films' );
        var milhistSubcategory = form.getChecked( 'main.milhist' );
        var mississippiSubcategory = form.getChecked( 'main.mississippi' );
        var russiaSubcategory = form.getChecked( 'main.russia' );
        var songsSubcategory = form.getChecked( 'main.songs' );
        var sovietSubcategory = form.getChecked( 'main.soviet' );
        var vitalSubcategory = form.getChecked( 'main.vital' );
    }
    var params;
 
    if( tags.length == 0 ) {
        alert( 'Please select at least one banner.' );
        return;
    }
    params = {
        tags: tags,
        group: form.group.checked,
        albumSubcategory: albumSubcategory ? albumSubcategory : null,
        biographySubcategory: biographySubcategory ? biographySubcategory : null,
        booksSubcategory: booksSubcategory ? booksSubcategory : null,
        computingSubcategory: computingSubcategory ? computingSubcategory : null,
        dungeonsanddragonsSubcategory: dungeonsanddragonsSubcategory ? dungeonsanddragonsSubcategory : null,
        filmsSubcategory: filmsSubcategory ? filmsSubcategory : null,
        milhistSubcategory: milhistSubcategory ? milhistSubcategory : null,
        mississippiSubcategory: mississippiSubcategory ? mississippiSubcategory : null,
        russiaSubcategory: russiaSubcategory ? russiaSubcategory : null,
        songsSubcategory: songsSubcategory ? songsSubcategory : null,
        sovietSubcategory: sovietSubcategory ? sovietSubcategory : null,
        vitalSubcategory: vitalSubcategory ? vitalSubcategory : null,
        rcid: QueryString.exists( 'rcid' ) ? QueryString.get( 'rcid' ) : ''
        }
 
    Status.init( form );
 
    var query = {
        'title': wgPageName,
        'action': 'submit'
    };
    Wikipedia.actionCompleted.redirect = wgPageName;
    Wikipedia.actionCompleted.notice = "Tagging complete, reloading article";
    var wikipedia_wiki = new Wikipedia.wiki( 'Article modification', query, assessortags.callbacks.main );
    wikipedia_wiki.params = params;
    wikipedia_wiki.get();
}
// </nowiki>
Retrieved from "https://en.wikipedia.org/w/index.php?title=User:Gregbard/assessortags.js&oldid=1016132460"