Kontent qismiga oʻtish

MediaWiki:Gadget-Adiutor-COV.js

Vikipediya, ochiq ensiklopediya

Eʼtibor bering: Oʻzgartirishlaringizni koʻrish uchun, yangi moslamalaringizning saqlashdan keyin, brauzer keshini tozalash kerak:
Mozilla / Firefox: Ctrl+Shift+R, IE: Ctrl+F5, Safari: Cmd+Shift+R, Konqueror: F5, Opera: Tools → Preferences orqali keshni tozalang.

/* Source: https://tr.wikipedia.org/wiki/MediaWiki:Gadget-Adiutor-COV.js
 * Adiutor: A gadget to assist various user actions
 * Author: Vikipolimer
 * Licencing and attribution: [[:tr:VP:Adiutor#Lisanslama ve atıf]]
 * Module: Copyright checker
/* <nowiki> */
$.when(mw.loader.using(["mediawiki.user", "oojs-ui-core", "oojs-ui-windows", ]), $.ready).then(function() {
	var mwConfig = mw.config.get(["wgAction", "wgPageName", "wgTitle", "wgUserGroups", "wgUserName", "wgCanonicalNamespace", "wgNamespaceNumber"]);
	var messageDialog = new OO.ui.MessageDialog();
	var windowManager = new OO.ui.WindowManager();
	$('body').append(windowManager.$element);
	windowManager.addWindows([messageDialog]);
	var progressBar = new OO.ui.ProgressBarWidget({
		progress: false
	});
	windowManager.openWindow(messageDialog, {
		title: 'Tekshirilmoqda…',
		message: progressBar.$element
	});
	$.get("https://copyvios.toolforge.org/api.json?", {
		action: "search",
		lang: "uz",
		project: "wikipedia",
		title: mwConfig.wgPageName,
		oldid: "",
		use_engine: "1",
		use_links: "1",
		turnitin: "0",
	}, function(data) {
		messageDialog.close();

		function CopyVioDialog(config) {
			CopyVioDialog.super.call(this, config);
		}
		OO.inheritClass(CopyVioDialog, OO.ui.ProcessDialog);
		var copVioRatio = (data.best.confidence * 100).toFixed(2);
		CopyVioDialog.static.title = 'Natija ( ' + copVioRatio + '% )';
		CopyVioDialog.static.name = 'CopyVioDialog';
		var headerTitle;
		if(copVioRatio > 45) {
			headerTitle = new OO.ui.MessageWidget({
				type: 'error',
				inline: true,
				label: 'Mualliflik huquqlari buzilganligi ehtimoli: ' + copVioRatio + '%'
			});
			CopyVioDialog.static.actions = [{
				action: 'continue',
				modes: 'edit',
				label: 'Tezda oʻchirishga',
				flags: ['primary', 'destructive']
			}, {
				modes: 'edit',
				label: 'Yopish',
				flags: 'safe'
			}, {
				action: 'back',
				modes: 'help',
				label: 'Yordam',
				flags: 'safe'
			}];
		} else if(copVioRatio < 10) {
			headerTitle = new OO.ui.MessageWidget({
				type: 'success',
				inline: true,
				label: 'Mualliflik huquqlari buzilganligi ehtimoli: ' + copVioRatio + '%'
			});
			CopyVioDialog.static.actions = [{
				modes: 'edit',
				label: 'Yopish',
				flags: 'safe'
			}, {
				action: 'back',
				modes: 'help',
				label: 'Yordam',
				flags: 'safe'
			}];
		} else {
			headerTitle = new OO.ui.MessageWidget({
				type: 'warning',
				inline: true,
				label: 'Mualliflik huquqlari buzilganligi ehtimoli: ' + copVioRatio + '% | Bu sahifada mualliflik huquqlarining yaqqol buzilganligi ehtimoli mavjud.'
			});
			CopyVioDialog.static.actions = [{
				modes: 'edit',
				label: 'Yopish',
				flags: 'safe'
			}, {
				action: 'back',
				modes: 'help',
				label: 'Yordam',
				flags: 'safe'
			}];
		}
		CopyVioDialog.prototype.initialize = function() {
			CopyVioDialog.super.prototype.initialize.apply(this, arguments);
			var cvRelSource = data.sources.filter(function(source) {
				return source.excluded == false;
			});
			var cvSources = document.createElement('ul');
			cvSources.classList.add("cov-url-list");
			for(var i = 0; i < cvRelSource.length; i++) {
				var li = document.createElement('li');
				li.classList.add("cov-url-list-item");
				if((cvRelSource[i].confidence * 100).toFixed(2) > 40) {
					li.classList.add("cov-url-list-item-vio-high");
				}
				var a = document.createElement("a");
				a.classList.add("cov-url-list-item-link");
				var img = document.createElement("span");
				img.innerText = cvRelSource[i].url;
				img.title = cvRelSource[i].url;
				a.href = cvRelSource[i].url;
				a.appendChild(img);
				li.id = cvRelSource[i].id;
				li.appendChild(a);
				cvSources.appendChild(li);
			}
			this.panel1 = new OO.ui.PanelLayout({
				padded: true,
				expanded: false
			});
			this.panel1.$element.append(headerTitle.$element, '<br><hr><br>', cvSources);
			this.panel2 = new OO.ui.PanelLayout({
				padded: true,
				expanded: false
			});
			this.panel2.$element.append('Boʻsh');
			this.stackLayout = new OO.ui.StackLayout({
				items: [this.panel1, this.panel2]
			});
			this.$body.append(this.stackLayout.$element);
		};
		CopyVioDialog.prototype.getSetupProcess = function(data) {
			return CopyVioDialog.super.prototype.getSetupProcess.call(this, data).next(function() {
				this.actions.setMode('edit');
			}, this);
		};
		CopyVioDialog.prototype.getActionProcess = function(action) {
			if(action === 'help') {
				this.actions.setMode('help');
				this.stackLayout.setItem(this.panel2);
			} else if(action === 'back') {
				this.actions.setMode('edit');
				this.stackLayout.setItem(this.panel1);
			} else if(action === 'continue') {
				var dialog = this;
				return new OO.ui.Process(function() {
					dialog.close();
					mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-CSD.js');
				});
			}
			return CopyVioDialog.super.prototype.getActionProcess.call(this, action);
		};
		CopyVioDialog.prototype.getBodyHeight = function() {
			return this.panel1.$element.outerHeight(true);
		};
		var windowManager = new OO.ui.WindowManager();
		$(document.body).append(windowManager.$element);
		var dialog = new CopyVioDialog({
			size: 'larger'
		});
		windowManager.addWindows([dialog]);
		windowManager.openWindow(dialog);
	});
});
/* </nowiki> */