User:ToaMeiko/createpage.js
From Brickipedia, the LEGO Wiki
Note: After publishing, 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: Press Ctrl-F5.
1 /***************************************/
2 /* PageMakerPro. */
3 /* Written by: Shining-Armor. */
4 /* Adapted by ToaMeiko for Brickipedia */
5 /* http://en.brickimedia.org */
6 /* */
7 /* Derived from adaptations by */
8 /* Star Warden for the */
9 /* Dragon Mania Legends Wiki */
10 /* dragon-mania-legends-wiki.mobga.me */
11 /* License: GPL v2. */
12 /***************************************/
13
14 (function ($, mw, window) {
15
16 /***************************************************/
17 /* i18n: Please contribute translations here only! */
18 /***************************************************/
19
20 var i18n = {
21
22 "de": {
23 formTitle: "Erstelle eine neue Seite",
24 formStart: "Erstellen",
25 formCancel: "Schließen",
26 formPage: "Spezial:Leerseite/Seite_erstellen",
27 formMain: "Artikel",
28 formCat: "Kategorie",
29 formMW: "MediaWiki",
30 formTemp: "Vorlage",
31 formCont: "Seiteninhalt",
32 formBlank: "Leer",
33 },
34
35 "en": {
36 formTitle: "Create a new page",
37 formStart: "Create",
38 formCancel: "Close",
39 formPage: "Special:BlankPage/newpage",
40 formMain: "Main",
41 formCat: "Category",
42 formMW: "MediaWiki",
43 formTemp: "Template",
44 formCont: "Page Content",
45 formBlank: "Blank",
46 },
47
48 "es": {
49 formTitle: "Crear una nueva página",
50 formStart: "Crear",
51 formCancel: "Cerrar",
52 formPage: "Especial:Blanquear_página/Nueva_Página",
53 formMain: "Portada",
54 formCat: "Categoría",
55 formMW: "MediaWiki",
56 formTemp: "Plantilla",
57 formCont: "Contenido",
58 formBlank: "En blanco",
59 },
60
61 "fr": {
62 formTitle: "Créer une nouvelle page",
63 formStart: "Créer",
64 formCancel: "Fermer",
65 formPage: "Spécial:Page_blanche/Nouvelle_Page",
66 formMain: "Principal",
67 formCat: "Catégorie",
68 formMW: "MediaWiki",
69 formTemp: "Modèle",
70 formCont: "Contenu de la page",
71 formBlank: "Vide",
72 },
73
74 "lt": {
75 formTitle: "Sukurti naują puslapį",
76 formStart: "Sukurti",
77 formCancel: "Uždaryti",
78 formPage: "Specialus:Tuščias_puslapis/Naujas_puslapis",
79 formMain: "Pagrindinis",
80 formCat: "Kategorija",
81 formMW: "MediaWiki",
82 formTemp: "Šablonas",
83 formCont: "Lapo turinys",
84 formBlank: "Tusčias",
85 },
86
87 "nl": {
88 formTitle: "Maak een nieuwe pagina",
89 formStart: "Maak",
90 formCancel: "Sluit",
91 formPage: "Speciaal:LegePagina/nieuwepagina",
92 formMain: "Main",
93 formCat: "Categorie",
94 formMW: "MediaWiki",
95 formTemp: "Sjabloon",
96 formCont: "Paginainhoud",
97 formBlank: "Leeg",
98 },
99
100 "pl": {
101 formTitle: "Utwórz nową stronę",
102 formStart: "Utwórz",
103 formCancel: "Zamknij",
104 formPage: "Specjalna:Pusta_strona/Utwórz_stronę",
105 formMain: "Główna",
106 formCat: "Kategoria",
107 formMW: "MediaWiki",
108 formTemp: "Szablon",
109 formCont: "Treść strony",
110 formBlank: "Pusta",
111 },
112
113 };
114
115 /****************************************************/
116 /* End of i18n. Please don't change anything below. */
117 /****************************************************/
118
119 /* Variables for use in the script */
120 var server = mw.config.get("wgServer");
121 var skin = mw.config.get("skin");
122 var lang = mw.config.get("wgUserLanguage");
123 if (i18n[lang] === undefined) {
124 lang = 'en';
125 }
126 var page = mw.config.get("wgPageName");
127 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>';
128 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>';
129
130 if (page != i18n[lang].formPage) {
131 $("#p-tb ul").append('<li><a href="' + server + '/wiki/' + i18n[lang].formPage + '">' + i18n[lang].formTitle + '</a></li>');
132 } else {
133 makePage();
134 }
135
136 function makeForm() {
137 $.showCustomModal(i18n[lang].formTitle, formHTML, {
138 id: "page-create",
139 width: 500,
140 buttons: [{
141 id: "page-create-close",
142 message: i18n[lang].formCancel,
143 handler: function () {
144 $("#page-create").closeModal();
145 }
146 }, {
147 id: "page-create-go",
148 defaultButton: true,
149 message: i18n[lang].formStart,
150 handler: function () {
151 redirectWindow();
152 }
153 }]
154 });
155 }
156
157 function makePage() {
158 $("title").text("Create new page - " + mw.config.get("wgSiteName"));
159 $("#firstHeading").html("Create a new page");
160 $("#bodyContent").html(monobookHTML);
161 $("#create-button").click(function () {
162 redirectWindow();
163 });
164 }
165
166 function redirectWindow() {
167 var namespace = $("input[name=namespace]:checked").val();
168 var target = $("#NewPageTitle").val();
169 var populated = $("input[name=pagecontent]:checked").val();
170 var link = server + '/wiki/';
171
172 /* Preloadable Outlines */
173 var preloadSet = $("input[name=preloadSet]:checked").val();
174 var preloadMinifig = $("input[name=preloadMinifig]:checked").val();
175 var preloadTheme = $("input[name=preloadTheme]:checked").val();
176 var preloadPart = $("input[name=preloadPart]:checked").val();
177 var preloadBook = $("input[name=preloadBook]:checked").val();
178 var preloadVideoGame = $("input[name=preloadVideoGame]:checked").val();
179 var preloadOnlineGame = $("input[name=preloadOnlineGame]:checked").val();
180 var preloadMagazine = $("input[name=preloadMagazine]:checked").val();
181 var preloadFilm = $("input[name=preloadFilm]:checked").val();
182 var preloadEpisode = $("input[name=preloadEpisode]:checked").val();
183 var preloadSeries = $("input[name=preloadSeries]:checked").val();
184 var preloadRide = $("input[name=preloadRide]:checked").val();
185 var preloadPerson = $("input[name=preloadPerson]:checked").val();
186
187 switch (namespace) {
188 case "main":
189 link += target + '?action=edit';
190
191 if (populated == "populated") {
192 link += '&useFormat=1';
193 } else if (populated == "preloadSet") {
194 link += '&preload=MediaWiki:Createplate-Set';
195 } else if (populated == "preloadMinifig") {
196 link += '&preload=MediaWiki:Createplate-Minifigure';
197 } else if (populated == "preloadTheme") {
198 link += '&preload=MediaWiki:Createplate-Theme';
199 } else if (populated == "preloadPart") {
200 link += '&preload=MediaWiki:Createplate-Part';
201 } else if (populated == "preloadBook") {
202 link += '&preload=MediaWiki:Createplate-Book';
203 } else if (populated == "preloadVideoGame") {
204 link += '&preload=MediaWiki:Createplate-Videogame';
205 } else if (populated == "preloadOnlineGame") {
206 link += '&preload=MediaWiki:Createplate-Online_game';
207 } else if (populated == "preloadMagazine") {
208 link += '&preload=MediaWiki:Createplate-Magazine';
209 } else if (populated == "preloadFilm") {
210 link += '&preload=MediaWiki:Createplate-Film';
211 } else if (populated == "preloadEpisode") {
212 link += '&preload=MediaWiki:Createplate-Episode';
213 } else if (populated == "preloadSeries") {
214 link += '&preload=MediaWiki:Createplate-Series';
215 } else if (populated == "preloadRide") {
216 link += '&preload=MediaWiki:Createplate-Ride';
217 } else if (populated == "preloadPerson") {
218 link += '&preload=MediaWiki:Createplate-Person';
219 }
220 break;
221 case "fan":
222 link += 'Fan:' + target + '?action=edit';
223
224 if (populated == "populated") {
225 link += '&useFormat=1';
226 } else if (populated == "preloadSet") {
227 link += '&preload=MediaWiki:Createplate-CustomSet';
228 } else if (populated == "preloadMinifig") {
229 link += '&preload=MediaWiki:Createplate-CustomMinifigure';
230 } else if (populated == "preloadTheme") {
231 link += '&preload=MediaWiki:Createplate-CustomTheme';
232 } else if (populated == "preloadVideoGame") {
233 link += '&preload=MediaWiki:Createplate-CustomVideogame';
234 }
235 break;
236
237 case "category":
238 link += i18n[lang].formCat + ':' + target + '?action=edit';
239 break;
240 case "mediawiki":
241 link += i18n[lang].formMW + ':' + target + '?action=edit';
242 break;
243 case "template":
244 link += i18n[lang].formTemp + ':' + target + '?action=edit';
245 break;
246 default:
247 break;
248 }
249 link += '&summary=created%20using%20%5B%5BUser%3AToaMeiko%2Fcreatepage%2Ejs%7Ccreatepage%2Ejs%5D%5D';
250 window.location = link;
251 }
252 }(this.jQuery, this.mediaWiki, this));
253
254 mw.loader.addStyleTag('fieldset#page-create-fieldset input[type=radio]:not(:first-of-type){margin-left: 1em;}');