Wiki - KEONHACAI COPA

MediaWiki:Gadget-friendlyshared.js

// <nowiki>


(function($) { // eslint-disable-line no-unused-vars


/*
 ****************************************
 *** friendlyshared.js: Shared IP tagging module
 ****************************************
 * Mode of invocation:     Tab ("Dùng chung")
 * Active on:              Existing IP user talk pages
 */

Twinkle.shared = function friendlyshared() {
	if (mw.config.get('wgNamespaceNumber') === 3 && mw.util.isIPAddress(mw.config.get('wgTitle'))) {
		var username = mw.config.get('wgRelevantUserName');
		Twinkle.addPortletLink(function() {
			Twinkle.shared.callback(username);
		}, 'IP dùng chung', 'friendly-shared', 'Đánh dấu IP dùng chung');
	}
};

Twinkle.shared.callback = function friendlysharedCallback() {
	var Window = new Morebits.simpleWindow(600, 420);
	Window.setTitle('Gắn thẻ địa chỉ IP dùng chung');
	Window.setScriptName('Twinkle');
	Window.addFooterLink('Giúp đỡ Twinkle', 'WP:TW/DOC#shared');

	var form = new Morebits.quickForm(Twinkle.shared.callback.evaluate);

	var div = form.append({
		type: 'div',
		id: 'sharedip-templatelist',
		className: 'morebits-scrollbox'
	}
	);
	div.append({ type: 'header', label: 'Các bản mẫu địa chỉ IP dùng chung' });
	div.append({ type: 'radio', name: 'template', list: Twinkle.shared.standardList,
		event: function(e) {
			Twinkle.shared.callback.change_shared(e);
			e.stopPropagation();
		}
	});

	var org = form.append({ type: 'field', label: 'Điền vào các chi tiết khác (tùy chọn) và nhấn "Submit"' });
	org.append({
		type: 'input',
		name: 'organization',
		label: 'Chủ sở hữu / nhà điều hành địa chỉ IP',
		disabled: true,
		tooltip: 'Bạn có thể tùy chọn nhập tên của tổ chức sở hữu / điều hành địa chỉ IP. Bạn có thể sử dụng wikimarkup nếu cần thiết.'
	}
	);
	org.append({
		type: 'input',
		name: 'host',
		label: 'Tên máy chủ (tùy chọn)',
		disabled: true,
		tooltip: 'Bạn có thể tùy chọn nhập tên máy chủ (ví dụ: proxy.example.com) tại đây và sẽ được liên kết bởi bản mẫu.'
	}
	);
	org.append({
		type: 'input',
		name: 'contact',
		label: 'Thông tin liên hệ (chỉ khi được yêu cầu)',
		disabled: true,
		tooltip: 'Bạn có thể tùy chọn nhập một số chi tiết liên hệ cho tổ chức. Chỉ sử dụng thông số này nếu tổ chức đã yêu cầu cụ thể rằng nó được thêm vào. Bạn có thể sử dụng wikimarkup nếu cần thiết.'
	}
	);

	form.append({ type: 'submit' });

	var result = form.render();
	Window.setContent(result);
	Window.display();
};

Twinkle.shared.standardList = [
	{
		label: '{{Shared IP}}: bản mẫu IP tiêu chuẩn dùng chung',
		value: 'Shared IP',
		tooltip: 'Bản mẫu trang thảo luận của người dùng IP hiển thị thông tin hữu ích cho người dùng IP và những người muốn cảnh báo, chặn hoặc cấm họ'
	},
	{
		label: '{{Shared IP edu}}: bản mẫu địa chỉ IP dùng chung thay đổi cho các tổ chức giáo dục',
		value: 'Shared IP edu'
	},
	{
		label: '{{Shared IP corp}}: bản mẫu địa chỉ IP dùng chung thay đổi các doanh nghiệp',
		value: 'Shared IP corp'
	},
	{
		label: '{{Shared IP public}}: bản mẫu địa chỉ IP dùng chung thay đổi cho thiết bị đầu cuối công cộng',
		value: 'Shared IP public'
	},
	{
		label: '{{Shared IP gov}}: bản mẫu địa chỉ IP dùng chung thay đổi cho cơ quan chính phủ hoặc cơ sở',
		value: 'Shared IP gov'
	},
	{
		label: '{{Dynamic IP}}: bản mẫu địa chỉ IP dùng chung thay đổi cho các tổ chức có địa chỉ động',
		value: 'Dynamic IP'
	},
	{
		label: '{{Static IP}}: bản mẫu địa chỉ IP dùng chung thay đổi cho các địa chỉ IP tĩnh',
		value: 'Static IP'
	},
	{
		label: '{{ISP}}: bản mẫu địa chỉ IP dùng chung thay đổi cho các tổ chức ISP (cụ thể là các proxy)',
		value: 'ISP'
	},
	{
		label: '{{Mobile IP}}: bản mẫu địa chỉ IP dùng chung thay đổi cho các công ty điện thoại di động và khách hàng của họ',
		value: 'Mobile IP'
	},
	{
		label: '{{Whois}}: bản mẫu cho các địa chỉ IP cần giám sát, nhưng không xác định là tĩnh, động hay dùng chung',
		value: 'Whois'
	}
];

Twinkle.shared.callback.change_shared = function friendlysharedCallbackChangeShared(e) {
	e.target.form.contact.disabled = e.target.value !== 'Shared IP edu';  // only supported by {{Shared IP edu}}
	e.target.form.organization.disabled = false;
	e.target.form.host.disabled = e.target.value === 'Whois';  // host= not supported by {{Whois}}
};

Twinkle.shared.callbacks = {
	main: function(pageobj) {
		var params = pageobj.getCallbackParameters();
		var pageText = pageobj.getPageText();
		var found = false;

		for (var i = 0; i < Twinkle.shared.standardList.length; i++) {
			var tagRe = new RegExp('(\\{\\{' + Twinkle.shared.standardList[i].value + '(\\||\\}\\}))', 'im');
			if (tagRe.exec(pageText)) {
				Morebits.status.warn('Thông tin', 'Đã tìm thấy {{' + Twinkle.shared.standardList[i].value + '}} trên trang thảo luận của người dùng ... hủy bỏ');
				found = true;
			}
		}

		if (found) {
			return;
		}

		Morebits.status.info('Thông tin', 'Sẽ thêm bản mẫu địa chỉ IP dùng chung vào đầu trang thảo luận của người dùng.');
		var text = '{{' + params.template + '|' + params.organization;
		if (params.contact) {
			text += '|' + params.contact;
		}
		if (params.host) {
			text += '|host=' + params.host;
		}
		text += '}}\n\n';

		var summaryText = 'Đã thêm bản mẫu {{[[Template:' + params.template + '|' + params.template + ']]}}.';
		pageobj.setPageText(text + pageText);
		pageobj.setEditSummary(summaryText);
		pageobj.setChangeTags(Twinkle.changeTags);
		pageobj.setMinorEdit(Twinkle.getPref('markSharedIPAsMinor'));
		pageobj.setCreateOption('recreate');
		pageobj.save();
	}
};

Twinkle.shared.callback.evaluate = function friendlysharedCallbackEvaluate(e) {
	var params = Morebits.quickForm.getInputData(e.target);
	if (!params.template) {
		alert('Bạn phải chọn một bản mẫu địa chỉ IP dùng chung để sử dụng!');
		return;
	}
	if (!params.organization) {
		alert('Bạn phải nhập một tổ chức cho bản mẫu {{' + params.template + '}}!');
		return;
	}

	Morebits.simpleWindow.setButtonsEnabled(false);
	Morebits.status.init(e.target);

	Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
	Morebits.wiki.actionCompleted.notice = 'Gắn thẻ hoàn tất, tải lại trang thảo luận sau vài giây';

	var wikipedia_page = new Morebits.wiki.page(mw.config.get('wgPageName'), 'Sửa đổi trang thảo luận của người dùng');
	wikipedia_page.setFollowRedirect(true);
	wikipedia_page.setCallbackParameters(params);
	wikipedia_page.load(Twinkle.shared.callbacks.main);
};

Twinkle.addInitCallback(Twinkle.shared, 'shared');
})(jQuery);


// </nowiki>
Wiki - Keonhacai copa chuyên cung cấp kiến thức thể thao, keonhacai tỷ lệ kèo, bóng đá, khoa học, kiến thức hằng ngày được chúng tôi cập nhật mỗi ngày mà bạn có thể tìm kiếm tại đây có nguồn bài viết: https://vi.wikipedia.org/wiki/MediaWiki:Gadget-friendlyshared.js