לדלג לתוכן

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

מתוך צפונות ויקי
מ בהתאם לבקשה בבקשות ממפעילים
←using [[mw:CodeEditor|CodeEditor]]: תיבת דו שיח במקום לדחוף את כל התבניות בתיבת הכלים.
שורה 1: שורה 1:
/* adds to the toolbox a list of templates to add in talkpages. */
/* adds to the toolbox a list of templates to add in talkpages. */
$(function() {
var uTemplate_registered = [
    var user = $('#mw-diff-ntitle2 a:first').text(),
{title: 'אזהרות', templates: ['אזהרה', 'אזהרה לרשום', 'הבל', 'העתקה', 'שם פוגעני', 'נחסמת', 'לך', 'שגיאה']},
userAnon = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(user),
{title: 'הודעות', templates: ['פרסומת', 'ניסויים', 'נמחק ניסויים', 'נמחק', 'בוטל', 'חזרה על עריכה', 'קישור מבוטל']},
tlist = userAnon
{title: 'תמונות', templates: ['אזהרת תמונות2',  'תמונה מוגנת', 'מחיקת תמונה', 'מקור תמונה', 'הנחיות תמונה']},
? [
{title: 'הסברים', templates: ['אוטוביוגרפיה', 'טעות', 'הסבר', 'נייטרליות', 'לא כאן', 'סגנון', 'שימוש בדף השיחה', 'כבר קיים', 'התנחלות', 'ויקיזציה', 'זכות הצבעה', 'מילון']},
{title: 'אזהרות', templates: ['אזהרה', 'לך', 'הבל', 'העתקה', 'נחסמת', 'תלונה', 'שגיאה']},
{title: 'תודות', templates: ['תודה לרשום', 'בדוק עריכות אוטומטית']}
{title: 'הודעות', templates: ['ניסויים', 'נמחק ניסויים', 'נמחק', 'בוטל', 'חזרה על עריכה', 'קישור מבוטל']},
]
{title: 'הסברים', templates: ['טעות', 'הסבר', 'לא כאן', 'נייטרליות', 'סגנון', 'שימוש בדף השיחה', 'כבר קיים', 'התנחלות', 'ויקיזציה', 'מילון']},
{title: 'תודות', templates: ['תודה', 'הזמנה']}
var uTemplate_anon = [
]
{title: 'אזהרות', templates: ['אזהרה', 'לך', 'הבל', 'העתקה', 'נחסמת', 'תלונה', 'שגיאה']},
: [
{title: 'הודעות', templates: ['ניסויים', 'נמחק ניסויים', 'נמחק', 'בוטל', 'חזרה על עריכה', 'קישור מבוטל']},
{title: 'אזהרות', templates: ['אזהרה', 'אזהרה לרשום', 'הבל', 'העתקה', 'שם פוגעני', 'נחסמת', 'לך', 'שגיאה']},
{title: 'הסברים', templates: ['טעות', 'הסבר', 'לא כאן', 'נייטרליות', 'סגנון', 'שימוש בדף השיחה', 'כבר קיים', 'התנחלות', 'ויקיזציה', 'מילון']},
{title: 'הודעות', templates: ['פרסומת', 'ניסויים', 'נמחק ניסויים', 'נמחק', 'בוטל', 'חזרה על עריכה', 'קישור מבוטל']},
{title: 'תודות', templates: ['תודה', 'הזמנה']}
{title: 'תמונות', templates: ['אזהרת תמונות2',  'תמונה מוגנת', 'מחיקת תמונה', 'מקור תמונה', 'הנחיות תמונה']},
]
{title: 'הסברים', templates: ['אוטוביוגרפיה', 'טעות', 'הסבר', 'נייטרליות', 'לא כאן', 'סגנון', 'שימוש בדף השיחה', 'כבר קיים', 'התנחלות', 'ויקיזציה', 'זכות הצבעה', 'מילון']},
 
{title: 'תודות', templates: ['תודה לרשום', 'בדוק עריכות אוטומטית']}
var uTemplate_tooltips = {
],
'תמונה מוגנת': 'הסבר למשתמש שהעלה תמונה מוגנת',
tooltips = {
'תלונה': 'הודעה למשתמש שהוגשה תלונה נגדו לספק האינטרנט שלו',
'תמונה מוגנת': 'הסבר למשתמש שהעלה תמונה מוגנת',
'תודה': 'תודה לאלמוני על תרומתו, והזמנה להרשם',
'תלונה': 'הודעה למשתמש שהוגשה תלונה נגדו לספק האינטרנט שלו',
'תודה לרשום': 'תודה אישית למשתמש רשום - יש להוסיף לתבנית את הערך בגינו את מודה לו',
'תודה': 'תודה לאלמוני על תרומתו, והזמנה להרשם',
'שם פוגעני': 'הודעה למשתמש רשום שהשם שבחר פוגעני, ובקשה להרשם בשם אחר',
'תודה לרשום': 'תודה אישית למשתמש רשום - יש להוסיף לתבנית את הערך בגינו את מודה לו',
'שימוש בדף השיחה': 'הודעה למשתמש שכתב דברים שמתאימים לדף שיחה בערך עצמו',
'שם פוגעני': 'הודעה למשתמש רשום שהשם שבחר פוגעני, ובקשה להרשם בשם אחר',
'שגיאה': 'אזהרת משתמש שעריכתו הכילה מידע שגוי, מידע שאין מקומו בערך או לא אנציקלופדי',
'שימוש בדף השיחה': 'הודעה למשתמש שכתב דברים שמתאימים לדף שיחה בערך עצמו',
'קישור מבוטל': 'הודעה למשתמש אחרי שהסרת קישור שהוסיף',
'שגיאה': 'אזהרת משתמש שעריכתו הכילה מידע שגוי, מידע שאין מקומו בערך או לא אנציקלופדי',
'פרסומת': 'הודעה למשתמש אחרי שהסרת פרסומת שהוסיף',
'קישור מבוטל': 'הודעה למשתמש אחרי שהסרת קישור שהוסיף',
'סגנון': 'אחרי שמחקת עריכה בגלל סגנון או תוכן לא מתאים לערך',
'פרסומת': 'הודעה למשתמש אחרי שהסרת פרסומת שהוסיף',
'נמחק': 'הודעה למשתמש אחרי מחיקת ערך חדש שכתב',
'סגנון': 'אחרי שמחקת עריכה בגלל סגנון או תוכן לא מתאים לערך',
'נמחק ניסויים': 'הודעה למשתמש אחרי מחיקת ערך הבל שכתב',
'נמחק': 'הודעה למשתמש אחרי מחיקת ערך חדש שכתב',
'ניסויים': 'הודעה למשתמש אחרי שחזור עריכת הבל קטנה',
'נמחק ניסויים': 'הודעה למשתמש אחרי מחיקת ערך הבל שכתב',
'נייטרליות': 'הודעה למשתמש אחרי שחזור עריכה לא נייטרלית',
'ניסויים': 'הודעה למשתמש אחרי שחזור עריכת הבל קטנה',
'נחסמת': 'אזהרת משתמש שנחסם בגלל השחתות, עם איום לפנות לספק האינטרנט ולרשויות',
'נייטרליות': 'הודעה למשתמש אחרי שחזור עריכה לא נייטרלית',
'מקור תמונה': 'יש להכליל תבנית זו בדף שיחת המשתמש של משתמש שהעלה תמונה שלא ידוע מה מקורה. (פרמטרים)',
'נחסמת': 'אזהרת משתמש שנחסם בגלל השחתות, עם איום לפנות לספק האינטרנט ולרשויות',
'מילון': 'הזמנה להרשם, והערה לגבי ערכים מילוניים, הפניה לויקימילון',
'מקור תמונה': 'יש להכליל תבנית זו בדף שיחת המשתמש של משתמש שהעלה תמונה שלא ידוע מה מקורה. (פרמטרים)',
'מחיקת תמונה': 'הודעה למשתמש שתמונה שהעלה נמחקה',
'מילון': 'הזמנה להרשם, והערה לגבי ערכים מילוניים, הפניה לויקימילון',
'לך': 'אזהרה אחרונה לפני חסימה למשחית',
'מחיקת תמונה': 'הודעה למשתמש שתמונה שהעלה נמחקה',
'לא כאן': 'תבנית פרמטרית למשתמש שכתב דברים בדף לא מתאים, והם נמחקו או הועברו',
'לך': 'אזהרה אחרונה לפני חסימה למשחית',
'כבר קיים': 'תבנית פרמטרית למשתמש שיצר ערך חדש שכבר קיים (בשם אחר), אחרי שהדף שיצר שונה להפניה',
'לא כאן': 'תבנית פרמטרית למשתמש שכתב דברים בדף לא מתאים, והם נמחקו או הועברו',
'טעות': '"אם לדעתך יש טעות בערך כלשהו, יש לציין זאת בדף השיחה של הערך"',
'כבר קיים': 'תבנית פרמטרית למשתמש שיצר ערך חדש שכבר קיים (בשם אחר), אחרי שהדף שיצר שונה להפניה',
'חזרה על עריכה':'אזהרה: "חזרה על עריכות ששוחזרו ללא דיון בדף שיחה אינה מקובלת בוויקיפדיה"',
'טעות': '"אם לדעתך יש טעות בערך כלשהו, יש לציין זאת בדף השיחה של הערך"',
'זכות הצבעה': 'אחרי הסרת הצבעה בגלל ז"ה, פרמטר: דף ההצבעה',
'חזרה על עריכה':'אזהרה: "חזרה על עריכות ששוחזרו ללא דיון בדף שיחה אינה מקובלת בוויקיפדיה"',
'ויקיזציה': 'הפניה למדריכי עריכה שונים',
'זכות הצבעה': 'אחרי הסרת הצבעה בגלל ז"ה, פרמטר: דף ההצבעה',
'התנחלות': 'הסבר על החלטה שהתקבלה בפרלמנט על קווים ירוקים ואחרים',
'ויקיזציה': 'הפניה למדריכי עריכה שונים',
'העתקה': 'במקביל להחלפת תוכן הדף בתבנית הז"י',
'התנחלות': 'הסבר על החלטה שהתקבלה בפרלמנט על קווים ירוקים ואחרים',
'הסבר': 'בקשה להסבר על עריכה. כשמציבים תבנית זו יש לעקוב אחרי דף השיחה כדי לקבל את ההסבר',
'העתקה': 'במקביל להחלפת תוכן הדף בתבנית הז"י',
'הנחיות תמונה': 'פרמטרים: תמונה=(התמונה או "הכל"), ועוד אחד עד שלושה פרמטרים מהרשימה הבאה: מקור,ערך,הוגן,חשבון,קישור,זרה,OTRS',
'הסבר': 'בקשה להסבר על עריכה. כשמציבים תבנית זו יש לעקוב אחרי דף השיחה כדי לקבל את ההסבר',
'הזמנה': 'הזמנת אלמוני להרשם',
'הנחיות תמונה': 'פרמטרים: תמונה=(התמונה או "הכל"), ועוד אחד עד שלושה פרמטרים מהרשימה הבאה: מקור,ערך,הוגן,חשבון,קישור,זרה,OTRS',
'הבל': 'אזהרה עדינה',
'הזמנה': 'הזמנת אלמוני להרשם',
'בוטל': 'הסבר לביטול עריכה. פרמטר ראשון:שם הערך, פרמטר שני (אופציונלי): סיבת הביטול',
'הבל': 'אזהרה עדינה',
'אזהרת תמונות2':'הסבר על העלאת תמונות',
'בוטל': 'הסבר לביטול עריכה. פרמטר ראשון:שם הערך, פרמטר שני (אופציונלי): סיבת הביטול',
'אזהרה': 'אזהרת אנונימיים וחדשים (עד 4 ימים) לפני החסימה',
'אזהרת תמונות2':'הסבר על העלאת תמונות',
'אזהרה לרשום': 'עריכה שנויה במחלוקת, לאחר שחזור',
'אזהרה': 'אזהרת אנונימיים וחדשים (עד 4 ימים) לפני החסימה',
'אוטוביוגרפיה': 'לאדם שהעלה ערך לא ראוי על עצמו',
'אזהרה לרשום': 'עריכה שנויה במחלוקת, לאחר שחזור',
        'בדוק עריכות אוטומטית':'למשתמש שקיבל הרשאת בדוק עריכות'
'אוטוביוגרפיה': 'לאדם שהעלה ערך לא ראוי על עצמו',
}
'בדוק עריכות אוטומטית':'למשתמש שקיבל הרשאת בדוק עריכות'
 
},
var uTemplate_requires_params = ['כבר קיים', 'בוטל', 'לא כאן', 'הסבר', 'מקור תמונה', 'זכות הצבעה', 'הנחיות תמונה'];
templates_requiring_params = ['כבר קיים', 'בוטל', 'לא כאן', 'הסבר', 'מקור תמונה', 'זכות הצבעה', 'הנחיות תמונה'];
 
function uTemplate_addTemplate(template) {
if (!document.editform && !getParamValue('autoinsert_template')) {
function openDialog() {
if (uTemplate_isDiffView()) {
var dialog, template, selector, needParam, paramfield, paramrow;
var div = document.getElementById('mw-diff-ntitle2');
if (!div) return;
function doIt() {
var tools = getElementsByClassName(div, 'span', 'mw-usertoollinks');
var summary = 'תבנית ' + template,
if (!tools || tools.length == 0) return;
message = '\n==[[' + mw.config.get('wgPageName') + ']]==\n' +
var a = tools[0].getElementsByTagName('a');
'{{ס:' + template + (needParam ? '|' + paramfield.val() : '') + "}} ~~" + "~~";
if (!a || a.length == 0) return;
dialog.css({cursor: 'wait'})
var href = a[0].href + ((a[0].href.indexOf('?')+1) ? '&' : '?');
$.ajax({
document.location = href + 'action=edit&autoinsert_template=' + template + '&origpage=' + getParamValue('title');
url: mw.util.wikiScript('api'),
} else {
aync: false,
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
type: 'post',
document.location = editlk + '&autoinsert_template=' + template;
data: {action: 'edit', title: 'שיחת משתמש:' + user, summary: summary, token: mw.user.tokens.get('editToken'), appendtext: message, format:'json'},
success: function(data){
dialog.css({pointer: ''});
dialog.dialog('close');
},
error: function(data) {
dialog.append($('<p>').css({color: 'red'}).text('תקלה. התבנית לא נשמרה בדף השיחה של המשתמש'));
}
});
}
}
return;
}
mw.loader.using('jquery.ui.dialog', function() {
var needParams = $.inArray(template, uTemplate_requires_params) + 1;
var buttons = {
var origPage = getParamValue('origpage');
'ביטול': function() {dialog.dialog('close');},
if (origPage)
'בצע': doIt
document.editform.wpTextbox1.value += "\n==[[" + origPage + "]]==\n";
};
document.editform.wpTextbox1.value += "\n{{ס:" + template + (needParams?'|':'') + "}} ~~" + "~~";
dialog = $('<div>').dialog({
document.editform.wpSummary.value = 'תבנית "' + template + '"';
title: 'הוספת תבנית אזהרה לדף השיחה של ' + user,
if (!needParams && uTemplate_shouldsave())
width: 'auto',
document.editform.wpSave.click();
height: 'auto',
else
overflow: 'auto',
document.editform.wpTextbox1.scrollTop = document.editform.wpTextbox1.scrollHeight;
position: [$('body').width() * 0.4, $('body').height() * 0.4],
}
buttons: buttons});


function uTemplate_is_anon() {return /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(wgTitle);}
function setValues() {
template = selector.val();
needParam = $.inArray(template, templates_requiring_params) + 1;
paramrow.toggle(!!needParam);
var canOK = (! needParam || $.trim(paramfield.val()).length) ? 'enable' : 'disable';
$(".ui-dialog-buttonpane button:contains('בצע')").button(canOK);
}


function uTemplate_shouldsave(){return typeof template_autosave == "undefined" || template_autosave;}
selector = $('<select>')
 
.append($('<option>', {text: 'אנא בחרו תבנית מהרשימה', value: '', disabled: 1}))
function uTemplate_onload() {
.change(setValues);
addPortletLink('p-tb', '', ''); // create a little space.
var uTemplate = uTemplate_is_anon() ? uTemplate_anon : uTemplate_registered;
for (var i in tlist) {
for (var i in uTemplate) {
var t = tlist[i];
var part = uTemplate[i];
selector.append($('<option>', {text: '==== ' + t.title + ' ====' , value: '', disabled: 1}));
var title = addPortletLink('p-tb', 'javascript:return false;', part.title);
for (var j in t.templates) {
refs = title.getElementsByTagName('a');
var templ = t.templates[j];
if (refs.length > 0)
selector.append($('<option>', {text: '\t' + templ, label: '\t' + templ, value: templ, title:tooltips[templ]}));
$.extend(refs[0].style, {color:'black', cursor:'default', fontSize:'1.2em',textDecoration:'underline', fontWeight:'bold'});
}
var templates = part.templates;
}
for (var j in templates) {
var t = templates[j], c = uTemplate_tooltips[t];
dialog.append(selector);
addPortletLink('p-tb', 'javascript:uTemplate_addTemplate("' + t + '")', t, null, c);
paramfield = $('<input>').bind('paste cut drop input change', setValues);
}
paramrow = $('<span>', {text: 'פרמטר לתבנית: '}).append(paramfield).toggle(false);
dialog.append($('<p>')).append(paramrow);
$(".ui-dialog-buttonpane button:contains('בצע')").button('disable');
$('.ui-dialog-buttonpane').children().css({float: 'right'});
});
}
}
if (getParamValue('autoinsert_template'))
uTemplate_addTemplate(getParamValue('autoinsert_template'));
if (user)
}
mw.util.addPortletLink('p-tb', '#null', 'תבנית אזהרה בדף המשתמש', 'warnUser', 'הוספת תבנית אזהרה לדף השיחה של ' + user)
.onclick = openDialog;
function  uTemplate_isDiffView() {
});
return wgAction == 'historysubmit' || (getParamValue('diff') && getParamValue('oldid'))
}
 
