|
|
Line 1: |
Line 1: |
| (function () { | | $( function() { |
| 'use strict';
| | mw.util.addPortletLink('p-personal', mw.config.get('wgServer') + '/wiki/Special:ListFiles/' + mw.config.get('wgUserName'), 'My uploads', 'pt-uploads', 'List of files you uploaded', 'u','#pt-mycontris'); |
| if (window.uploadLink || mw.user.anonymous()) return;
| |
|
| |
| window.uploadLink = { // extra-object to prevent pollution of "window"
| |
| getUserName: function () {
| |
| var username = '';
| |
| switch (mw.config.get('wgNamespaceNumber')) {
| |
| case 3: // User_talk
| |
| case 2: // User
| |
| username = mw.config.get('wgPageName').match(/.*?\:(.*?)(\/.*)*$/)[1];
| |
| break;
| |
| case -1: // Special pages
| |
| try {
| |
| if ("Contributions" === mw.config.get('wgCanonicalSpecialPageName')) {
| |
| if (-1 !== location.href.indexOf("\/Special:Contributions\/")) {
| |
| username = decodeURI(location.href.match(/Special\:Contributions\/(.*?)$/)[1]);
| |
| } else if (-1 !== location.href.indexOf(mw.config.get('wgScript'))) {
| |
| username = mw.util.getParamValue('target');
| |
| }
| |
| }
| |
| if ("Log" === mw.config.get('wgCanonicalSpecialPageName')) {
| |
| if (mw.util.getParamValue('user')) username = mw.util.getParamValue('user');
| |
| if (mw.util.getParamValue('page')) {
| |
| if (/User:+./.test(mw.util.getParamValue('page'))) {
| |
| username = mw.util.getParamValue('page').replace("User:", "");
| |
| }
| |
| }
| |
| }
| |
| } catch (ex) {}
| |
| break;
| |
| }
| |
| return username;
| |
| },
| |
|
| |
| install: function () {
| |
| var link, userlink, username = encodeURI(this.getUserName());
| |
|
| |
| link = mw.config.get('wgScript') + '?title=' + 'Special:MyUploads';
| |
| userlink = mw.config.get('wgScript') + '?title=' + 'Special:ListFiles/' + username;
| |
|
| |
|
| |
| var userlinkText = "User uploads"; // english only
| |
| var linkTextList = {
| |
| // Translations of the menu item
| |
| i18n: {
| |
| 'en': 'My uploads', // default
| |
| }
| |
| };
| |
|
| |
| var linkTooltipList = {
| |
| // Translations of the menu item tooltip
| |
| i18n: {
| |
| 'en': 'List of files you have uploaded', // default
| |
| }
| |
| };
| |
|
| |
| var linkText = linkTextList.i18n[mw.config.get('wgUserLanguage')] || linkTextList.i18n.en;
| |
| var linkTooltip = linkTooltipList.i18n[mw.config.get('wgUserLanguage')] || linkTooltipList.i18n.en;
| |
|
| |
| mw.util.addPortletLink('p-personal', link, linkText, 'pt-upl', linkTooltip, '', document.getElementById('pt-logout'));
| |
|
| |
| if (username) {
| |
| mw.util.addPortletLink('p-tb', userlink, userlinkText, 't-JSONListUploads', '', '', document.getElementById('t-log'));
| |
| }
| |
| } // function
| |
| }; // object
| |
|
| |
| jQuery(function ($) {
| |
| try {
| |
| window.uploadLink.install();
| |
| } catch (ex) {} // silently fail - it is obvious if the link is missing
| |
| }); | | }); |
|
| |
| })();
| |
| /* End MyUploads */
| |