מדיה ויקי:AlertProtected.js: הבדלים בין גרסאות בדף
מראה
סקריפט מעודכן |
מתקן באג קטנטן - wgRestrictionEdit לא מוגדר בדף שינויים אחרונים |
||
| שורה 9: | שורה 9: | ||
function protectNotice() | function protectNotice() | ||
{ | { | ||
if ( wgRestrictionEdit[0] != 'sysop' && wgRestrictionEdit[0] != 'autoconfirmed' ) return; // only protected pages | if ( !wgRestrictionEdit || ( wgRestrictionEdit[0] != 'sysop' && wgRestrictionEdit[0] != 'autoconfirmed' ) ) return; // only protected pages | ||
if ( wgNamespaceNumber != 0 ) return; // only main namespace | if ( wgNamespaceNumber != 0 ) return; // only main namespace | ||
if ( wgAction != 'view' && wgAction != 'submit' ) return; // only view or preview mode | if ( wgAction != 'view' && wgAction != 'submit' ) return; // only view or preview mode | ||
| שורה 48: | שורה 48: | ||
} | } | ||
addOnloadHook(protectNotice); | if ( wgNamespaceNumber === 0 && ( wgAction === 'view' || wgAction === 'submit' ) ) addOnloadHook( protectNotice ); | ||
גרסה מ־12:16, 16 בפברואר 2011
/*
* 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:Yonidebest]]
*
*/
function protectNotice()
{
if ( !wgRestrictionEdit || ( wgRestrictionEdit[0] != 'sysop' && wgRestrictionEdit[0] != 'autoconfirmed' ) ) return; // only protected pages
if ( wgNamespaceNumber != 0 ) return; // only main namespace
if ( wgAction != 'view' && wgAction != 'submit' ) return; // only view or preview mode
if ( document.getElementById('pl-noprotectionnotice') ) return; // no {{תב|ללא הודעת הגנה אוטומטית}} templates
if ( document.getElementById('pl-autoconfirmed') ) return; // no {{תב|מוגן חלקית}} templates
if ( document.getElementById('pl-protected') ) return; // no {{תב|מוגן}} templates
// load appropriate template according to protection level
var templateUrl = wgServer + wgScriptPath + '/index.php?action=render&title=';
if (wgRestrictionEdit[0] == 'sysop')
templateUrl += encodeURIComponent('תבנית:מוגן/קוד');
else
templateUrl += encodeURIComponent('תבנית:מוגן חלקית/קוד');
var a = sajax_init_object();
a.open('GET', templateUrl, true);
a.onreadystatechange = function() {
if (a.readyState != 4) return;
// adjust text (links mainly)
var adjustedText = a.responseText;
var talklink = '<a href="/wiki/' + encodeURIComponent('שיחה:' + wgTitle) + '" title="דף השיחה">דף השיחה</a>';
adjustedText = adjustedText.replace(/PLPROTECTEDTALK/g, talklink);
var histlink = '<a href="http://he.wikipedia.org/w/index.php?title=' + encodeURIComponent(wgTitle) + '&action=history" title="דף הגרסאות הקודמות">דף הגרסאות הקודמות</a>';
adjustedText = adjustedText.replace(/PLPROTECTEDPAGE/g, histlink);
// add text to container
var divContainer = document.createElement('div');
divContainer.className = 'plprotected';
divContainer.innerHTML = adjustedText;
// attach container before categories (or footer)
var attachHere = document.getElementById('catlinks');
if (!attachHere) attachHere = getElementsByClassName(document, 'DIV', 'printfooter')[0];
attachHere.parentNode.insertBefore(divContainer, attachHere);
};
a.send(null);
}
if ( wgNamespaceNumber === 0 && ( wgAction === 'view' || wgAction === 'submit' ) ) addOnloadHook( protectNotice );