User:Lloffiwr/Gadget-MyUploads.js

Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/****************** MyUploads ***********************
 
  Puts a link in the upper right corner of all pages.
  This code is JSHint valid!
 
  Maintainer: [[User:Rd232]]
  written in 2011
*****************************************************/
 
/*global mw: false, jQuery: false, $: false */
/*jshint curly:false, */
 
(function () {
'use strict';
if (window.uploadLink || mw.user.anonymous()) return;
 
window.uploadLink = { // extra-object to prevent pollution of "window"
  install: function () {
    var link, userlink, username = encodeURIComponent(mw.libs.commons.guessUser() || '');
 
    link = mw.config.get('wgScript') + '?title=' + 'Special:MyUploads';
    userlink = mw.config.get('wgScript') + '?title=' + 'Special:ListFiles/' + username;
 
    var userlinkTexts = {
      // Translations of the menu item
      i18n: {
        'ar': 'مرفوعات المستخدم',
        'be-tarask': 'Загрузкі ўдзельніка',
        'be-x-old': 'Загрузкі ўдзельніка',
        'ca': 'Càrregues de l’usuari',
        'cs': 'Soubory uživatele',
        'cy': 'Uwchlwythiadau'r defnyddiwr',
        'de': 'Benutzeruploads',
        'en': 'User uploads',
        'eo': 'Alŝutoj de uzanto',
        'es': 'Archivos subidos por el usuario',
        'et': 'Kasutaja üleslaadimised',
        'fa': 'بارگذاری‌های کاربر',
        'fr': 'Imports de lutilisateur',
        'gl': 'Ficheiros subidos polo usuario',
        'it': 'Caricamenti utente',
        'ja': '利用者のアップロード',
        'ml': 'ഉപയോക്താവിന്റെ അപ്\u200cലോഡുകൾ',
        'pt': 'Ficheiros carregados pelo(a) utilizador(a)',
        'pt-br': 'Arquivos enviados pelo(a) usuário(a)',
        'ru': 'Загрузки участника',
        'sl': 'Uporabnikova nalaganja',
        'sv': 'Användaruppladdningar',
        'uk': 'Завантаження користувача',
        'zh': '用戶上傳',
        'zh-cn': '用户上传',
        'zh-my': '用户上传',
        'zh-sg': '用户上传',
        'zh-hans': '用户上传'
      }
    };

    var linkTextList = {
      // Translations of the menu item
      i18n: {
        'ar': 'مرفوعاتي',
        'be-tarask': 'Мае загрузкі',
        'be-x-old': 'Мае загрузкі',
        'bn': 'আমার আপলোড',
        'ca': 'Les meves càrregues',
        'cs': 'Soubory',
        'cy': 'Uwchlwythiadau',
        'de': 'Hochgeladene Dateien',
        'el': 'Οι επιφορτώσεις μου',
        'en': 'Uploads', // default
        'eo': 'Alŝutoj',
        'es': 'Archivos subidos',
        'et': 'Üleslaadimised',
        'fa': 'بارگذاری‌ها',
        'fi': 'Omat tallennukset',
        'fr': 'Imports',
        'gl': 'As miñas cargas',
        'he': 'העלאות שלי',
        'hr': 'Datoteke',
        'hu': 'Feltöltéseim',
        'is': 'Upphleðslur',
        'it': 'miei caricamenti',
        'ja': '自分のアップロード',
        'ko': '내가 올린 파일',
        'ksh': 'Ming Dateie',
        'lb': 'Meng Fichieren',
        'mk': 'Мои подигања',
        'ml': 'അപ്\u200cലോഡുകൾ',
        'nb': 'Opplastinger',
        'nl': 'Uploads',
        'nn': 'Opplastingar',
        'no': 'Opplastinger',
        'pl': 'Pliki',
        'pt': 'Carregamentos',
        'pt-br': 'Carregamentos',
        'ro': 'Încărcări',
        'ru': 'Мои загрузки',
        'sl': 'Nalaganja',
        'sq': 'Ngarkimet e mia',
        'sv': 'Uppladdningar',
        'tr': 'Yüklemelerim',
        'uk': 'Мої завантаження',
        'zh': '我上傳的檔案',
        'zh-cn': '我上传的文件',
        'zh-my': '我上传的文件',
        'zh-sg': '我上传的文件',
        'zh-hans': '我上传的文件'
      }
    };
 
    var linkTooltipList = {
      // Translations of the menu item tooltip
      i18n: {
        'ar': 'قائمة الملفات التي رفعتها',
        'be-tarask': 'Сьпіс файлаў, якія вы загрузілі',
        'be-x-old': 'Сьпіс файлаў, якія вы загрузілі',
        'bn': 'আপনার আপলোডকৃত ফাইলের তালিকা',
        'ca': 'Llista de fitxers que heu carregat',
        'cs': 'Seznam vašich načtených souborů',
        'cy': 'Rhestr o'r ffeiliau a uwchlwythwyd gennych',
        'de': 'Liste der Dateien, die du hochgeladen hast',
        'el': 'Κατάλογος των αρχείων που έχετε επιφορτώσει',
        'eo': 'Listo de dosieroj kiujn mi alŝutis',
        'en': 'List of files you have uploaded', // default
        'es': 'Lista de archivos que has subido',
        'et': 'Kõigi sinu üles laaditud failide loend',
        'fa': 'فهرست پرونده‌هایی که شما بارگذاری کرده‌اید',
        'fi': 'Luettelo tiedostoista, jotka olet tallentanut',
        'fr': 'Liste des fichiers que vous avez importés',
        'gl': 'Lista dos ficheiros que cargou',
        'he': 'רשימת קבצים שהעלאת',
        'hr': 'Popis datoteka koje ste postavili',
        'hu': 'A feltöltött fájljaid listája',
        'it': 'Lista dei file che hai caricato',
        'ja': '自分のアップロードしたファイルの一覧',
        'ko': '내가 올린 파일의 목록',
        'ksh': 'Zeisch en Leß met de Dateije, di De sellver huhjelaade häß',
        'lb': 'Lëscht vun de Fichieren, déi Dir eropgelueden hutt',
        'mk': 'Список на податотеки што ги имате подигнато',
        'ml': 'താങ്കൾ അപ്\u200cലോഡ് ചെയ്ത പ്രമാണങ്ങളുടെ പട്ടിക',
        'nb': 'Liste over filer du har lastet opp.',
        'nl': 'Lijst van door jou geüploade bestanden',
        'nn': 'Liste over filer du har lasta opp.',
        'no': 'Liste over filer du har lastet opp.',
        'pl': 'Lista plików załadowanych przez Ciebie',
        'pt': 'Lista de arquivos que você carregou',
        'pt-br': 'Lista de arquivos que você carregou',
        'ro': 'Lista fișierelor încărcate de tine',
        'ru': 'Список загруженных вами файлов',
        'sl': 'Seznam datotek, ki ste jih naložili',
        'sq': 'Lista e skedave që keni ngarkuar',
        'sv': 'Lista över filer som du har laddat upp',
        'tr': 'Yüklediğiniz dosyaların listesi',
        'uk': 'Список завантажених мною файлів',
        'zh': '列出您上傳的所有檔案',
        'zh-cn': '列出您上传的所有文件',
        'zh-my': '列出您上传的所有文件',
        'zh-sg': '列出您上传的所有文件',
        'zh-hans': '列出您上传的所有文件'
      }
    };
 
    var linkText = linkTextList.i18n[mw.config.get('wgUserLanguage')] || linkTextList.i18n[mw.config.get('wgUserLanguage').split('-')[0]] || linkTextList.i18n.en;
    var linkTooltip = linkTooltipList.i18n[mw.config.get('wgUserLanguage')] || linkTooltipList.i18n[mw.config.get('wgUserLanguage').split('-')[0]] || linkTooltipList.i18n.en;
 
    mw.util.addPortletLink('p-personal', link, linkText, 'pt-upl', linkTooltip, '', document.getElementById('pt-logout'));

    var userlinkText = userlinkTexts.i18n[mw.config.get('wgUserLanguage')] || userlinkTexts.i18n[mw.config.get('wgUserLanguage').split('-')[0]] || userlinkTexts.i18n.en;
    if (username) {
      mw.util.addPortletLink('p-tb', userlink, userlinkText, 't-JSONListUploads', '', '', document.getElementById('t-log'));
    }
  } // function
}; // object
 

// Krinkle: 
// When working in MediaWiki core it's important to wait until document ready as the element doesn't exist yet otherwise. 
// However gadgets are by default loaded from the bottom of the page 
// (after the end of the main content, a little bit before "document ready"). 
// At that point it is safe to manipulate anything above that line, so yes, feel free to remove the document ready wrapper for that gadget.
try {
  window.uploadLink.install();
} catch (ex) {}
 
})();
 /* End MyUploads */