משתמש:ניצוצות/common.js/workTemplatesMessage.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
//<syntaxhighlight lang="javascript">
/* סקריפט להוספת קישורים להוספת תבניות אזהרה שונות למשתמשים, מאת Yonidebest תוספת ס: ו|שם הדף, על ידי Ofekalef */

function save_topage(title, summary, content, next, warning) {

	function doneSave(data) {
		if (data && data.error) 
			alert('error saving: ' + data.error['info']);
		else if (data && data.edit && data.edit.result == 'Success' && typeof next == 'function')
			next();
	}
	
	function tokenReceived(token) {
                if(warning == 'ניסויים' || warning == 'אזהרה' || warning == 'בוטל') {
		var param = {action: 'edit', title: title, summary: summary, watchlist: 'unwatch', token: token, appendtext: content, format: 'json'};
                }
                else {
		var param = {action: 'edit', title: title, summary: summary, token: token, appendtext: content, format: 'json'};
                }
		$.post(wgScriptPath + '/api.php?', param, doneSave);
	}

	function doneGetToken(data) {
		for (var page in data.query.pages) {
			tokenReceived(data.query.pages[page].edittoken);
			break;
		}
	}
	
	$.getJSON(wgScriptPath + '/api.php?', {action: 'query', prop: 'info', intoken: 'edit', titles: title, format: 'json'}, doneGetToken);
        
}

function createWarningLink( user, warning, title, refPage ) {
    var link = document.createElement("a");
    link.href = "javascript:void(0);";
    link.onclick = function() {
        var user = this.getAttribute( "user" );
        var warning = this.getAttribute( "warning" );
        var refPage = this.getAttribute( "ref_page" );
        if( !refPage ) {
            refPage = ( wgNamespaceNumber == 6 || wgNamespaceNumber == 14 ) ? ( ":" + wgPageName ) : wgPageName;
        }
        var text = "";
        if( !warning ) return;
        if( refPage ) {
            refPage = refPage.replace( /_/g, " " ); 
        }
		if (warning == 'ברוך בואך')
		{
			text = "{" + "{" + warning + "}} ~~" + "~~\n" + text;
		}
		else
		{
			text += "\n== [[" + refPage + "]] ==";
			text += "\n{" + "{" + warning + "|" + refPage + "}} ~~" + "~~";
		}
        save_topage("שיחת משתמש:" + user, warning, text, function()  {alert('בקשתך נשמרה ב-שיחת משתמש:' + user);}, warning);


}


    
    link.setAttribute( "user", user );
    link.setAttribute( "warning", warning );
    if( refPage ) {
        link.setAttribute( "ref_page", refPage );
    }
    link.innerHTML = warning;
    link.title = title;
    return link;

}

function warningDiffLinks() {
    if( !document.getElementById("mw-diff-ntitle2") ) return; // not a diff page
    var link = document.getElementById("mw-diff-ntitle2").getElementsByTagName("a")[0];
    var user = link.innerHTML;

    var span = document.createElement("span");
    span.appendChild( document.createTextNode( " (" ) );
	if(( !/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test( user )))
	{
		span.appendChild( createWarningLink( user, "ברוך בואך", "הוספת תבנית ברוך בואך" ) );
		span.appendChild( document.createTextNode(" | ") );
	}
    span.appendChild( createWarningLink( user, "אזהרה", "הוספת תבנית אזהרה" ) );
    span.appendChild( document.createTextNode(" | ") );
    span.appendChild( createWarningLink( user, "ניסויים", "הוספת תבנית ניסויים" ) );
    span.appendChild( document.createTextNode(" | ") );
    span.appendChild( createWarningLink( user, "בוטל", "הוספת תבנית בוטל" ) );
	span.appendChild( document.createTextNode(" | ") );
	span.appendChild( createWarningLink( user, "הסבר", "הוספת תבנית הסבר" ) );
    if(( !/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test( user ))==false )  {// not an anonymous user diff page 
		span.appendChild( document.createTextNode(" | ") );
		span.appendChild( createWarningLink( user, "תודה", "הוספת תבנית תודה" ) );
    }
    span.appendChild( document.createTextNode( ")" ) );
    link.parentNode.insertBefore( span, link.nextSibling );
}


$(warningDiffLinks);
//</syntaxhighlight>