مدیاویکی:Gadget-UserMessages.js
پرش به ناوبری
پرش به جستجو
نکته: پس از ذخیره کردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: بروید به Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* <<<<<<<<<< derived from [[n:en:MediaWiki:Gadget-UserMessages.js]] and [[n:MediaWiki:Gadget-UserMessages.js]] for fa.wikipeida.org >>>>>>>>>> ==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}} 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]]. Code stolen from Commons by [[User:ShakataGaNai]] for Wikinews (Fixed by Bawolff) * [[:Category:Block templates]] * [[:Category:User_talk_templates]] ===TODO=== * Do not add a trailing /<langcode> at the end of the subst'ed template, as they now (almost) all use the autotranslation mechanism (see [[Commons:Template_i18n/User_templates]]) */ // <source lang="javascript"> //moved here from commons function getParamValue(paramName, url) { if (typeof url == "undefined") { url = document.location.href; } var cmdRe = RegExp("[&?]" + paramName + "=([^&]*)"); var m = cmdRe.exec(url); if (m) { try { return decodeURIComponent(m[1]); } catch (someError) {} } return null; } //end moved here from commons // Configuration // Should the edits be saved automatically? if (window.template_autosave == false) {} else { template_autosave = true; } template_pagename = "نام مقاله را بنویسید:"; template_what = "با چی؟"; uMessage = new Array(); uMessage.push(['خوشامدید', 'خوشامد > کاربر', 'خوشامدید', false]); uMessage.push(['خوشامد-آی\u200cپی', 'خوشامد > آیپی', 'خوشامد-آی\u200cپی', false]); uMessage.push(['امضا کنید', 'کاربر جدید > امضا کنید', 'کاربر جدید > امضا کنید', false]); uMessage.push(['کاربر جدید/صفحه کلید فارسی', 'کاربر جدید > صفحهکلید فارسی', 'کاربر جدید > صفحه کلید فارسی', false]); uMessage.push(['کاربر جدید/ابزار کمک\u200cمترجم', 'کاربر جدید > ابزار کمکمترجم', 'کاربر جدید > ابزار کمک\u200cمترجم', false]); uMessage.push(['کاربر جدید/ابزارهای ویرایشی', 'کاربر جدید > ابزارهای ویرایشی', 'کاربر جدید > ابزارهای ویرایشی', false]); uMessage.push(['از پیش\u200cنمایش استفاده کنید', 'از پیشنمایش استفاده کنید', 'از پیش\u200cنمایش استفاده کنید', false]); uMessage.push(['تذکر خلاصه ویرایش', 'خلاصه ویرایش بنویسید', 'تذکر خلاصه ویرایش', false]); uMessage.push(['کاربر جدید/ویکی\u200cنویسی', 'مقاله > روش مقالهنویسی شما', 'مقاله > روش مقاله نویسی', template_pagename]); uMessage.push(['نوشتار نامناسب', 'مقاله > نوشتار کترهای', 'مقاله > نوشتار کترهای', false]); uMessage.push(['بیش از حد کوتاه', 'مقاله > بیش از حد کوتاه', 'مقاله > بیش از حد کوتاه', template_pagename]); uMessage.push(['کاربر جدید/حداقل\u200cهای مقاله', 'مقاله > حداقلهای مقاله/ترجمه', 'مقاله > حداقل\u200cهای مقاله', false]); uMessage.push(['تبلیغ مکنید', 'هرزنگاری > تبلیغ مکنید', 'هرزنگاری > تبلیغ مکنید', template_pagename]); uMessage.push(['پیام سرشناسی', 'هرزنگاری > سرشناسی', 'هرزنگاری > سرشناسی', template_pagename]); uMessage.push(['کپی مکنید', 'حقتکثیر > کپی مکنید', 'حق تکثیر > کپی مکنید', template_pagename]); uMessage.push(['کاربر جدید/لطفا کپی نکنید!', 'حقتکثیر > لطفا کپی نکنید!', 'حق تکثیر > لطفا کپی نکنید!', false]); uMessage.push(['کاربر جدید/منابع معتبر', 'حقتکثیر > منابع معتبر، تحقیق', 'حق تکثیر > منابع معتبر', false]); uMessage.push(['یادکرد دقیق منبع', 'حقتکثیر > یادکرد دقیق منبع', 'حق تکثیر > یادکرد دقیق منبع', template_pagename]); uMessage.push(['کاربر جدید/ارجاع صحیح', 'حقتکثیر > ارجاع صحیح', 'حق تکثیر > ارجاع صحیح', false]); uMessage.push(['کاربر جدید/مجوز نگاره', 'حقتکثیر > مجوز نگاره', 'حق تکثیر > مجوز نگاره', false]); uMessage.push(['کاربر جدید/هشدار نقض حق تکثیر', 'حقتکثیر > بارگذاری نگاره دارای حق تکثیر', 'حقتکثیر > بارگذاری نگاره دارای حق تکثیر', false]); uMessage.push(['کاربر جدید/مختصات\u200cدهی', 'افزودن > مختصاتدهی', 'افزودن > مختصات\u200cدهی', false]); uMessage.push(['کاربر جدید/رده\u200cدهی', 'افزودن > ردهبندی', 'افزودن > رده\u200cدهی', false]); uMessage.push(['کاربر جدید/میان\u200cویکی', 'افزودن > میانویکی', 'افزودن > میان\u200cویکی', false]); uMessage.push(['اشتباه گرفته\u200cاید', 'هشدار > اشتباه گرفتهاید', 'هشدار > اشتباه گرفته\u200cاید', template_what]); uMessage.push(['کاربر:جعبه کاربر/جدید/سره ننویسید', 'هرزنگاری > سره ننویسید', 'هرزنگاری > سره ننویسید', template_pagename]); uMessage.push(['هشدار نقض قانون سه برگردان', 'هشدار > نقض قانون ۳برگردان', 'هشدار > نقض قانون سه برگردان', template_pagename]); // Site info scriptPath = "/w/index.php"; prettyPath = "/wiki/"; wikiHostname = "fa.wikipedia.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); } //akeytt is deprected and does nothing. who cares about access keys anyhow. /*if(id && ta) { //ta does not exist in vector? 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 //Now we assume message templates to be properly autotranslated if (message_lang) langparam = '&template_lang=' + message_lang; else langparam = ''; var pagename = encodeURIComponent(wgPageName); var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; document.location = editlk + '&fakeaction=' + talkpage_fakeaction + langparam + '&template_type=1'; } // 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 = 'الگوی «' + template + '» به بحث کاربر افزوده شد. ([[وپ:ابزار تذکر به کاربر جدید|با استفاده از ابزار]])'; if (template_autosave) document.editform.wpSave.click(); } // Add the template function template_mark2(talkpage_fakeaction, media_name, can_handle_empty_parameter, add_namespace) { if (media_name == null) return; // User pressed cancel if (media_name == '' && can_handle_empty_parameter != 1) return; // User did not supply parameter and template cannot handle that // Parameter handling for special cases if (add_namespace && media_name.length > 0) media_name = 'File:' + media_name; var pagename = encodeURIComponent(wgPageName); var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; document.location = editlk + '&fakeaction=' + talkpage_fakeaction + '&media_name=' + encodeURIComponent(media_name) + '&template_type=2'; } // Add template to user talk page function template_addTemplate2(template) { if (getParamValue('media_name')) { template = template + '|' + getParamValue('media_name'); } 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 = 'الگوی «' + template + '» به بحث کاربر افزوده شد. ([[وپ:ابزار تذکر به کاربران|ابزار تذکر به کاربران]])'; if (template_autosave) document.editform.wpSave.click(); } // Do the thing with the stuff here. function template_onload() { if (wgNamespaceNumber == 3) { //NS_USERTALK // new section try { if (skin === 'vector') { if (window.useFancyVectorDropdown || window.useFancyVectorDropdown === undefined) { try { makeVectorFancySection(); useFancyVectorDropdown = 'done'; //this is for debug. can remove } catch (e) { document.getElementById('panel').innerHTML += '<div id="p-Notify" class="portal"><h5 lang="fa" xml:lang="fa">تذکر</h5><div class="body"><ul> </ul> </div> </div>'; } } else { document.getElementById('panel').innerHTML += '<div id="p-Notify" class="portal"><h5 lang="fa" xml:lang="fa">تذکر</h5><div class="body">\n <ul> </ul> </div> </div>'; } } if (skin === 'monobook') { document.getElementById('column-one').innerHTML += '<div id="p-Notify" class="portlet"> <h5 lang="fa" xml:lang="fa">تذکر</h5> <div class="pBody"> <ul></ul></div> </div>'; } } catch (e) {} //ignore errors and just use tb if they happen. var portlet = (document.getElementById('p-Notify') ? 'p-Notify' : 'p-tb'); for (i = 0; i < uMessage.length; i++) { if (uMessage[i][3]) { addLink(portlet, 'javascript:template_mark2(\'' + i + '\', prompt(\'' + uMessage[i][3] + '\', \'\'), 0, false)', uMessage[i][1], 'mark-warn', uMessage[i][2]); } else { addLink(portlet, 'javascript:template_mark(\'' + i + '\')', uMessage[i][1], 'mark-warn', uMessage[i][2], null, null); } } } // Important thing and stuff above. var fakeaction = getParamValue('fakeaction'); var template_type = getParamValue('template_type'); // Fetch what template to add var action_idx = -1; try { action_idx = parseInt(fakeaction, 10); } catch (some_error) { action_idx = -1; } var add_idx = -1; try { add_idx = parseInt(template_type, 10); } catch (some_error) { add_idx = -1; } if (add_idx >= 1 && add_idx <= 2 && action_idx >= 0 && action_idx < uMessage.length) { //may i take this moment to mention, this script is very very confusing - bawolff if (wgNamespaceNumber !== 3) { alert("The user notify script has been disabled in this namespace for security reasons. If you see this message, please tell [[n:en:User:Bawolff]] what linked you clicked on to get here."); throw new Error("خطای امنیتی: فضای نامی اشتباه برای ابزار اطلاع رسانی."); } if (add_idx == 1) template_addTemplate(uMessage[action_idx][0]); else template_addTemplate2(uMessage[action_idx][0]); } } addOnloadHook(template_onload); function makeVectorFancySection() { //wrap this in a try. this might be somewhat delicate at the moment. var pNotify = document.createElement('div'); pNotify.id = 'p-Notify' pNotify.className = 'vectorMenu' pNotify.innerHTML = ' <h5><span>تذکر</span><a href="#" style="background-image:none;"/></h5> <div class="menu"> <ul lang="fa" xml:lang="fa"> </ul> </div>'; var rightNav = document.getElementById('right-navigation'); var pViews = document.getElementById('p-views'); rightNav.insertBefore(pNotify, pViews.nextSibling) } // </source>