מדיה ויקי:Gadget-UserMessages.js: הבדלים בין גרסאות בדף
מראה
←TODO: complete TODO list |
Now also support {{be civil final}}, {{project scope}}, and {{inappropriate username}} |
||
| שורה 12: | שורה 12: | ||
*{{tl|please name images}} | *{{tl|please name images}} | ||
*{{tl|please link images}} | *{{tl|please link images}} | ||
*{{tl| | *{{tl|be civil}} | ||
*{{tl|be civil final}} | |||
*{{tl|project scope}} | |||
*{{tl|inappropriate username}} | |||
Alternatively you can place a template in a user's language. Click the link 'lang' and fill in a language code to have a localised version of the template put on the talk page. | Alternatively you can place a template in a user's language. Click the link 'lang' and fill in a language code to have a localised version of the template put on the talk page. | ||
| שורה 22: | שורה 25: | ||
* Add remaining templates from[[Commons:Message templates]] not requiring an additional parameter: | * Add remaining templates from[[Commons:Message templates]] not requiring an additional parameter: | ||
**{{tl|dont remove delete}} | **{{tl|dont remove delete}} | ||
**{{tl| | **{{tl|do not overwrite}} (also accepts a parameter; how to solve?) | ||
**{{tl|Provide better quality}} (also accepts a parameter; how to solve?) | **{{tl|Provide better quality}} (also accepts a parameter; how to solve?) | ||
* Add remaining templates from[[Commons:Message templates]] requiring an additional parameter: | |||
**{{tl|dont recreate}} | **{{tl|dont recreate}} | ||
**{{tl|blocked user}} | **{{tl|blocked user}} | ||
**{{tl|sockpuppet}} | **{{tl|sockpuppet}} | ||
**{{tl|speedywhat}} | **{{tl|speedywhat}} | ||
**{{tl|copyvionote}} | **{{tl|copyvionote}} | ||
| שורה 44: | שורה 46: | ||
// String constants | // String constants | ||
var uTemplate = new Array( | var uTemplate = new Array(17) | ||
uTemplate[0] = 'Please describe images' | uTemplate[0] = 'Please describe images' | ||
uTemplate[1] = 'Dont remove nsd or nld' | uTemplate[1] = 'Dont remove nsd or nld' | ||
| שורה 59: | שורה 61: | ||
uTemplate[12] = 'Dont remove warnings' | uTemplate[12] = 'Dont remove warnings' | ||
uTemplate[13] = 'Be civil' | uTemplate[13] = 'Be civil' | ||
uTemplate[14] = 'Be civil final' | |||
uTemplate[15] = 'Project scope' | |||
uTemplate[16] = 'Inappropriate username' | |||
var uText = new Array( | var uText = new Array(17) | ||
uText[0] = "Please describe" | uText[0] = "Please describe" | ||
uText[1] = "Rem.n(slp)d" | uText[1] = "Rem.n(slp)d" | ||
| שורה 75: | שורה 80: | ||
uText[12] = "Rem.warning" | uText[12] = "Rem.warning" | ||
uText[13] = "Be civil" | uText[13] = "Be civil" | ||
uText[14] = "Be civil final" | |||
uText[15] = "Project scope" | |||
uText[16] = "Inappropriate username" | |||
var uHelp = new Array( | var uHelp = new Array(17) | ||
uHelp[0] = "Request user to please describe his images" | uHelp[0] = "Request user to please describe his images" | ||
uHelp[1] = "Reminder to not remove deletion templates unless all information is complete. Notifying user has reverted removal somewhere" | uHelp[1] = "Reminder to not remove deletion templates unless all information is complete. Notifying user has reverted removal somewhere" | ||
| שורה 91: | שורה 99: | ||
uHelp[12] = "Warn a user about removing valid warning templates from his talk page and inform him about proper process" | uHelp[12] = "Warn a user about removing valid warning templates from his talk page and inform him about proper process" | ||
uHelp[13] = "Ask a user to remain civil, even if he or his contributions are being attacked" | uHelp[13] = "Ask a user to remain civil, even if he or his contributions are being attacked" | ||
uHelp[14] = "Last request to user to remain civil. Will be blocked next time" | |||
uHelp[15] = "Inform user on project scope after deleting out of scope contributions" | |||
uHelp[16] = "Inform user about his inappropriate username and block" | |||
template_lang = "lang?"; | template_lang = "lang?"; | ||
| שורה 195: | שורה 206: | ||
addLink('p-tb', 'javascript:template_mark(\'12\', \'en\')', uText[12], 'mark-warn', uHelp[12], null, null, 'javascript:template_mark(\'12\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | addLink('p-tb', 'javascript:template_mark(\'12\', \'en\')', uText[12], 'mark-warn', uHelp[12], null, null, 'javascript:template_mark(\'12\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | ||
addLink('p-tb', 'javascript:template_mark(\'13\', \'en\')', uText[13], 'mark-warn', uHelp[13], null, null, 'javascript:template_mark(\'13\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | addLink('p-tb', 'javascript:template_mark(\'13\', \'en\')', uText[13], 'mark-warn', uHelp[13], null, null, 'javascript:template_mark(\'13\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | ||
addLink('p-tb', 'javascript:template_mark(\'14\', \'en\')', uText[14], 'mark-warn', uHelp[14], null, null, 'javascript:template_mark(\'14\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | |||
addLink('p-tb', 'javascript:template_mark(\'15\', \'en\')', uText[15], 'mark-please', uHelp[15], null, null, 'javascript:template_mark(\'15\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | |||
addLink('p-tb', 'javascript:template_mark(\'16\', \'en\')', uText[16], 'mark-warn', uHelp[16], null, null, 'javascript:template_mark(\'16\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang); | |||
} | } | ||
| שורה 214: | שורה 228: | ||
if (fakeaction == '12'){ template_addTemplate( uTemplate[12] ); } | if (fakeaction == '12'){ template_addTemplate( uTemplate[12] ); } | ||
if (fakeaction == '13'){ template_addTemplate( uTemplate[13] ); } | if (fakeaction == '13'){ template_addTemplate( uTemplate[13] ); } | ||
if (fakeaction == '14'){ template_addTemplate( uTemplate[14] ); } | |||
if (fakeaction == '15'){ template_addTemplate( uTemplate[15] ); } | |||
if (fakeaction == '16'){ template_addTemplate( uTemplate[16] ); } | |||
} | } | ||
addOnloadHook(template_onload); | addOnloadHook(template_onload); | ||
// </pre> | // </pre> | ||
גרסה מ־12:02, 3 ביולי 2007
/*
==Automatic user messages ==
Installing this script as described on the talk page will give you links in the toolbox for all pages in the User talk: namespace, that say 'Please tag', 'Please name', and 'Please link'. Clicking any of the buttons will add one of the following templates to the user's talk page, signed by you:
*{{tl|welcome}}
*{{tl|test}}, {{tl|test2}}, {{tl|test3}}, and {{tl|test4}}
*{{tl|dont remove nsd or nld}}
*{{tl|dont remove speedy}}
*{{tl|dont remove warnings}}
*{{tl|end of copyvios}}
*{{tl|please describe images}}
*{{tl|please tag images}}
*{{tl|please name images}}
*{{tl|please link images}}
*{{tl|be civil}}
*{{tl|be civil final}}
*{{tl|project scope}}
*{{tl|inappropriate username}}
Alternatively you can place a template in a user's language. Click the link 'lang' and fill in a language code to have a localised version of the template put on the talk page.
Main code by [[User:Siebrand]], derived from [[MediaWiki:Quick-delete.js]] by [[:en:User:Jietse Niesen|Jietse Niesen]], [[User:pfctdayelise|pfctdayelise]] and [[User:Alphax|Alphax]]
===TODO===
* Add parameter support (required for templates that cannot currently be supported because they need an additional parameter to work)
* Add remaining templates from[[Commons:Message templates]] not requiring an additional parameter:
**{{tl|dont remove delete}}
**{{tl|do not overwrite}} (also accepts a parameter; how to solve?)
**{{tl|Provide better quality}} (also accepts a parameter; how to solve?)
* Add remaining templates from[[Commons:Message templates]] requiring an additional parameter:
**{{tl|dont recreate}}
**{{tl|blocked user}}
**{{tl|sockpuppet}}
**{{tl|speedywhat}}
**{{tl|copyvionote}}
**{{tl|unfree}}
**{{tl|attackpage}}
**{{tl|attackimage}}
**{{tl|imposter}}
<pre>
*/
// Configuration
// Should the edits be saved automatically?
if(window.template_autosave == false){}else{ template_autosave = true; }
// String constants
var uTemplate = new Array(17)
uTemplate[0] = 'Please describe images'
uTemplate[1] = 'Dont remove nsd or nld'
uTemplate[2] = 'End of copyvios'
uTemplate[3] = 'Please link images'
uTemplate[4] = 'Please name images'
uTemplate[5] = 'Please tag images'
uTemplate[6] = 'Test'
uTemplate[7] = 'Test2'
uTemplate[8] = 'Test3'
uTemplate[9] = 'Test4'
uTemplate[10] = 'Welcome'
uTemplate[11] = 'Dont remove speedy'
uTemplate[12] = 'Dont remove warnings'
uTemplate[13] = 'Be civil'
uTemplate[14] = 'Be civil final'
uTemplate[15] = 'Project scope'
uTemplate[16] = 'Inappropriate username'
var uText = new Array(17)
uText[0] = "Please describe"
uText[1] = "Rem.n(slp)d"
uText[2] = "End copyvio"
uText[3] = "Please link"
uText[4] = "Please name"
uText[5] = "Please tag"
uText[6] = "Sandboxing"
uText[7] = "Vandalism"
uText[8] = "Vandalism 2"
uText[9] = "Vandalism 3"
uText[10] = "Welcome"
uText[11] = "Rem.speedy"
uText[12] = "Rem.warning"
uText[13] = "Be civil"
uText[14] = "Be civil final"
uText[15] = "Project scope"
uText[16] = "Inappropriate username"
var uHelp = new Array(17)
uHelp[0] = "Request user to please describe his images"
uHelp[1] = "Reminder to not remove deletion templates unless all information is complete. Notifying user has reverted removal somewhere"
uHelp[2] = "Give user a final warning because of previous copyright violations"
uHelp[3] = "Request user to please link his images through categories or galleries"
uHelp[4] = "Request user to please name his images correctly"
uHelp[5] = "Request user to please tag his images"
uHelp[6] = "Referral to sandbox for conducting experiments"
uHelp[7] = "Warning or vandalism and request to cease"
uHelp[8] = "Second warning for vandalism and announcement of block if it continues"
uHelp[9] = "Last warning for vandalism and annoument of block on next violation"
uHelp[10] = "Welcome a new user or a user who has not yet recieved a welcome message"
uHelp[11] = "Warn a user about having removed a speedy tag from an image and inform him about proper process"
uHelp[12] = "Warn a user about removing valid warning templates from his talk page and inform him about proper process"
uHelp[13] = "Ask a user to remain civil, even if he or his contributions are being attacked"
uHelp[14] = "Last request to user to remain civil. Will be blocked next time"
uHelp[15] = "Inform user on project scope after deleting out of scope contributions"
uHelp[16] = "Inform user about his inappropriate username and block"
template_lang = "lang?";
template_langquery = "In which language should the message be given? "+
"Example: en for English, de for German, es for Spanish, etc. " +
"If the language does not exist for the template, a red link will be inserted. ";
// Site info
scriptPath = "/w/index.php";
prettyPath = "/wiki/";
wikiHostname = "commons.wikimedia.org";
// From [[en:Wikipedia:WikiProject User scripts/Scripts/addLink]]
function addLink(where, url1, name1, id, title, key, after, url2, name2)
{
//* where is the id of the toolbar where the button should be added;
// i.e. one of "p-cactions", "p-personal", "p-navigation", or "p-tb".
//
//* url1 is the URL which will be called when the button is clicked.
// javascript: urls can be used to do more complex things.
//
//* name1 is what will appear as the name of the button.
//
//* id is the id of the button; it's best to define one.
// Use a prefix to make sure its unique. Optional.
//
//* title is the tooltip title that gives a longer description
// of the button; if you define a accesskey, mention it here. Optional.
//
//* key is the char you want for the accesskey. Optional.
//
//* after is the id of the button you want to follow this one. Optional.
//
//* url2 is a second url to add. Optional
//
//*name2 is the name of the second url; defaults to name1. Optional
var na = document.createElement('a');
na.href = url1;
na.appendChild(document.createTextNode(name1));
var li = document.createElement('li');
if(id) li.id = id;
li.appendChild(na);
if (url2) { //Another link, brother of the previous.
var na = document.createElement('a');
na.href = url2;
na.appendChild(document.createTextNode(name2 ? name2 : name1));
li.appendChild(document.createTextNode(" · ")); //separate them a bit
li.appendChild(na);
}
var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
if(after) {
tabs.insertBefore(li,document.getElementById(after));
} else {
tabs.appendChild(li);
}
if(id) {
if(key && title) { ta[id] = [key, title]; }
else if(key) { ta[id] = [key, '']; }
else if(title) { ta[id] = ['', title];}
}
// re-render the title and accesskeys from existing code in wikibits.js
akeytt();
return li;
}
// Add the template
function template_mark(talkpage_fakeaction, message_lang) {
if (!message_lang) return; //User pressed cancel
var pagename = encodeURIComponent(wgPageName);
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
document.location = editlk + '&fakeaction=' + talkpage_fakeaction + '&template_lang=' + message_lang;
}
// Add template to user talk page
function template_addTemplate(template) {
if (getParamValue('template_lang')) {
template = template + '/' + getParamValue('template_lang');
}
var txt = '{{subst:' + template + '}}';
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + '\n' + txt + ' ~~~~';
// the edit summary for when you mark the image. You can change it if you want.
document.editform.wpSummary.value = 'Adding template \"' + template + '\" to inform user.';
if (template_autosave) document.editform.wpSave.click();
}
function template_onload() {
if (wgNamespaceNumber == 3) { //NS_USERTALK
addLink('p-tb', 'javascript:template_mark(\'0\', \'en\')', uText[0], 'mark-please', uHelp[0], null, null, 'javascript:template_mark(\'0\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'3\', \'en\')', uText[3], 'mark-please', uHelp[3], null, null, 'javascript:template_mark(\'3\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'4\', \'en\')', uText[4], 'mark-please', uHelp[4], null, null, 'javascript:template_mark(\'4\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'5\', \'en\')', uText[5], 'mark-please', uHelp[5], null, null, 'javascript:template_mark(\'5\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'1\', \'en\')', uText[1], 'mark-warn', uHelp[1], null, null, 'javascript:template_mark(\'1\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'2\', \'en\')', uText[2], 'mark-warn', uHelp[2], null, null, 'javascript:template_mark(\'2\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'6\', \'en\')', uText[6], 'mark-warn', uHelp[6], null, null, 'javascript:template_mark(\'6\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'7\', \'en\')', uText[7], 'mark-warn', uHelp[7], null, null, 'javascript:template_mark(\'7\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'8\', \'en\')', uText[8], 'mark-warn', uHelp[8], null, null, 'javascript:template_mark(\'8\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'9\', \'en\')', uText[9], 'mark-warn', uHelp[9], null, null, 'javascript:template_mark(\'9\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'10\', \'en\')', uText[10], 'mark-welcome', uHelp[10], null, null, 'javascript:template_mark(\'10\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'11\', \'en\')', uText[11], 'mark-warn', uHelp[11], null, null, 'javascript:template_mark(\'11\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'12\', \'en\')', uText[12], 'mark-warn', uHelp[12], null, null, 'javascript:template_mark(\'12\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'13\', \'en\')', uText[13], 'mark-warn', uHelp[13], null, null, 'javascript:template_mark(\'13\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'14\', \'en\')', uText[14], 'mark-warn', uHelp[14], null, null, 'javascript:template_mark(\'14\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'15\', \'en\')', uText[15], 'mark-please', uHelp[15], null, null, 'javascript:template_mark(\'15\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
addLink('p-tb', 'javascript:template_mark(\'16\', \'en\')', uText[16], 'mark-warn', uHelp[16], null, null, 'javascript:template_mark(\'16\', prompt(\'' + template_langquery + '\', wgUserLanguage))', template_lang);
}
var fakeaction = getParamValue('fakeaction');
var template_type = getParamValue('template_type'); // Fetch what template to add
if (fakeaction == '0'){ template_addTemplate( uTemplate[0] ); }
if (fakeaction == '1'){ template_addTemplate( uTemplate[1] ); }
if (fakeaction == '2'){ template_addTemplate( uTemplate[2] ); }
if (fakeaction == '3'){ template_addTemplate( uTemplate[3] ); }
if (fakeaction == '4'){ template_addTemplate( uTemplate[4] ); }
if (fakeaction == '5'){ template_addTemplate( uTemplate[5] ); }
if (fakeaction == '6'){ template_addTemplate( uTemplate[6] ); }
if (fakeaction == '7'){ template_addTemplate( uTemplate[7] ); }
if (fakeaction == '8'){ template_addTemplate( uTemplate[8] ); }
if (fakeaction == '9'){ template_addTemplate( uTemplate[9] ); }
if (fakeaction == '10'){ template_addTemplate( uTemplate[10] ); }
if (fakeaction == '11'){ template_addTemplate( uTemplate[11] ); }
if (fakeaction == '12'){ template_addTemplate( uTemplate[12] ); }
if (fakeaction == '13'){ template_addTemplate( uTemplate[13] ); }
if (fakeaction == '14'){ template_addTemplate( uTemplate[14] ); }
if (fakeaction == '15'){ template_addTemplate( uTemplate[15] ); }
if (fakeaction == '16'){ template_addTemplate( uTemplate[16] ); }
}
addOnloadHook(template_onload);
// </pre>