بەکارھێنەر:Aram/unsignedhelper.js

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
تێبینی: دوای پاشەکەوتکردن، پێویستە کاشی وێبگەڕەکەت پاک بکەیتەوە تا گۆڕانکارییەکان ببینیت. بۆ گووگڵ کڕۆم، فایەرفۆکس، مایکرۆسۆفت ئێج و سافاری: پەنجە لەسەر دوگمەی ⇧ Shift ڕاگرە و کرتە لەسەر Reload بکە. بۆ وردەکاری و ڕێنمایییەکان لەسەر وێبگەڕەکانی تر، بڕوانە ئێرە.
var UnsignedHelper={
    months:['کانوونی دووەم','شوبات','ئازار','نیسان','ئایار','حوزەیران','تەممووز','ئاب','ئەیلوول','تشرینی یەکەم','تشرینی دووەم','کانوونی یەکەم'],

    makeUnsignedTemplate:function(user,ts,anon){
        ts=new Date(ts);
        var h=ts.getUTCHours(); if(h<10) h='0'+h;
        var m=ts.getUTCMinutes(); if(m<10) m='0'+m;
        ts=h+':'+m+'، '+ts.getUTCDate()+'ی '+UnsignedHelper.months[ts.getUTCMonth()]+'ی '+ts.getUTCFullYear()+' (UTC)';
	//گۆڕینی فۆڕماتی ژمارەکان
 	ts = ts .replace(/1/g, "١").replace(/2/g, "٢").replace(/3/g, "٣").replace(/4/g, "٤").replace(/5/g, "٥");
 	ts = ts .replace(/6/g, "٦").replace(/7/g, "٧").replace(/8/g, "٨").replace(/9/g, "٩").replace(/0/g, "٠");
        if(anon){
            return '\x7b\x7bsubst:واژوونەکراوی ئایپی|'+user+'|'+ts+'\x7d\x7d';
        } else {
            return '\x7b\x7bsubst:واژوونەکراو|'+user+'|'+ts+'\x7d\x7d';
        }
    },

    addUnsignedTemplate:function(evt){
        mw.loader.using(['mediawiki.util','jquery.ui'], function(){
            var f=document.getElementById('editform');
            var e=f.elements.wpTextbox1;
            var pos=$(e).textSelection('getCaretPosition', {startAndEnd:true});
            var txt;
            if(pos[0]!=pos[1]){
                txt=e.value.substring(pos[0],pos[1]);
                pos=pos[1];
            } else {
                pos=pos[1];
                if(pos<=0) pos=e.value.length;
                txt=e.value.substr(0,pos);
                txt=txt.replace(new RegExp('[\s\S]*\d\d:\d\d, \d+ ('+UnsignedHelper.months.join('|')+') \d\d\d\d \(UTC\)'), '');
                txt=txt.replace(/[\s\S]*\n=+.*=+\s*\n/, '');
            }
            txt=txt.replace(/^\s+|\s+$/g, '');

            var rvct=1;
            var dialog=$('<div>تاقیکردنەوەی پێداچوونەوەی ١...</div>').dialog({
                buttons:{ Cancel:function(){ dialog.dialog('close'); } },
                modal:true,
                title:'زیادکردنی \x7b\x7bواژوونەکراو\x7d\x7d'
            });

            var user, ts, anon;
            var q={
                url:mw.util.wikiScript('api'),
                dataType:'json',
                type:'POST',
                data:{
                    format:'json',
                    action:'query',
                    titles:mw.config.get('wgPageName'),
                    prop:'revisions',
                    rvprop:'timestamp|user|content',
                    rvlimit:1,
                    rawcontinue:1
                },
                success:function(r,sts,xhr){
                    if(!dialog.dialog('isOpen')) return;

                    if(!r.query || !r.query.pages){
                        dialog.html('<span style="color:red"><b>ھەڵە:</b> وەڵامدانەوەی خراپ لە ئەی–پی–ئاییەوە</span>');
                        if(window.console && typeof(window.console.error)=='function')
                            window.console.error("وەڵامدانەوەی خراپ", r);
                        return;
                    }

                    for(var k in r.query.pages){
                        var rr=r.query.pages[k].revisions[0];
                        if(typeof(rr['*'])!='undefined' && rr['*'].indexOf(txt)<0){
                            if(!user){
                                dialog.html('<span style="color:red"><b>ھەڵە:</b> نووسین لە پێداچوونەوەی دەستپێکدا نەدۆزرایەوە! ئایا تۆ دەستکارییت کردووە؟</span>');
                                return;
                            }
                            var t=UnsignedHelper.makeUnsignedTemplate(user,ts,anon);
                            var tt=e.value.substr(0,pos).replace(/\s*$/,' ')+t;
                            e.value=tt+e.value.substr(pos);
                            $(e).textSelection('setSelection', { start:tt.length });
                            dialog.dialog('close');
                        } else {
                            user=rr.user;
                            ts=rr.timestamp;
                            anon=(typeof(rr.anon)!='undefined');
                            if(r['query-continue'] && r['query-continue'].revisions){
                                dialog.html('ھەڵسەنگاندنی پێداچوونەوە '+(++rvct)+'...');
                                q.data.rvcontinue=r['query-continue'].revisions.rvcontinue;
                                $.ajax(q);
                            } else {
                                var t=UnsignedHelper.makeUnsignedTemplate(user,ts,anon);
                                var tt=e.value.substr(0,pos).replace(/\s*$/,' ')+t;
                                e.value=tt+e.value.substr(pos);
                                $(e).textSelection('setSelection', { start:tt.length });
                                dialog.dialog('close');
                            }
                        }
                        return;
                    }
                    dialog.html('<span style="color:red"><b>ھەڵە:</b> ھیچ پێداچوونەوەیەک لە پەڕەکەدا نەدۆزرایەوە!</span>');
                },
                error:function(xhr,textStatus,errorThrown){
                    if(!dialog.dialog('isOpen')) return;
                    dialog.html('<span style="color:red"><b>ھەڵە:</b> '+textStatus+' '+errorThrown+'</span>');
                }
            };
            if(f.elements.baseRevId) q.data.rvstartid=f.elements.baseRevId.value;
            $.ajax(q);
        });
        evt.preventDefault();
        evt.stopPropagation();
        return false;
    }
};

if(!window.charinsertCustom) window.charinsertCustom={};
if(!window.charinsertCustom['تێخستن']) window.charinsertCustom['تێخستن']='';
window.charinsertCustom['تێخستن']+=' \x7b\x7bواژوونەکراو\x7d\x7d\x10UnsignedHelper.addUnsignedTemplate';
if(!window.charinsertCustom['کوردیی ناوەندی']) window.charinsertCustom['کوردیی ناوەندی']='';
window.charinsertCustom['کوردیی ناوەندی']+=' \x7b\x7bواژوونەکراو\x7d\x7d\x10UnsignedHelper.addUnsignedTemplate';
if(!window.charinsertCustom['دەقی ویکی']) window.charinsertCustom['دەقی ویکی']='';
window.charinsertCustom['دەقی ویکی']+=' \x7b\x7bواژوونەکراو\x7d\x7d\x10UnsignedHelper.addUnsignedTemplate';
if(window.updateEditTools) window.updateEditTools();