לדלג לתוכן

מדיה ויקי:Common.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
ביטול גרסה 17605073 של IKhitron (שיחה) מוקדם מדי. הרבה דפים וכמה תבניות עדיין משתמשים בסקריפט הזה, וצריך לטפל בהם קודם
הכפלה של הטענת סקריפטים אישיים לפני שינוי שמם לסיומת js
שורה 7: שורה 7:
function importUserScript() {
function importUserScript() {
'use strict';
'use strict';
 
/*
הכפלה של הטענת סקריפטים אישיים לפני שינוי שמם לסיומת
js
*/
var args = arguments;
var args = arguments;


שורה 14: שורה 17:
try {
try {
importScript( "MediaWiki:סקריפטים/" + args[arg] );
importScript( "MediaWiki:סקריפטים/" + args[arg] );
}
catch(e) {}
try {
importScript( "MediaWiki:סקריפטים/" + args[arg] + ".js" );
}
}
catch(e) {}
catch(e) {}

גרסה מ־17:18, 16 באוקטובר 2015

// Global variable hints for JSHint
/* global $, mw, importScript */

/* ייבוא סקריפטים */

/* פונקציה לייבוא סקריפט מ[[ויקיפדיה:סקריפטים]] */
function importUserScript() {
	'use strict';
/*
הכפלה של הטענת סקריפטים אישיים לפני שינוי שמם לסיומת
js
*/
	var args = arguments;

	mw.loader.using('mediawiki.util', function() {
		for (var arg = 0; arg < args.length; arg++) {
			try {
				importScript( "MediaWiki:סקריפטים/" + args[arg] );
			}
			catch(e) {}
			try {
				importScript( "MediaWiki:סקריפטים/" + args[arg] + ".js" );
			}
			catch(e) {}
		}
	});
}

/* פונקציה הטוענת פונקציות בעת עליית הדף */
function addLoadEvent() {
 // Deprecated
}

/* פונקציה לקבלת ערך של פרמטר משורת הכתובת */
mw.log.deprecate( window, 'getParamValue', mw.util.getParamValue, 'Use mediawiki.util instead.' );

mw.loader.using( 'mediawiki.util', function() {
	'use strict';

	importScript("MediaWiki:Functions.js"); // פונקציות המצויות בשימוש בסקריפטים שונים

	if ( $.inArray( mw.config.get( 'wgPageName' ), ["עמוד_ראשי", "שיחה:עמוד_ראשי"] ) + 1 ) {
		importScript("MediaWiki:Mainpage.js"); // שיפורים שונים בעמוד הראשי

		if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {
			importScript("MediaWiki:Portals.js");  // פורטלים מתחלפים בעמוד הראשי
		}
	}

	// סקריפטים כלליים
	importScript("MediaWiki:UploadLink.js"); // שינוי קישורי ההעלאה
	importScript("MediaWiki:SubPagesLink.js"); // הוספת קישור לדפי המשנה של הדף הנוכחי
	importScript("MediaWiki:FeaturedInterwiki.js"); // תמיכה באינטרוויקי מומלץ ואיכותי
	importScript("MediaWiki:Navigationbar.js"); // תמיכה בקופסאות מוסתרות
	importScript("MediaWiki:Collapsetables.js"); // טבלאות מוסתרות
	importScript("MediaWiki:Tabs.js"); // תמיכה בלשוניות
	importScript("MediaWiki:SlideShow.js"); // מצגת תמונות
	importScript("MediaWiki:ImgToggle.js"); // החלפת תמונות, עבור [[תבנית:מפת מיקום]]
	importScript("MediaWiki:LoadingContent.js"); // הצגת טקסטים הנטענים באופן דינמי
	importScript("Mediawiki:Imagemap-Highlight.js"); // עבור [[תבנית:מפת תמונה]] עם סימון=כן
	importScript('Mediawiki:Common.js/pgn.js'); // להצגת שחמט

	if(mw.config.get('wgAction') === 'history'){
		importScript("MediaWiki:FixHistPage.js");     // הסתרת קישורים ותיבות checkbox בדף ההיסטוריה והוספת אפשרות להפעלתם באמצעות כפתור מתאים.
	}
	if ( mw.config.get( 'wgNamespaceNumber' ) === 6) {
		try {
			mw.loader.load('//tools.wmflabs.org/imagemapedit/ime.js');
		}
		catch(e) {} // surround with try/catch in case other server behaves badly.
	}
	// סקריפטים עבור אנונימיים ו/או חדשים
	if ( $.inArray("autoconfirmed", mw.config.get( 'wgUserGroups' ) ) === -1 ) {
		importScript("MediaWiki:anonTalkLink.js"); // הצגת קישור לדף השיחה עבור אנונימיים, בעת קבלת הודעה
		importScript("MediaWiki:Autopurge.js"); // הוספת אפשרות לרענון אוטומטי על ידי אנונימיים, ללא מעבר בטופס
		importScript("MediaWiki:Navtip.js"); // הוספת התיבה "רוצה טיפ?" בצד למשתמשים אנונימיים
	}

	// סקריפטים לדפי עריכה
	if ( ($.inArray( mw.config.get( 'wgAction' ), ["edit", "submit"]) + 1 ) && ! $('#wpTextbox1').prop( 'readonly' )	) {
		importScript("MediaWiki:Edittoolbar.js"); // תוספות לסרגל העריכה
		importScript("MediaWiki:Templateslist.js"); // הצגת רשימת תבניות
		importScript("MediaWiki:Nosaving.js"); // חיוב תצוגה מקדימה למשתמשים אנונימיים
		importScript("MediaWiki:Edittools.js"); // שיפור התווים המיוחדים שמתחת לדף העריכה
		importScript("MediaWiki:Ref2template.js"); //ref סקריפט שמשנה את התנהגות כפתור "הערה": הוספת תבנית הערה. במקום להוסיף תג
	}

	// סקריפטים לעמודים ספציפיים
	if( mw.config.get( 'wgCanonicalSpecialPageName' ) === "Upload" ) {
		importScript("MediaWiki:Licenses.js"); // שיפורים ברשיונות ושינויים בדף ההעלאה
	}

	// הופעת [[תבנית:דיון חדש במזנון]] לפני יצירת פסקה חדשה במזנון
	if(mw.config.get('wgPageName') === 'ויקיפדיה:מזנון') {
		$(document).ready(function() {
			var $addSectionLink = $('#ca-addsection a'),
				currentHref = $addSectionLink.attr('href');

			$addSectionLink.attr('href', currentHref + '&editintro=תבנית:דיון_חדש_במזנון');
		});
	}

	/** WikiMiniAtlas *******************************************************
	 *
	 *  Description: WikiMiniAtlas is a popup click and drag world map.
	 *               This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
	 *               The script itself is located on meta because it is used by many projects.
	 *               See [[Meta:WikiMiniAtlas]] for more information.
	 *  Maintainers: [[User:Dschwen]]
	 */
	 ( function () {
	         if ( $( 'a.external.text[href*=geohack], div.kmldata' ).length ) {
	             mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
	         }
	 } )();

	/*
	 * Description: Redirects from /User:UserName/skin.js or .css to the user's actual skin page. Used (also) in {{תב|דף אישי}}.
	 * Originally created by [[:en:User:Cacycle]]
	 */
	$(function () {
		if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgUserName' )) {
                        var pageName = mw.config.get( 'wgPageName' );
			var slash = pageName.indexOf('/');
			var norm = pageName.substr(0, slash) +  mw.config.get( 'wgPageName' ).substr(slash).toLowerCase();
			var test = 'משתמש:' + mw.config.get( 'wgUserName' ).replace(/ /g, '_') + '/skin.';
			var ext = null;
			if (norm === test + 'js') {
				ext = 'js';
			} else if (norm === test + 'css') {
				ext = 'css';
			}
			if (ext !== null) {
				window.location.href = window.location.href.replace(/\/skin.(css|js)/i, '/' + mw.config.get( 'skin' ) + '.' + ext);
			}
		}

		// create an event when "addportellink" is called, so scripts that manipulate menus ca readjust.
		var oldFunc = mw.util.addPortletLink;
		if (typeof oldFunc === 'function') {
			mw.util.addPortletLink = function() {
				var res = oldFunc.apply( this, arguments );
				$( document ).trigger( 'new-portlet-link' );
				return res;
			};
		}
	});


	if ( $.inArray( mw.config.get( 'wgPageName' ), ["ויקיפדיה:בוקמרקלטים", "שיחת_ויקיפדיה:בוקמרקלטים"] ) + 1 ) {  
		importScript("MediaWiki:bookmarkletsInit.js");                               // דף הבוקמרקלטים
	}

	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' ) {
		importScript("MediaWiki:SearchEngines.js"); // בחירה במנועי חיפוש שונים
		importScript('Mediawiki:Gadget-advanceSearch.js');
	}

	// Adding results from Wikidata to search, when a page doesn't exist:

	if (mw.config.get('wgCanonicalSpecialPageName') === 'Search' ||  (mw.config.get('wgArticleId') === 0 && mw.config.get('wgCanonicalSpecialPageName') === false)) {
		mw.loader.load("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
	}

	/*
	 * Adds an automatic "{{תב|מוגן}}" or "{{תב|מוגן חלקית}}" template when the page is protected.
	 * You can use the {{תב|ללא הודעת הגנה אוטומטית}} to prevent the protection notice from being inserted.
	 *
	 * written by [[User:ערן]], [[User:Yonidebest]]
	 *
	 */
	var restrictionEdit = mw.config.get('wgRestrictionCreate') || mw.config.get('wgRestrictionEdit');
	if( restrictionEdit &&
		restrictionEdit.length > 0 &&
		(
			restrictionEdit[0] === 'sysop' ||
			restrictionEdit[0] === 'autoconfirmed' ||
			restrictionEdit[0] === 'autopatrol'
		) &&
		$('#pl-noprotectionnotice, #pl-autoconfirmed, #pl-protected').length === 0 &&
		($.inArray(mw.config.get('wgAction'), ['view','submit']) + 1)
	) {
		var restrictionEditMapping = {
			'sysop': 'מוגן',
			'autopatrol': 'הגנה מוגברת',
			'autoconfirmed': 'מוגן חלקית'
		};

		$.get( mw.util.wikiScript('api'), {
			action: 'parse',
			format: 'json',
			text: '{{' + restrictionEditMapping[restrictionEdit[0]] + '}}',
			prop: 'text',
			title: mw.config.get('wgPageName'),
			contentmodel:'wikitext'
		}, function(data) {
			$(function() {
				$('.printfooter').before($('<div>', {
					'class': 'plprotected',
					'html': data.parse.text['*']
				}));
			});

		});
	}

	/* Use http redirect for Haaretz links until there's a less ad-hoc solution */
	if (location.protocol === 'https:') {
		$('a.external[href^="http://www.haaretz.co.il"]').each(function() {
			$(this).attr('href', 'http://tools.wmflabs.org/hewiki-tools/redirect.php?q=' + $(this).attr('href'));
		});
	}
});