לדלג לתוכן

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

מתוך צפונות ויקי
מאין תקציר עריכה
סדר וניקיון
שורה 1: שורה 1:
var interwikiOrder = new Array();
var interwikiOrder = [];


function containsInterwiki(kids, interWikiID) {
function containsInterwiki(kids, interWikiID) {
for (var i = 0; i < kids.length; i++) {
var i;
  if ($(kids[i]).hasClass('interwiki-' + interWikiID) )
 
  return i;
for (i = 0; i < kids.length; i++) {
}
if ($(kids[i]).hasClass('interwiki-' + interWikiID) ) {
return -1;
return i;
}
}
 
return -1;
}
}


function fixInterwikiOrder() {
function fixInterwikiOrder() {
var kids = document.getElementById('p-lang').getElementsByTagName('LI');
var i, interWikiIndex, kids, father, end, removeAllOthers;
var end = 'זהו'; // the Hebrew string says "end"
 
var removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == end) ? 2 : 1;
kids = document.getElementById('p-lang').getElementsByTagName('LI');
for (var i = interwikiOrder.length - removeAllOthers; i > -1; i--) {
end = 'זהו'; // the Hebrew string says "end"
  var interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == end) ? 2 : 1;
  if (interWikiIndex != -1) {
 
  var father = document.getElementById('p-lang').getElementsByTagName('UL')[0];
for (i = interwikiOrder.length - removeAllOthers; i > -1; i--) {
  father.insertBefore(kids[interWikiIndex], father.firstChild);
interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
  }
 
}
if (interWikiIndex != -1) {
if (removeAllOthers == 2)
father = document.getElementById('p-lang').getElementsByTagName('UL')[0];
  while (kids.length != interwikiOrder.length - 1)
father.insertBefore(kids[interWikiIndex], father.firstChild);
  father.removeChild(father.lastChild);
}
}
 
if (removeAllOthers == 2) {
while (kids.length != interwikiOrder.length - 1) {
father.removeChild(father.lastChild);
}
}
}
}


function initInterwikiOrder() {
function initInterwikiOrder() {
if (!document.getElementById('p-lang')) return;
var a;
var a = sajax_init_object();
 
// the Hebrew strings are "User:" (namespace) and "interwiki" (sub-page name)
if (!document.getElementById('p-lang')) {
a.open('GET', wgServer + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(wgUserName) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true);
return;
a.onreadystatechange = function() {
}
  if (a.readyState != 4) return;
 
  var lines = a.responseText.split('\n');
a = sajax_init_object();
  var rx = new RegExp('\\*\\s?([^$]*)');
 
  for (var i = 0; i < lines.length; i++) {
// the Hebrew strings are "User:" (namespace) and "interwiki" (sub-page name)
  var m = rx.exec(lines[i]);
a.open('GET', wgServer + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(wgUserName) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true);
  if (m)
 
    interwikiOrder.push(m[1]);
a.onreadystatechange = function() {
  else
var lines, rx, i, m;
    break;
 
  }
if (a.readyState != 4) {
  if (interwikiOrder[0]) fixInterwikiOrder();
return;
}
}
a.send(null);
 
lines = a.responseText.split('\n');
rx = new RegExp('\\*\\s?([^$]*)');
 
for (i = 0; i < lines.length; i++) {
m = rx.exec(lines[i]);
 
if (m) {
interwikiOrder.push(m[1]);
} else {
break;
}
}
 
if (interwikiOrder[0]) {
fixInterwikiOrder();
}
};
 
a.send(null);
}
}


$(initInterwikiOrder);
$(initInterwikiOrder);

גרסה מ־06:11, 24 ביוני 2015

var interwikiOrder = [];

function containsInterwiki(kids, interWikiID) {
	var i;

	for (i = 0; i < kids.length; i++) {
		if ($(kids[i]).hasClass('interwiki-' + interWikiID) ) {
			return i;
		}
	}

	return -1;
}

function fixInterwikiOrder() {
	var i, interWikiIndex, kids, father, end, removeAllOthers;

	kids = document.getElementById('p-lang').getElementsByTagName('LI');
	end = 'זהו'; // the Hebrew string says "end"
	removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == end) ? 2 : 1;

	for (i = interwikiOrder.length - removeAllOthers; i > -1; i--) {
		interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);

		if (interWikiIndex != -1) {
			father = document.getElementById('p-lang').getElementsByTagName('UL')[0];
			father.insertBefore(kids[interWikiIndex], father.firstChild);
		}
	}

	if (removeAllOthers == 2) {
		while (kids.length != interwikiOrder.length - 1) {
			father.removeChild(father.lastChild);
		}
	}
}

function initInterwikiOrder() {
	var a;

	if (!document.getElementById('p-lang')) {
		return;
	}

	a = sajax_init_object();

	// the Hebrew strings are "User:" (namespace) and "interwiki" (sub-page name)
	a.open('GET', wgServer + wgScriptPath + '/index.php?title=%D7%9E%D7%A9%D7%AA%D7%9E%D7%A9:' + encodeURIComponent(wgUserName) + '/%D7%91%D7%99%D7%A0%D7%95%D7%95%D7%99%D7%A7%D7%99&action=raw', true);

	a.onreadystatechange = function() {
		var lines, rx, i, m;

		if (a.readyState != 4) {
			return;
		}

		lines = a.responseText.split('\n');
		rx = new RegExp('\\*\\s?([^$]*)');

		for (i = 0; i < lines.length; i++) {
			m = rx.exec(lines[i]);

			if (m) {
				interwikiOrder.push(m[1]);
			} else {
				break;
			}
		}

		if (interwikiOrder[0]) {
			fixInterwikiOrder();
		}
	};

	a.send(null);
}

$(initInterwikiOrder);