MediaWiki:Gadget-whoisactive.js - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

MediaWiki:Gadget-whoisactive.js

  • Arayüz metni
  • Tartışma
  • Oku
  • Kaynağı gör
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Kaynağı gör
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
Görünüm
Vikipedi, özgür ansiklopedi

Not: Sayfayı kaydettikten sonra değişiklikleri görebilmek için tarayıcınızın önbelleğinizi temizlemeniz gerekir. Google Chrome, Firefox, Microsoft Edge ve Safari: ⇧ Shift tuşuna basılı tutun ve Yeniden Yükle araç çubuğu düğmesine tıklayın. Ayrıntılar ve diğer tarayıcılara yönelik yönergeler için Vikipedi:Önbelleğinizi atlayın sayfasını inceleyin.

$( function () {
	const filteredLinks = [];
	const localizedUserNamespace = mw.config.get( 'wgFormattedNamespaces' )[2];
	$( '.mw-parser-output' ).
		find( 'a[title^="User:"], a[title^="' + localizedUserNamespace + ':"]' ).
		each( function() {
			const link = $( this );
			const href = decodeURI( link.attr( 'href' ) );
			const userRegex = new RegExp(
				'((User)|(' + localizedUserNamespace + ')):(.*?)(?=&|$)'
			);
			const username = href.match(userRegex);
			const index = username[0].indexOf( '/' );
			if ( username[0].indexOf( '/' ) === -1 ) {
				filteredLinks.push( {
					username: username[0],
					element: link
				} );
			}
		} );

	if ( !filteredLinks.length ) {
		return;
	}

	const RECENT = 'recent';
	const THISYEAR = 'thisyear';
	const OVERAYEAR = 'overayear';

	const messages = {
		en: {
			recent: 'Edited recently',
			thisyear: 'Edited this year',
			overayear: 'Edited over a year ago'
		},
		tr: {
			recent: 'Aktif',
			thisyear: 'Yarı aktif',
			overayear: 'Aktif değil'
		},
		de: {
			recent: 'kürzlich bearbeitet',
			thisyear: 'in diesem Jahr bearbeitet',
			overayear: 'vor über einem Jahr bearbeitet'
		}
	};

	const localizedMessages = function () {
		const lang = mw.config.get( 'wgUserLanguage' );
		if ( lang in messages ) {
			return messages[lang];
		}
		return messages.en;
	}();

	const getLastActiveMarker = function ( timestamp ) {
		const date = Date.parse( timestamp );
		const now = Date.now();
		const diff = Math.floor( ( now - date ) / ( 1000 * 60 * 60 * 24 ) );
		var timespan = RECENT;
		if ( diff > 365 ) {
			timespan = OVERAYEAR;
		} else if ( diff > 30 ) {
			timespan = THISYEAR;
		}
		const iconPath = mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) +
			'/resources/lib/ooui/themes/wikimediaui/images/icons/userContributions-ltr.svg';
		const marker =
			"<span class='mw-whoisactivegadget-span mw-whoisactivegadget-" + timespan + "'>" +
			"<img src='" + iconPath + "' class='mw-whoisactivegadget-filter-" + timespan + "'/> " +
			localizedMessages[timespan] + "<span>";
		return $( marker );
	};

	mw.loader.using( [ 'mediawiki.api' ], function () {
		filteredLinks.forEach( function( item ) {
			const username = item.username;
			const element = item.element;
			const api = new mw.Api();
			api.get( {
				format: 'json',
				action: 'query',
				list: 'usercontribs',
				uclimit: '1',
				ucuser: username
			} ).then( function ( result ) {
				if ( result.query.usercontribs.length ) {
					const timestamp = result.query.usercontribs[0].timestamp;
					getLastActiveMarker( timestamp ).insertAfter( element );
				}
			} );
		} );
	} );
} );
"https://tr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-whoisactive.js&oldid=27802129" sayfasından alınmıştır
  • Sayfa en son 22.07, 18 Mayıs 2022 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
MediaWiki:Gadget-whoisactive.js
Konu ekle