if (wgNamespaceNumber == 3 || uTemplate_isDiffView())  //NS_USERTALK
addOnloadHook(uTemplate_onload);

גרסה מ־21:35, 23 בינואר 2012

/* adds to the toolbox a list of templates to add in talkpages. */
$(function() {
    var user = $('#mw-diff-ntitle2 a:first').text(),
		userAnon = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(user),
		tlist = userAnon 
		? [
			{title: 'אזהרות', templates: ['אזהרה', 'לך', 'הבל', 'העתקה', 'נחסמת', 'תלונה', 'שגיאה']},
			{title: 'הודעות', templates: ['ניסויים', 'נמחק ניסויים', 'נמחק', 'בוטל', 'חזרה על עריכה', 'קישור מבוטל']},
			{title: 'הסברים', templates: ['טעות', 'הסבר', 'לא כאן', 'נייטרליות', 'סגנון', 'שימוש בדף השיחה', 'כבר קיים', 'התנחלות', 'ויקיזציה', 'מילון']},
			{title: 'תודות', templates: ['תודה', 'הזמנה']}
		]
		: [
			{title: 'אזהרות', templates: ['אזהרה', 'אזהרה לרשום', 'הבל', 'העתקה', 'שם פוגעני', 'נחסמת', 'לך', 'שגיאה']},
			{title: 'הודעות', templates: ['פרסומת', 'ניסויים', 'נמחק ניסויים', 'נמחק', 'בוטל', 'חזרה על עריכה', 'קישור מבוטל']},
			{title: 'תמונות', templates: ['אזהרת תמונות2',  'תמונה מוגנת', 'מחיקת תמונה', 'מקור תמונה', 'הנחיות תמונה']},
			{title: 'הסברים', templates: ['אוטוביוגרפיה', 'טעות', 'הסבר', 'נייטרליות', 'לא כאן', 'סגנון', 'שימוש בדף השיחה', 'כבר קיים', 'התנחלות', 'ויקיזציה', 'זכות הצבעה', 'מילון']},
			{title: 'תודות', templates: ['תודה לרשום', 'בדוק עריכות אוטומטית']}
		],
		tooltips = {
			'תמונה מוגנת': 'הסבר למשתמש שהעלה תמונה מוגנת',
			'תלונה': 'הודעה למשתמש שהוגשה תלונה נגדו לספק האינטרנט שלו',
			'תודה': 'תודה לאלמוני על תרומתו, והזמנה להרשם',
			'תודה לרשום': 'תודה אישית למשתמש רשום - יש להוסיף לתבנית את הערך בגינו את מודה לו',
			'שם פוגעני': 'הודעה למשתמש רשום שהשם שבחר פוגעני, ובקשה להרשם בשם אחר',
			'שימוש בדף השיחה': 'הודעה למשתמש שכתב דברים שמתאימים לדף שיחה בערך עצמו',
			'שגיאה': 'אזהרת משתמש שעריכתו הכילה מידע שגוי, מידע שאין מקומו בערך או לא אנציקלופדי',
			'קישור מבוטל': 'הודעה למשתמש אחרי שהסרת קישור שהוסיף',
			'פרסומת': 'הודעה למשתמש אחרי שהסרת פרסומת שהוסיף',
			'סגנון': 'אחרי שמחקת עריכה בגלל סגנון או תוכן לא מתאים לערך',
			'נמחק': 'הודעה למשתמש אחרי מחיקת ערך חדש שכתב',
			'נמחק ניסויים': 'הודעה למשתמש אחרי מחיקת ערך הבל שכתב',
			'ניסויים': 'הודעה למשתמש אחרי שחזור עריכת הבל קטנה',
			'נייטרליות': 'הודעה למשתמש אחרי שחזור עריכה לא נייטרלית',
			'נחסמת': 'אזהרת משתמש שנחסם בגלל השחתות, עם איום לפנות לספק האינטרנט ולרשויות',
			'מקור תמונה': 'יש להכליל תבנית זו בדף שיחת המשתמש של משתמש שהעלה תמונה שלא ידוע מה מקורה. (פרמטרים)',
			'מילון': 'הזמנה להרשם, והערה לגבי ערכים מילוניים, הפניה לויקימילון',
			'מחיקת תמונה': 'הודעה למשתמש שתמונה שהעלה נמחקה',
			'לך': 'אזהרה אחרונה לפני חסימה למשחית',
			'לא כאן': 'תבנית פרמטרית למשתמש שכתב דברים בדף לא מתאים, והם נמחקו או הועברו',
			'כבר קיים': 'תבנית פרמטרית למשתמש שיצר ערך חדש שכבר קיים (בשם אחר), אחרי שהדף שיצר שונה להפניה',
			'טעות': '"אם לדעתך יש טעות בערך כלשהו, יש לציין זאת בדף השיחה של הערך"',
			'חזרה על עריכה':'אזהרה: "חזרה על עריכות ששוחזרו ללא דיון בדף שיחה אינה מקובלת בוויקיפדיה"',
			'זכות הצבעה': 'אחרי הסרת הצבעה בגלל ז"ה, פרמטר: דף ההצבעה',
			'ויקיזציה': 'הפניה למדריכי עריכה שונים',
			'התנחלות': 'הסבר על החלטה שהתקבלה בפרלמנט על קווים ירוקים ואחרים',
			'העתקה': 'במקביל להחלפת תוכן הדף בתבנית הז"י',
			'הסבר': 'בקשה להסבר על עריכה. כשמציבים תבנית זו יש לעקוב אחרי דף השיחה כדי לקבל את ההסבר',
			'הנחיות תמונה': 'פרמטרים: תמונה=(התמונה או "הכל"), ועוד אחד עד שלושה פרמטרים מהרשימה הבאה: מקור,ערך,הוגן,חשבון,קישור,זרה,OTRS',
			'הזמנה': 'הזמנת אלמוני להרשם',
			'הבל': 'אזהרה עדינה',
			'בוטל': 'הסבר לביטול עריכה. פרמטר ראשון:שם הערך, פרמטר שני (אופציונלי): סיבת הביטול',
			'אזהרת תמונות2':'הסבר על העלאת תמונות',
			'אזהרה': 'אזהרת אנונימיים וחדשים (עד 4 ימים) לפני החסימה',
			'אזהרה לרשום': 'עריכה שנויה במחלוקת, לאחר שחזור',
			'אוטוביוגרפיה': 'לאדם שהעלה ערך לא ראוי על עצמו',
				'בדוק עריכות אוטומטית':'למשתמש שקיבל הרשאת בדוק עריכות'
		},
	templates_requiring_params = ['כבר קיים', 'בוטל', 'לא כאן', 'הסבר', 'מקור תמונה', 'זכות הצבעה', 'הנחיות תמונה'];
		
		
	function openDialog() {
		var dialog, template, selector, needParam, paramfield, paramrow;
		
		function doIt() {
			var summary = 'תבנית ' + template,
				message = '\n==[[' + mw.config.get('wgPageName') + ']]==\n' +
						'{{ס:' + template + (needParam ? '|' + paramfield.val() : '') + "}} ~~" + "~~";
				dialog.css({cursor: 'wait'})
			$.ajax({
				url: mw.util.wikiScript('api'),
				aync: false,
				type: 'post',
				data: {action: 'edit', title: 'שיחת משתמש:' + user, summary: summary, token: mw.user.tokens.get('editToken'), appendtext: message, format:'json'},
				success: function(data){
					dialog.css({pointer: ''});
					dialog.dialog('close');
				},
				error: function(data) {
					dialog.append($('<p>').css({color: 'red'}).text('תקלה. התבנית לא נשמרה בדף השיחה של המשתמש'));
				}
			});
		}
		
		mw.loader.using('jquery.ui.dialog', function() {
			var buttons = {
				'ביטול': function() {dialog.dialog('close');},
				'בצע': doIt
			};
			dialog = $('<div>').dialog({
				title:  'הוספת תבנית אזהרה לדף השיחה של ' + user, 
				width: 'auto', 
				height: 'auto', 
				overflow: 'auto', 
				position: [$('body').width() * 0.4, $('body').height() * 0.4],
				buttons: buttons});

			function setValues() {
				template = selector.val();
				needParam = $.inArray(template, templates_requiring_params) + 1;
				paramrow.toggle(!!needParam);
				var canOK = (! needParam || $.trim(paramfield.val()).length) ? 'enable' : 'disable';
				$(".ui-dialog-buttonpane button:contains('בצע')").button(canOK);
			}

			selector = $('<select>')
				.append($('<option>', {text: 'אנא בחרו תבנית מהרשימה', value: '', disabled: 1}))
				.change(setValues);
				
			for (var i in tlist) {
				var t = tlist[i];
				selector.append($('<option>', {text: '==== ' + t.title + ' ====' , value: '', disabled: 1}));
				for (var j in t.templates) {
					var templ = t.templates[j];
					selector.append($('<option>', {text: '\t' + templ, label: '\t' + templ, value: templ, title:tooltips[templ]}));
				}
			}
			
			dialog.append(selector);
			paramfield = $('<input>').bind('paste cut drop input change', setValues);
			paramrow = $('<span>', {text: 'פרמטר לתבנית: '}).append(paramfield).toggle(false);
			dialog.append($('<p>')).append(paramrow);
			$(".ui-dialog-buttonpane button:contains('בצע')").button('disable');
			$('.ui-dialog-buttonpane').children().css({float: 'right'});			
		});
	}
	
	if (user)
		mw.util.addPortletLink('p-tb', '#null', 'תבנית אזהרה בדף המשתמש', 'warnUser', 'הוספת תבנית אזהרה לדף השיחה של ' + user)
		.onclick = openDialog;
});