User:ToaMeiko/createpage.js

From Brickipedia, the LEGO Wiki

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/***************************************/
/* PageMakerPro.                       */
/* Written by: Shining-Armor.          */
/* Adapted by ToaMeiko for Brickipedia */
/* http://en.brickimedia.org           */
/*                                     */
/* Derived from adaptations by         */
/* Star Warden for the                 */
/* Dragon Mania Legends Wiki           */
/* dragon-mania-legends-wiki.mobga.me  */
/* License: GPL v2.                    */
/***************************************/
 
(function ($, mw, window) {
 
    /***************************************************/
    /* i18n: Please contribute translations here only! */
    /***************************************************/
 
    var i18n = {
 
       "de": {
            formTitle: "Erstelle eine neue Seite",
            formStart: "Erstellen",
            formCancel: "Schließen",
            formPage: "Spezial:Leerseite/Seite_erstellen",
            formMain: "Artikel",
            formCat: "Kategorie",
            formMW: "MediaWiki",
            formTemp: "Vorlage",
            formCont: "Seiteninhalt",
            formBlank: "Leer",
        },
 
       "en": {
            formTitle: "Create a new page",
            formStart: "Create",
            formCancel: "Close",
            formPage: "Special:BlankPage/newpage",
            formMain: "Main",
            formCat: "Category",
            formMW: "MediaWiki",
            formTemp: "Template",
            formCont: "Page Content",
            formBlank: "Blank",
        },
 
        "es": {
            formTitle: "Crear una nueva página",
            formStart: "Crear",
            formCancel: "Cerrar",
            formPage: "Especial:Blanquear_página/Nueva_Página",
            formMain: "Portada",
            formCat: "Categoría",
            formMW: "MediaWiki",
            formTemp: "Plantilla",
            formCont: "Contenido",
            formBlank: "En blanco",
        },
 
       "fr": {
            formTitle: "Créer une nouvelle page",
            formStart: "Créer",
            formCancel: "Fermer",
            formPage: "Spécial:Page_blanche/Nouvelle_Page",
            formMain: "Principal",
            formCat: "Catégorie",
            formMW: "MediaWiki",
            formTemp: "Modèle",
            formCont: "Contenu de la page",
            formBlank: "Vide",
        },
 
        "lt": {
            formTitle: "Sukurti naują puslapį",
            formStart: "Sukurti",
            formCancel: "Uždaryti",
            formPage: "Specialus:Tuščias_puslapis/Naujas_puslapis",
            formMain: "Pagrindinis",
            formCat: "Kategorija",
            formMW: "MediaWiki",
            formTemp: "Šablonas",
            formCont: "Lapo turinys",
            formBlank: "Tusčias",
        },
 
       "nl": {
            formTitle: "Maak een nieuwe pagina",
            formStart: "Maak",
            formCancel: "Sluit",
            formPage: "Speciaal:LegePagina/nieuwepagina",
            formMain: "Main",
            formCat: "Categorie",
            formMW: "MediaWiki",
            formTemp: "Sjabloon",
            formCont: "Paginainhoud",
            formBlank: "Leeg",
        },
 
        "pl": {
            formTitle: "Utwórz nową stronę",
            formStart: "Utwórz",
            formCancel: "Zamknij",
            formPage: "Specjalna:Pusta_strona/Utwórz_stronę",
            formMain: "Główna",
            formCat: "Kategoria",
            formMW: "MediaWiki",
            formTemp: "Szablon",
            formCont: "Treść strony",
            formBlank: "Pusta",
        },

    };
 
    /****************************************************/
    /* End of i18n. Please don't change anything below. */
    /****************************************************/
 
    /* Variables for use in the script */
    var server = mw.config.get("wgServer");
    var skin = mw.config.get("skin");
    var lang = mw.config.get("wgUserLanguage");
    if (i18n[lang] === undefined) {
        lang = 'en';
    }
    var page = mw.config.get("wgPageName");
    var formHTML = '<form class="wikiaform"><fieldset id="page-create-fieldset"><input type="radio" name="namespace" value="main" checked="checked">' + i18n[lang].formMain+ '</input><input type="radio" name="namespace" value="fan">Custom/Story/Artwork</input><input type="radio" name="namespace" value="category">' + i18n[lang].formCat + '</input><input type="radio" name="namespace" value="mediawiki">' + i18n[lang].formMW + '</input><input type="radio" name="namespace" value="template">' + i18n[lang].formTemp + '</input><br/><br/><input type="text" id="NewPageTitle" style="width: 80%;" placeholder="Page title"/><br/><br/><span>' + i18n[lang].formCont + ': </span><input type="radio" name="pagecontent" value="blank" checked="checked">' + i18n[lang].formBlank; '</input><br /><br /></fieldset></form>';
    var monobookHTML = '<fieldset id="page-create-fieldset" style="width: 70%;"><legend>' + i18n[lang].formTitle + '</legend><input type="radio" name="namespace" value="main" checked="checked">' + i18n[lang].formMain + '</input><input type="radio" name="namespace" value="fan">Custom/Story/Artwork</input><input type="radio" name="namespace" value="category">' + i18n[lang].formCat + '</input><input type="radio" name="namespace" value="mediawiki">' + i18n[lang].formMW + '</input><input type="radio" name="namespace" value="template">' + i18n[lang].formTemp + '</input><br/><br/><input type="text" id="NewPageTitle" style="width: 80%;" placeholder="Page title"/><br/><br/><span>' + i18n[lang].formCont + ': </span><input type="radio" name="pagecontent" value="blank" checked="checked">' + i18n[lang].formBlank + '</input><input type="radio" name="pagecontent" value="preloadSet">Set</input><input type="radio" name="pagecontent" value="preloadMinifig">Minifigure</input><input type="radio" name="pagecontent" value="preloadTheme">Theme</input><input type="radio" name="pagecontent" value="preloadPart">Part</input><input type="radio" name="pagecontent" value="preloadBook">Book</input><input type="radio" name="pagecontent" value="preloadVideoGame">Game (Video)</input><input type="radio" name="pagecontent" value="preloadOnlineGame">Game (Online)</input><input type="radio" name="pagecontent" value="preloadMagazine">Magazine</input><input type="radio" name="pagecontent" value="preloadFilm">Film</input><input type="radio" name="pagecontent" value="preloadEpisode">Episode</input><input type="radio" name="pagecontent" value="preloadSeries">Series</input><input type="radio" name="pagecontent" value="preloadRide">Ride</input><input type="radio" name="pagecontent" value="preloadPerson">Person</input><br /><br /><button id="create-button" style="float: right;">' + i18n[lang].formStart + '</button></fieldset>';
 
    if (page != i18n[lang].formPage) {
        $("#p-tb ul").append('<li><a href="' + server + '/wiki/' + i18n[lang].formPage + '">' + i18n[lang].formTitle + '</a></li>');
    } else {
        makePage();
    }
 
    function makeForm() {
        $.showCustomModal(i18n[lang].formTitle, formHTML, {
            id: "page-create",
            width: 500,
            buttons: [{
                id: "page-create-close",
                message: i18n[lang].formCancel,
                handler: function () {
                    $("#page-create").closeModal();
                }
            }, {
                id: "page-create-go",
                defaultButton: true,
                message: i18n[lang].formStart,
                handler: function () {
                    redirectWindow();
                }
            }]
        });
    }
 
    function makePage() {
        $("title").text("Create new page - " + mw.config.get("wgSiteName"));
        $("#firstHeading").html("Create a new page");
        $("#bodyContent").html(monobookHTML);
        $("#create-button").click(function () {
            redirectWindow();
        });
    }
 
    function redirectWindow() {
        var namespace = $("input[name=namespace]:checked").val();
        var target = $("#NewPageTitle").val();
        var populated = $("input[name=pagecontent]:checked").val();
        var link = server + '/wiki/';
        
        /* Preloadable Outlines */
        var preloadSet = $("input[name=preloadSet]:checked").val();
        var preloadMinifig = $("input[name=preloadMinifig]:checked").val();
        var preloadTheme = $("input[name=preloadTheme]:checked").val();
        var preloadPart = $("input[name=preloadPart]:checked").val();
        var preloadBook = $("input[name=preloadBook]:checked").val();
        var preloadVideoGame = $("input[name=preloadVideoGame]:checked").val();
        var preloadOnlineGame = $("input[name=preloadOnlineGame]:checked").val();
        var preloadMagazine = $("input[name=preloadMagazine]:checked").val();
        var preloadFilm = $("input[name=preloadFilm]:checked").val();
        var preloadEpisode = $("input[name=preloadEpisode]:checked").val();
        var preloadSeries = $("input[name=preloadSeries]:checked").val();
        var preloadRide = $("input[name=preloadRide]:checked").val();
        var preloadPerson = $("input[name=preloadPerson]:checked").val();
 
        switch (namespace) {
            case "main":
                link += target + '?action=edit';
 
                if (populated == "populated") {
                    link += '&useFormat=1';
                } else if (populated == "preloadSet") {
					link += '&preload=MediaWiki:Createplate-Set';
                } else if (populated == "preloadMinifig") {
					link += '&preload=MediaWiki:Createplate-Minifigure';
                } else if (populated == "preloadTheme") {
					link += '&preload=MediaWiki:Createplate-Theme';
                } else if (populated == "preloadPart") {
					link += '&preload=MediaWiki:Createplate-Part';
                } else if (populated == "preloadBook") {
					link += '&preload=MediaWiki:Createplate-Book';
                } else if (populated == "preloadVideoGame") {
					link += '&preload=MediaWiki:Createplate-Videogame';
                } else if (populated == "preloadOnlineGame") {
					link += '&preload=MediaWiki:Createplate-Online_game';
                } else if (populated == "preloadMagazine") {
                    link += '&preload=MediaWiki:Createplate-Magazine';
                } else if (populated == "preloadFilm") {
                    link += '&preload=MediaWiki:Createplate-Film';
                } else if (populated == "preloadEpisode") {
                    link += '&preload=MediaWiki:Createplate-Episode';
                } else if (populated == "preloadSeries") {
                    link += '&preload=MediaWiki:Createplate-Series';
                } else if (populated == "preloadRide") {
                    link += '&preload=MediaWiki:Createplate-Ride';
                } else if (populated == "preloadPerson") {
                    link += '&preload=MediaWiki:Createplate-Person';
                }
                break;
            case "fan":
                link += 'Fan:' + target + '?action=edit';
 
                if (populated == "populated") {
                    link += '&useFormat=1';
                } else if (populated == "preloadSet") {
					link += '&preload=MediaWiki:Createplate-CustomSet';
                } else if (populated == "preloadMinifig") {
					link += '&preload=MediaWiki:Createplate-CustomMinifigure';
                } else if (populated == "preloadTheme") {
					link += '&preload=MediaWiki:Createplate-CustomTheme';
                } else if (populated == "preloadVideoGame") {
					link += '&preload=MediaWiki:Createplate-CustomVideogame';
                }
                break;

            case "category":
                link += i18n[lang].formCat + ':' + target + '?action=edit';
                break;
            case "mediawiki":
                link += i18n[lang].formMW + ':' + target + '?action=edit';
                break;
            case "template":
                link += i18n[lang].formTemp + ':' + target + '?action=edit';
                break;
            default:
                break;
        }
        link += '&summary=created%20using%20%5B%5BUser%3AToaMeiko%2Fcreatepage%2Ejs%7Ccreatepage%2Ejs%5D%5D';
        window.location = link;
    }
}(this.jQuery, this.mediaWiki, this));

mw.loader.addStyleTag('fieldset#page-create-fieldset input[type=radio]:not(:first-of-type){margin-left: 1em;}');