مستخدم:HitomiAkane/Egyptianization.js

ملحوظه: بعد التسييف، ممكن تحتاج تفضى كاش البراوزر بتاعك عشان تشوف التغييرات اللى عملتها، بالطريقه دى:

  • فايرفوكس وسفارى: دوس ⇧ Shift مع Reload او Ctrl-F5 او Ctrl-R (اللى هو: Command-R على ماكنتوش)
  • جوجل كروم: دوس Ctrl-Shift-R (اللى هو: Command-Shift-R على ماكنتوش)
  • انترنت اكسبلورر: دوس Ctrl مع Refresh فى نفس الوقت، او Ctrl-F5
  • كونكرر: دوس Reload او F5
  • اوبرا: فضى الكاش من Tools → Preferences
mw.loader.load('//arz.wikipedia.org/wiki/User:HitomiAkane/ar2arzReplace.js?action=raw&ctype=text/javascript');
if (mw.config.get('wgNamespaceNumber') ===0){
	var EgyptianizeNode = mw.util.addPortletLink(
	    'p-tb','#','تمصير'
	);
	$(EgyptianizeNode).on( 'click', function (e){
		ShowLoading();
		Egyptianize();
	    e.preventDefault();
	});
}
function Egyptianize(){
	var foundPage= false;
	var currentPageName = mw.config.get('wgPageName');
	(new mw.Api()).get({
		prop: 'revisions',
		rvprop: 'content',
		rvlimit: 1,
		indexpageids: true,
		titles: currentPageName.replace(/_/g," ")
	})
	.done( function (data){
		var q = data.query,
			id = q && q.pageids && q.pageids[0],
			pg = id && q.pages && q.pages[ id ],
			rv = pg && pg.revisions;
		if ( rv && rv[0] && rv[0]['*'] ) {
			var newContent = replaceThis(rv[0]['*']);
			new mw.Api()
			.edit( currentPageName, function ( revision ) {
				return{
					text: newContent,
					summary: "تمصير",
				};
			})
			.then( function () {
				$(".loading").remove();
				location.reload();
			});
		}else{
			
		}
	})
	.fail();
}

function ShowLoading(){
	$("head").append(`<style>
	  .loading {
	      position: fixed;
	      top: 0; right: 0;
	      bottom: 0; left: 0;
	      background:rgba(143, 143, 143, .5);
	      transition: visibility 2s, opacity 2s linear;
	  }
	  .loader {
	      left: 50%;
	      margin-left: -4em;
	      font-size: 10px;
	      border: .8em solid rgba(255, 255, 255, .8);
	      border-left: .8em solid rgba(88, 179, 224, 1);
	      animation: spin 1.1s infinite linear;
	  }
	  .loader, .loader:after {
	      border-radius: 50%;
	      width: 6em;
	      height: 6em;
	      display: block;
	      position: absolute;
	      top: 50%;
	      margin-top: -4.05em;
	  }
	  @keyframes spin {
	    0% {
	      transform: rotate(360deg);
	    }
	    100% {
	      transform: rotate(0deg);
	    }
	  }
	</style>`);
	
	$("body").append (`<div class="loading" style = "display:none;"><div class="loader"></div></div>`);
	$(".loading").show(1000);
}