Wikipedia cbk_zamwiki https://cbk-zam.wikipedia.org/wiki/El_Primero_Pagina MediaWiki 1.47.0-wmf.15 first-letter Medio Especial Discusión Usuario Discusión del usuario Wikipedia Discusión del Wikipedia File Discusión del file MediaWiki Discusión del MediaWiki Plantilla Discusión del plantilla Ayuda Discusión del ayuda Categoría Discusión del categoría TimedText TimedText talk Módulo Discusión del módulo Evento Evento discusión Discusión:Ciudad de Zamboanga 1 2664 118599 63896 2026-08-18T06:29:07Z Saksi Radyo 16865 Sección nueva: /* Maga Medio */ 118599 wikitext text/x-wiki Me parece interesante el articulo que ustedes han estrito, no hablo chavacano pero puedeo entender el 80% de lo que dicen, me ustaria aprenderlo no dudo que demore mas de un mes debido a que es tan parecido con el espa;ol, si desean ayuda en español no duden en consultarje porfavor, gracias, usuario:Rafaelkelvin (es), user:rafaelkelvin(en) :Ojala que los Zamboanguenios escriban en su idioma! A proposito, bien benido aqui!--[[Usuario:Jondel|Jondel]] 10:57 16 Abr 2011 (UTC) ::: Si me gustaría aclararan si es un dialecto o idioma propiamente tal es como una mezcla entre portugués y español y lo otro porque chavacano?... == Maga Medio == * [[Usuario:Saksi Radyo|Saksi Radyo]] ([[Discusión del usuario:Saksi Radyo|man cuento]]) 06:29 18 Ago 2026 (UTC) 6fvj49bnr7z28qme8cfhpq72pp0eaks 118600 118599 2026-08-18T06:31:37Z Saksi Radyo 16865 /* Maga Medio */ 118600 wikitext text/x-wiki Me parece interesante el articulo que ustedes han estrito, no hablo chavacano pero puedeo entender el 80% de lo que dicen, me ustaria aprenderlo no dudo que demore mas de un mes debido a que es tan parecido con el espa;ol, si desean ayuda en español no duden en consultarje porfavor, gracias, usuario:Rafaelkelvin (es), user:rafaelkelvin(en) :Ojala que los Zamboanguenios escriban en su idioma! A proposito, bien benido aqui!--[[Usuario:Jondel|Jondel]] 10:57 16 Abr 2011 (UTC) ::: Si me gustaría aclararan si es un dialecto o idioma propiamente tal es como una mezcla entre portugués y español y lo otro porque chavacano?... == Maga Medio == *DXDT 1503 kHz Radyo Sincero News [[Usuario:Saksi Radyo|Saksi Radyo]] ([[Discusión del usuario:Saksi Radyo|man cuento]]) 06:29 18 Ago 2026 (UTC) r97w974czioy8l2zs0jqplpghj29be0 Discusión del usuario:Aristorkle 3 25897 118598 117941 2026-08-18T06:19:44Z ~2026-45310-72 16864 Sección nueva: /* Request to delete redirect pages Ateneo de Manila University */ 118598 wikitext text/x-wiki == Request == Hola @[[Usuario:Aristorkle|Aristorkle]]. Yo ta pidi kuntigo na hacer me un administrador de este wiki na chabacano. Habla yo un poco pero chene yo experiencias de conversa en este idioma. Cosa na maga debe hacer yo para convertir na administrador o estado mas alto? Quiere yo mucho contribuir taqui. Gracias! <nowiki>~~~</nowiki> [[Usuario:Midshipman Y|Midshipman Y]] ([[Usuario discusión:Midshipman Y|cuento]]) 12:32 11 Febrero 2025 (UTC) :@[[Usuario:Midshipman Y|Midshipman Y]] Please submit your intentions/request to become administrator at the [[Wikipedia:Portal del Comunidad|community portal]] and wait at least a week. [[m:Steward_requests/Permissions|Notify a steward]] afterwards. –[[Usuario:Aristorkle|Aristorkle]] ([[Usuario discusión:Aristorkle|cuento]]) 12:41 11 Febrero 2025 (UTC) ::Notado. Gracias por el abiso. ::<nowiki>~~~</nowiki> [[Usuario:Midshipman Y|Midshipman Y]] ([[Usuario discusión:Midshipman Y|cuento]]) 12:43 11 Febrero 2025 (UTC) ::@[[Usuario:Aristorkle|Aristorkle]] Were you granted full admin rights in this wiki? And how long did it take you to be one? [[Usuario:Midshipman Y|Midshipman Y]] ([[Usuario discusión:Midshipman Y|cuento]]) 12:44 11 Febrero 2025 (UTC) :::I was granted temporary general admin rights for 3 months. It took around two weeks from the start of me posting my initial request. –[[Usuario:Aristorkle|Aristorkle]] ([[Usuario discusión:Aristorkle|cuento]]) 12:48 11 Febrero 2025 (UTC) :::@[[Usuario:Midshipman Y|Midshipman Y]] I encourage you to join our Facebook group for better communication, if you don't mind. The name is "Zamboanga Wikimedia Group". –[[Usuario:Aristorkle|Aristorkle]] ([[Usuario discusión:Aristorkle|cuento]]) 13:03 11 Febrero 2025 (UTC) == Notice of expiration of your sysop right == <div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Maga administrador) will expire on 2025-04-18 09:59:26. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Usuario:Leaderbot|Leaderbot]] ([[Discusión del usuario:Leaderbot|cuento]]) 19:42 11 Abr 2025 (UTC)</div> == Propose == Hi @[[Usuario:Aristorkle|Aristorkle]] :), I see you seem interested in this project so I suggest you create a discussion to request permission [[:en:Wikipedia:Interface Admin|Interface sysop]] to be able to easily edit the [[:en:Wikipedia:MediaWiki|MediaWiki]] namespace to upgrade the interface of cbk-zamwiki. <code>By the way, I was just patrolling on PH wikis and I noticed you seem really active here :) </code>. ''P/s:'' Give you [[:ceb:MediaWiki:Gadget-masstool.js|MassTool]] (for sysop) and [[:ceb:MediaWiki:Gadget-TodoList.js|ToDoList]] (for all users) toolkit scripts for you to add gadget at [[MediaWiki:Gadgets-definition]] to create utilities that make it easier for you to work with the sysop toolset after you have been granted permission interface sysop, hehe. [[Usuario:Như Gây Mê|<span style="color:orange;"><strong>Halley</strong></span>]] [[Philippines|<span style="color:#00bbe6;"><strong><sup>luv Filipino ❤</sup></strong></span>]] 08:43 30 Abr 2025 (UTC) :@[[Usuario:Như Gây Mê|Như Gây Mê]] Will not touch on applying for interface admin since I do not know much of the complexities. I tried applying for it last January but unfortunately got rejected. Thanks for the suggestion though. —[[Usuario:Aristorkle|Aristorkle]] ([[Discusión del usuario:Aristorkle|cuento]]) 09:22 30 Abr 2025 (UTC) == Notice of expiration of your sysop right == <div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Maga administrador) will expire on 2025-10-20 18:19:06. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[Usuario:Leaderbot|Leaderbot]] ([[Discusión del usuario:Leaderbot|cuento]]) 19:42 13 Octubre 2025 (UTC)</div> == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:30 28 Abr 2026 (UTC) </div> <!-- Mensaje enviado por Usuario:Keegan (WMF)@metawiki mediante la lista en https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471712 --> == Request to delete redirect pages [[:Ateneo de Manila University]] == Hello, @[[Usuario:Aristorkle|Aristorkle]]. Please delete redirect pages [[:Ateneo de Manila University]] because there is a redirect into an non-existent pages. Thanks. [[Especial:Contribuciones/&#126;2026-45310-72|&#126;2026-45310-72]] ([[Discusión del usuario:&#126;2026-45310-72|discusión]]) 06:19 18 Ago 2026 (UTC) 6zeehhmqjhtomihb0c1usho6yqxyivg MediaWiki:Gadgets-definition 8 26261 118595 118127 2026-08-17T17:07:44Z Aristorkle 14080 118595 wikitext text/x-wiki == appearance == * switcher [ResourceLoader |default] |switcher.js * TodoList[ResourceLoader]|TodoList.js dsnt2pztbzkxtq2us9cnq028d0cxuyr 118597 118595 2026-08-17T17:14:47Z Aristorkle 14080 118597 wikitext text/x-wiki == appearance == * switcher [ResourceLoader |default] |switcher.js * TodoList[ResourceLoader]|TodoList.js == administrador == * masstool[ResourceLoader|rights=editinterface]|masstool.js 0rduclveh3g260gchfjc0x4a1xp9w1w MediaWiki:Gadget-TodoList.js 8 26330 118594 2026-08-17T17:02:43Z Aristorkle 14080 Página creada con «/*** Todo List ***/ // Adds a todo list that also has a convient popup // Documentation at [[en:w:User:BrandonXLF/TodoList]] // By [[en:w:User:BrandonXLF]] $.when(mw.loader.using([ 'mediawiki.user', 'oojs-ui-core', 'oojs-ui-windows', 'oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-editing-core', 'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-moderation', 'oojs-ui.styles.icons-content' ]), $.ready).then(function() { var messages = function…» 118594 javascript text/javascript /*** Todo List ***/ // Adds a todo list that also has a convient popup // Documentation at [[en:w:User:BrandonXLF/TodoList]] // By [[en:w:User:BrandonXLF]] $.when(mw.loader.using([ 'mediawiki.user', 'oojs-ui-core', 'oojs-ui-windows', 'oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-editing-core', 'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-moderation', 'oojs-ui.styles.icons-content' ]), $.ready).then(function() { var messages = function() { var translations = { en: { todoPortlet: 'Todo', todoHover: 'Click to see your todo list', saving: 'Saving changes...', drag: 'Drag', delete: 'Delete', edit: 'Edit', pageNameUrl: 'Page name or URL', comment: 'Comment', save: 'Save', cancel: 'Cancel', moreinfo: 'More information', undo: 'Undo', redo: 'Redo', clear: 'Clear', clearConfirm: 'Are you sure you want to clear your todo list?', download: 'Download', upload: 'Upload', help: 'Help', add: 'Add', close: 'Close', yourList: 'Your todo list', noPopup: 'Unable to open todo list popup while on the todo list page.', addedTime: 'Added: $dateDate $dateMonth, $dateYear at $dateHours:$dateMinutes' } }, chain = mw.language.getFallbackLanguageChain(), len = chain.length, ret = {}, i = len - 1; while (i >= 0) { if (translations.hasOwnProperty(chain[ i ])) { $.extend(ret, translations[ chain[ i ] ]); } i = i - 1; } return ret; }(); mw.util.addCSS( '.userjs-todo-list .item:hover .act { visibility: visible !important; }' + '[data-drop="above"]::before { display: block; border-top: 2px solid #066; margin-top: -2px; content: ""; }' + '[data-drop="below"]::after { display: block; border-top: 2px solid #066; margin-top: -2px; content: ""; }' + '.userjs-todo-list .items:empty { border: none !important; margin: 0 !important; padding: 0 !important;}' + '.userjs-todo-moreinfo > a { min-width: unset !important; min-height: unset !important; padding: 0.65em !important; }' + '.userjs-todo-moreinfo > a > span { min-width: unset !important; min-height: unset !important; width: 1.3em !important; left: 0 !important; }' ); if (mw.config.get('skin') === 'minerva') { mw.util.addCSS( '.userjs-todo-list .item .act { visibility: visible !important; }' + '#userjs-todo-popup { top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; width: 100%; height: 100%; }' + '#userjs-todo-popup .userjs-todo-list { width: 100%; height: 100%; } ' ); } var api = new mw.Api(), links = $( ['', '-sticky-header'] .map(function(suffix) { return mw.util.addPortletLink( 'p-personal' + suffix, mw.util.getUrl('Special:BlankPage/todo'), messages.todoPortlet, 'userjs-todo', messages.todoHover, 'd', '#pt-preferences' + suffix ); }) .filter(function(elOrNull) { return elOrNull !== null; }) ), changes = [mw.user.options.get('userjs-todo-script')], undo = 0, req = 0, parent, ispopup = false, loader = $('<input type="file" accept=".json" style="display:none;">').on('change', function() { if (!this.files || !this.files[0]) return; var file = this.files[0], reader = new FileReader(); reader.onload = function() { save(reader.result, true, true); }; reader.readAsText(file); }).appendTo(document.body); $(window).on('beforeunload', function() { if (req > 0) return true; }); function save(what, record, relist) { if (typeof what != 'string') { what = JSON.stringify(what); } mw.user.options.set('userjs-todo-script', what); req++; parent.find('.status').text(messages.saving); api.saveOption('userjs-todo-script', what).done(function() { req--; if (req === 0) { parent.find('.status').text(''); } }); if (record !== false) { while (undo > 0) { changes.pop(); undo--; } changes.push(mw.user.options.get('userjs-todo-script')); if (changes.length > 50) changes.shift(); } if (relist) { list(); if (req > 0) { parent.find('.status').text(messages.saving); } } } Math.clamp = function(max, x, min) { return Math.min(max, Math.max(min, x)); }; function item(parent, array) { var date = new Date(+array[2]), url = array[0] || '', txt = array[0] || ''; if (url.match(/^(https:|http:|:)\/\//) && url.match(/ /)) { var reg = /(.*?) (.*)/.exec(url); url = reg[1]; txt = reg[2]; } else if (!url.match(/^(https:|http:|:)\/\//)) { url = mw.util.getUrl(url); } parent.append($('<div class="item" style="margin:5px 0;white-space:nowrap;"></div>') .attr('data-page', array[0] || '') .attr('data-info', array[1] || '') .attr('data-date', array[2] || '') .append((new OO.ui.IconWidget({icon: 'draggable', title: messages.drag})).$element .css({ cursor: 'move', height: '1.2em', width: '1.2em', minWidth: 'unset', minHeight: 'unset', marginRight: '0.5em' }) .on('mousedown', function() { $(this).parent().attr('draggable', 'true'); }) .on('mouseup', function() { $(this).parent().attr('draggable', 'false'); }) ) .append($('<a>').addClass('page').attr('href', url).text(txt)) .append(array[0] && array[1] ? ' . . ' : '') .append($('<span>').addClass('info').text(array[1] || '')) .append( array[0] || array[1] ? '<span class="act" style="visibility:hidden;"> . . </span>' : '') .append((new OO.ui.IconWidget({ icon: 'trash', title: messages.delete, flags: ['destructive'] })).$element .css({ cursor: 'pointer', visibility: 'hidden', height: '1.1em', width: '1.1em', minWidth: 'unset', minHeight: 'unset', marginRight: '0.5em' }) .addClass('act') .click(function() { var arr = []; $(this).parent().siblings().each(function() { arr.push([ $(this).attr('data-page'), $(this).attr('data-info'), $(this).attr('data-date') ]); }); $(this).parent().remove(); save(arr); }) ) .append((new OO.ui.IconWidget({ icon: 'edit', title: messages.edit, flags: ['progressive'] })).$element .css({ cursor: 'pointer', visibility: 'hidden', height: '1em', width: '1em', minWidth: 'unset', minHeight: 'unset', marginRight: '0.5em' }) .addClass('act edit') .click(function() { $(this).css('display', 'none'); $('<div style="border:1px solid #a2a9b1;padding:0 4px;margin:0.5em 0;border-radius:4px;"></div>') .append((new OO.ui.TextInputWidget({ placeholder: messages.pageNameUrl, classes: ['todo-pageNameUrl'], value: $(this).parent().attr('data-page') })).$element.css({maxWidth: 'unset', margin: '4px 0'})) .append((new OO.ui.TextInputWidget({ placeholder: messages.comment, classes: ['todo-comment'], value: $(this).parent().attr('data-info') })).$element.css({maxWidth: 'unset', margin: '4px 0'})) .append($('<table style="width:100%;border-spacing:0;margin-bottom:0.5em;"></table>').append($('<tr></tr>') .append($('<td style="width:50%;padding-right:4px;"></td>').append((new OO.ui.ButtonWidget({ label: messages.save, flags: ['progressive'] }).$element.css('width', '100%').children().css('width', '100%').parent()).click(function() { var editbox = $(this).parent().parent().parent().parent(), listitem = editbox.parent(); listitem.find('.page').text(editbox.find('.todo-pageNameUrl input').val()); listitem.attr('data-page', editbox.find('.todo-pageNameUrl input').val()); listitem.find('.info').text(editbox.find('.todo-comment input').val()); if (listitem.find('.info')[0].previousSibling.nodeType != 3 && editbox.find('.todo-comment input').val() !== '') { listitem.find('.info').before(' . . '); } else if ( listitem.find('.info')[0].previousSibling.nodeType == 3 && editbox.find('.todo-comment input').val() === '' ) { $(listitem.find('.info')[0].previousSibling).remove(); } listitem.attr('data-info', editbox.find('.todo-comment input').val()); var arr = []; listitem.parent().children().each(function() { arr.push([$(this).attr('data-page'), $(this).attr('data-info'), $(this).attr('data-date')]); }); save(arr); listitem.find('.edit').css('display', 'inline-block'); editbox.remove(); }) )) .append($('<td style="width:50%;padding-left:4px;"></td>').append((new OO.ui.ButtonWidget({ label: messages.cancel, flags: ['destructive'] }).$element.css('width', '100%').children().css('width', '100%').parent()).click(function() { var editbox = $(this).parent().parent().parent().parent(), listitem = editbox.parent(); listitem.find('.edit').css('display', 'inline-block'); editbox.remove(); }) )) )).appendTo(this.parentNode); }) ) .append(array[2] ? (new OO.ui.PopupButtonWidget({ icon: 'info', framed: false, label: messages.moreinfo, invisibleLabel: true, title: messages.moreinfo, popup: { $content: $('<p></p>').text(messages.addedTime .replace('$dateDate', date.getDate()) .replace('$dateMonth', mw.config.get('wgMonthNames')[date.getMonth() + 1]) .replace('$dateYear', date.getFullYear()) .replace('$dateHours', date.getHours()) .replace('$dateMinutes', ('' + date.getMinutes()).padStart(2, '0')) ), padded: true, align: 'forwards' } })).$element .addClass('userjs-todo-moreinfo') .css({ cursor: 'pointer', visibility: 'hidden', height: '1.3em', width: '1.3em', minWidth: 'unset', minHeight: 'unset', marginRight: '0.5em' }) .addClass('act') : '' ) .on('dragover', function(e) { e.preventDefault(); e.dataTransfer = e.originalEvent.dataTransfer; if (e.offsetY < ($(this).height()/2)) { this.setAttribute('data-drop', 'above'); } else { this.setAttribute('data-drop', 'below'); } }) .on('dragleave', function() { this.setAttribute('data-drop', ''); }) .on('drop', function(e) { e.dataTransfer = e.originalEvent.dataTransfer; this.setAttribute('data-drop', ''); var ele = $('[data-dragid="' + e.dataTransfer.getData('text/plain') + '"]')[0]; if (e.offsetY < ($(this).height()/2)) { this.insertAdjacentElement('beforebegin', ele); } else { this.insertAdjacentElement('afterend', ele); } var arr = []; $(this).parent().children().each(function() { arr.push([ $(this).attr('data-page'), $(this).attr('data-info'), $(this).attr('data-date') || '' ]); }); save(arr); }) .on('dragstart', function(e) { e.dataTransfer = e.originalEvent.dataTransfer; var uid = ('' + Math.random()).replace('.', ''); $(this).attr('data-dragid', uid); e.dataTransfer.setData('text/plain', uid); }) ); } function list() { $('.userjs-todo-list').remove(); var todo = parent.append($('<div class="userjs-todo-list" style="overflow:auto;"></div>') .append($('<div style="padding:0.5em;" class="todo-menu"></div>') .append(new OO.ui.ButtonWidget({ framed: false, icon: 'undo', invisibleLabel: true, title: messages.undo }).$element.click(function() { if (changes[changes.length-undo-2] !== undefined) { save(changes[changes.length-undo-2], false, true); undo++; } })) .append(new OO.ui.ButtonWidget({ framed: false, icon: 'redo', invisibleLabel: true, title: messages.redo }).$element.click(function() { if (changes[changes.length-undo] !== undefined) { save(changes[changes.length-undo], false, true); undo--; } })) .append(new OO.ui.ButtonWidget({ framed: false, icon: 'trash', invisibleLabel: true, title: messages.clear }).$element.click(function() { OO.ui.confirm(messages.clearConfirm).done(function(confirmed) { if (confirmed) { parent.find('.items').empty(); save('', true, true); } }); })) .append(new OO.ui.ButtonWidget({ framed: false, icon: 'download', invisibleLabel: true, title: messages.download }).$element.click(function() { $($('<a download="todo.json" style="display:none;"></a>') .attr( 'href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(mw.user.options.get('userjs-todo-script')) ) .appendTo(document.body)[0].click() ).remove(); })) .append(new OO.ui.ButtonWidget({ framed: false, icon: 'upload', invisibleLabel: true, title: messages.upload }).$element.click(function() { loader.click(); })) .append(new OO.ui.ButtonWidget({ framed: false, icon: 'info', invisibleLabel: true, title: messages.help }).$element.click(function() { window.open('https://en.wikipedia.org/wiki/User:BrandonXLF/TodoList/Help'); })) ) .append($('<div style="padding:0 0.5em 0.5em;"></div>') .append((new OO.ui.TextInputWidget({ placeholder: messages.pageNameUrl, classes: ['todo-pageNameUrl'], value: mw.config.get('wgPageName').replace(/_/g, ' ') != 'Special:BlankPage/todo' ? mw.config.get('wgPageName').replace(/_/g, ' ') : '' })).$element.css({maxWidth: 'unset', margin: '4px 0'})) .append((new OO.ui.TextInputWidget({ placeholder: messages.comment, classes: ['todo-comment'] })).$element.css({maxWidth: 'unset', margin: '4px 0'})) .append(new OO.ui.ButtonWidget({ label: messages.add }).$element .css('width', '100%') .children().css('width', '100%') .parent() .click(function() { var opts = JSON.parse(mw.user.options.get('userjs-todo-script') || '[]'), arr = []; arr.push($(this).parent().parent().find('.todo-pageNameUrl input').val()); arr.push($(this).parent().parent().find('.todo-comment input').val()); if (!arr.join('')) return; arr.push((new Date()).getTime()); item($('.userjs-todo-list .items'), arr); opts.push(arr); save(opts); $('#userjs-todo-popup').css({ top: Math.max(parseInt($('#userjs-todo-popup').css('top')), 0) }); })) ) .append($('<div class="items" style="margin:0.5em;padding-top:0.5em;border-top:1px solid #a2a9b1;"></div>')) .append('<div class="status" style="padding:0 0.5em 0.5em;"></div>') ); if (ispopup) { todo.find('.todo-menu') .css('cursor', 'grab') .append((new OO.ui.ButtonWidget({ framed: false, icon: 'close', invisibleLabel: true, title: messages.close }).$element.css({float: 'right', marginRight: '0'}).click(function() { parent.remove(); }))) .append(($('<a></a>') .attr('href', mw.util.getUrl('Special:BlankPage/todo')) .append((new OO.ui.ButtonWidget({ framed: false, icon: 'newWindow', invisibleLabel: true, title: messages.yourList }).$element.css('float', 'right').click(function() { location.url = mw.util.getUrl('Special:BlankPage/todo'); }))) )) .on('mousedown', function(e) { if (e.target !== this) return; this.style.cursor = 'grabbing'; var x = parent.position().left - e.pageX, y = parent.position().top - e.pageY, b = $(document.body); function move(e) { parent.css({ left: Math.clamp($(window).width() - parent.width(), e.pageX + x, 0) + 'px', top: Math.clamp($(window).height() - parent.height(), e.pageY + y, 0) + 'px', right: '', bottom: '' }); } function up() { e.target.style.cursor = 'grab'; b.off('mousemove', move); b.off('mouseup', up); } b.on('mousemove', move); b.on('mouseup', up); }); } $.each(JSON.parse(mw.user.options.get('userjs-todo-script') || '[]'), function(a, b) { item(todo.find('.items'), b); }); return todo; } function repos(pos, css, pvar, cond, pcss, ccss) { return $('<div style="pointer-events:all;position:absolute;"></div>') .attr('id', pos + 'gfdgfdgfd') .css('cursor', pos + '-resize') .css(css).on('mousedown', function(e) { if (e.target !== this) return; var p = parent, c = p.find('.userjs-todo-list'), q = eval(pvar), b = $(document.body); b.css('user-select', 'none'); function move(e) { if (eval(cond)) return; (new Function('e', 'p', 'q', 'p.css(' + pcss + ')'))(e, p, q); (new Function('e', 'c', 'q', 'c.css(' + ccss + ')'))(e, c, q); } function up() { b.css('user-select', ''); b.off('mousemove', move); b.off('mouseup', up); } b.on('mousemove', move); b.on('mouseup', up); }); } if ((mw.config.get('wgCanonicalSpecialPageName') === 'Blankpage') && (mw.config.get('wgPageName').split('/').pop() === 'todo')) { document.title = messages.yourList + ' – ' + mw.config.get('wgSiteName'); $('#firstHeading').text(messages.yourList); parent = mw.util.$content.empty(); list(); links.find('a').click(function(e) { e.preventDefault(); mw.notify(messages.noPopup, {tag: 'rtbyilounmt7udfnod'}); }); } else { links.find('a').click(function(e) { e.preventDefault(); var link = $(e.target).closest(links); if ($('#userjs-todo-popup')[0]) { $('#userjs-todo-popup').remove(); return; } ispopup = true; parent = $('<div style="overflow:auto;min-height:3em;z-index:' + (mw.config.get('skin') === 'minerva' ? '3' : '4') + ';box-shadow:0 2px 2px 0 rgba(0,0,0,0.25);color:var(--color-base, #202122);min-width:20em;position:fixed;right:1em;background-color:var(--background-color-base, white);border-radius:4px;border: 1px solid #a2a9b1;font-size:0.75rem;max-width:100vw;max-height:100vh;" id="userjs-todo-popup"></div>') .appendTo(document.body) .css('top', link.position().top + link.height() + 8 + 'px') .append($('<div style="pointer-events:none;position:absolute;top:0;left:0;bottom:0;right:0;"></div>') .append(repos('e', {top: 0, right: 0, width: '7px', height: '100%'}, 'p.position().left', 'e.clientX - q < 40', '{right:"",minWidth:"",left:q + "px"}', '{width:e.clientX - q + "px"}')) .append(repos('n', {top: 0, height: '7px', width: '100%'}, 'p.position().top + p.height()', 'q <= e.clientY + 40', '{top:Math.max(e.clientY, 0) + "px"}', '{height:q - e.clientY + "px"}')) .append(repos('s', {bottom: 0, height: '7px', width: '100%'}, 'p.position().top', 'e.clientY - q < 40', '{top:Math.max(q,0) + "px"}', '{height:e.clientY - q + "px"}')) .append(repos('w', {left: 0, width: '7px', height: '100%'}, 'p.position().left + parent.width()', 'q <= e.clientX + 40', '{right:"",minWidth:"",left:e.clientX + "px"}', '{width:q - e.clientX + "px"}')) .append($('<div style="pointer-events:all;position:absolute;height:100%;top:0;right:0;width:7px;height:7px;cursor:ne-resize;"></div>').on('mousedown', function(e) { e.originalEvent.stopImmediatePropagation(); $('#egfdgfdgfd').trigger('mousedown'); $('#ngfdgfdgfd').trigger('mousedown'); })) .append($('<div style="pointer-events:all;position:absolute;height:100%;top:0;left:0;width:7px;height:7px;cursor:nw-resize;"></div>').on('mousedown', function(e) { e.originalEvent.stopImmediatePropagation(); $('#wgfdgfdgfd').trigger('mousedown'); $('#ngfdgfdgfd').trigger('mousedown'); })) .append($('<div style="pointer-events:all;position:absolute;height:100%;bottom:0;right:0;width:7px;height:7px;cursor:se-resize;"></div>').on('mousedown', function(e) { e.originalEvent.stopImmediatePropagation(); $('#egfdgfdgfd').trigger('mousedown'); $('#sgfdgfdgfd').trigger('mousedown'); })) .append($('<div style="pointer-events:all;position:absolute;height:100%;bottom:0;left:0;width:7px;height:7px;cursor:sw-resize;"></div>').on('mousedown', function(e) { e.originalEvent.stopImmediatePropagation(); $('#wgfdgfdgfd').trigger('mousedown'); $('#sgfdgfdgfd').trigger('mousedown'); })) ); parent.css('top', Math.max(parseInt(parent.css('top')), 0)); list(); }); } }); h53fpefgu3doxnyvphpq45b7a05w96d MediaWiki:Gadget-masstool.js 8 26331 118596 2026-08-17T17:14:03Z Aristorkle 14080 Página creada con «/* Imported from cebwikipedia */ /* Blame instructions; I'm not a programmer Loads (depending on the user groups) * [[User:Frietjes/masspurge.js]] (all), * [[User:Plastikspork/massmove.js]] (extendedmover/sysop), * [[User:Animum/massdelete.js]], [[User:Timotheus Canens/massrestore.js]], [[User:Timotheus Canens/massblock.js]], [[User:Timotheus Canens/massunblock.js]], [[User:Timotheus Canens/massprotect.js]], [[User:Timotheus Canens/massedit.js]] (sysop) * [[m:MediaWik…» 118596 javascript text/javascript /* Imported from cebwikipedia */ /* Blame instructions; I'm not a programmer Loads (depending on the user groups) * [[User:Frietjes/masspurge.js]] (all), * [[User:Plastikspork/massmove.js]] (extendedmover/sysop), * [[User:Animum/massdelete.js]], [[User:Timotheus Canens/massrestore.js]], [[User:Timotheus Canens/massblock.js]], [[User:Timotheus Canens/massunblock.js]], [[User:Timotheus Canens/massprotect.js]], [[User:Timotheus Canens/massedit.js]] (sysop) * [[m:MediaWiki:Gadget-globalmassblock.js]] (steward) and adds links to them to the sidebar. */ jQuery(document).ready(function($) { var groups = mw.config.get('wgUserGroups'); // [[User:Frietjes/masspurge.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Frietjes/masspurge.js&action=raw&ctype=text/javascript'); $.when( mw.loader.using( ['mediawiki.util'] ), $.ready ).done( function() { mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassPurge'), 'MassPurge', 't-masspurge', "Frietjes's MassPurge tool" ); }); if(/extendedmover|sysop/.test(groups)){ // [[User:Plastikspork/massmove.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Plastikspork/massmove.js&action=raw&ctype=text/javascript'); $.when( mw.loader.using( ['mediawiki.util'] ), $.ready ).done( function() { mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassMove'), 'MassMove', 't-massmove', "Plastikspork's MassMove tool", '', 't-masspurge' ); }); } if(/sysop/.test(groups)){ // [[User:Animum/massdelete.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Animum/massdelete.js&action=raw&ctype=text/javascript'); // [[User:Timotheus Canens/massrestore.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus Canens/massrestore.js&action=raw&ctype=text/javascript'); // [[User:Timotheus Canens/massblock.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus Canens/massblock.js&action=raw&ctype=text/javascript'); // [[User:Timotheus Canens/massunblock.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus Canens/massunblock.js&action=raw&ctype=text/javascript'); // [[User:Timotheus Canens/massprotect.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus Canens/massprotect.js&action=raw&ctype=text/javascript'); // [[User:Timotheus Canens/massedit.js]] mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus Canens/massedit.js&action=raw&ctype=text/javascript'); $.when( mw.loader.using( ['mediawiki.util'] ), $.ready ).done( function() { mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassDelete'), 'MassDelete', 't-massdelete', "Animum's MassDelete tool", '', 't-massmove' ); mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassRestore'), 'MassRestore', 't-massrestore', "Timotheus Canens's MassRestore tool", '', 't-massdelete' ); mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassBlock'), 'MassBlock', 't-massblock', "Timotheus Canens's MassBlock tool", '', 't-massrestore' ); mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassUnblock'), 'MassUnblock', 't-massunblock', "Timotheus Canens's MassUnblock tool", '', 't-massblock' ); mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassProtect'), 'MassProtect', 't-massprotect', "Timotheus Canens's MassProtect tool", '', 't-massunblock' ); mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassEdit'), 'MassEdit', 't-massedit', "Timotheus Canens's MassEdit tool", '', 't-massprotect' ); }); } if(/steward/.test(mw.config.get( 'wgGlobalGroups' ))){ // [[m:MediaWiki:Gadget-globalmassblock.js]] mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Gadget-globalmassblock.js&action=raw&ctype=text/javascript'); $.when( mw.loader.using( ['mediawiki.util'] ), $.ready ).done( function() { mw.util.addPortletLink( 'p-tb', mw.util.getUrl('Special:MassGlobalBlock'), 'MassGlobalBlock', 't-massglobalblock', "MassGlobalBlock tool", '', 't-masspurge' ); }); } }); pujdjt16kzdturtiycuflfq3qf1jamk