MediaWiki:Gadget-common-special-upload.js

ХӀара гӀирс Википеди чуьра бу — маьрша энциклопеди

Билгалдаккхар: Ӏалашйинчул тӀаьхьа хийцамаш га браузеран кэш цӀанйан йезаш хила мега.

  • Firefox / Safari: Shift тӀетаӀийна йитина, гӀирсийн панелан тӀера тӀетаӀайе Карлайаккха йа Ctrl+F5 йа Ctrl+R (⌘+R Mac тӀехь)
  • Google Chrome: тӀетаӀайе Ctrl+Shift+R (⌘+Shift+R Mac тӀехь)
  • Internet Explorer / Edge: тӀетаӀийна йитина Ctrl, тӀетаӀайе Карлайаккха йа тӀетаӀайе Ctrl+F5
  • Opera: тӀетаӀайе Ctrl+F5.
( function ( mw, $ ) {
	function uploadPage() {
		$( 'input[name=wpUpload]' ).addClass( 'mw-ui-button mw-ui-progressive' );

		if ( mw.config.get( 'wgUploadAutoFill' ) ) {
			upForm = document.getElementById( 'mw-upload-form' );
			upForm.onsubmit = checkUpForm;
		}
		var desc = document.getElementById( 'wpUploadDescription' );
		var tmpl = document.getElementById( 'imageinfo' );
		if ( mw.config.get( 'wgUploadAutoFill' ) && tmpl && desc && !desc.value ) {
			desc.value = tmpl.innerHTML;
		}

		var span = document.getElementById( 'insertlink-free' );
		if ( span ) {
			var a = document.createElement( 'a' );
			a.href = 'javascript:addInfoTemplate("rationale", "imageinfo", 8)';
			a.className = 'insertlink';
			span.parentNode.insertBefore( a, span );
			a.appendChild( span );
		}
		var span = document.getElementById( 'insertlink-unfree' );
		if ( span ) {
			var a = document.createElement( 'a' );
			a.href = 'javascript:addInfoTemplate("imageinfo", "rationale", 16)';
			a.className = 'insertlink';
			span.parentNode.insertBefore( a, span );
			a.appendChild( span );
		}
	}
	
	window.addInfoTemplate = function( oldId, newId, rows ) {
		var desc = document.getElementById( 'wpUploadDescription' );
		var oldTmpl = document.getElementById( oldId );
		var tmpl = document.getElementById( newId );
		if ( desc && oldTmpl && desc.value == oldTmpl.innerHTML ) {
			desc.value = tmpl.innerHTML;
			desc.rows = rows;
		} else if ( desc && tmpl && desc.value.indexOf( tmpl.innerHTML.substring( 0, 8 ) ) == -1 ) {
			desc.value += '\n' + tmpl.innerHTML;
			desc.rows = 20;
		}
		licList = document.getElementsByTagName( 'option', document.getElementById( 'wpLicense' ) );
		if ( newId == 'rationale' ) {
			licList[ licList.length - 1 ].selected = 'selected';
		} else {
			licList[ 0 ].selected = 'selected';
		}
	};
	function decapitalizeExtension() {
		var reupl = document.getElementById( 'wpForReUpload' );
		if ( reupl !== null && reupl.value == 1 ) { return; }
		var fld = document.getElementById( 'wpDestFile' );
		var fname = fld.value;
		var repl = function ( s, p1, p2 ) {
			return p1.replace( /^(.*?)[\s\.]+$/, '$1' ) + '.' + p2.toLowerCase();
		};
		fname = fname.replace( /^(.*)\.([^\.]+)$/, repl );
		fld.value = fname;
	}
	function checkUpForm() {
		upForm = document.getElementById( 'mw-upload-form' );
		var desc = document.getElementById( 'wpUploadDescription' );
		var lcns = document.getElementById( 'wpLicense' );
		var wrn = document.createElement( 'div' );
		wrn.innerHTML = '';
		if ( lcns.value != '' && /\{\{Маьрша йоцу файл/i.exec( desc.value ) ) { wrn.innerHTML += '<li>Аша лелош ду ширдела файлах лаьцна йаздо куц. Дехар до, беша лакхара хьехам.</li>'; }
		if ( lcns.value == '' && /^[^\{\}]*(\{\{Сурт[^\{\}]+\}\}[^\{\}]*)*$/i.exec( desc.value ) ) { wrn.innerHTML += '<li>Лицензи билгалйина йац. Харжа лицензи лахарчу могӀан йукъара</li>'; }
		if ( lcns.value != '' && lcns.value != 'subst:ET' && /\{\{Дикачу ойланца лелор/i.exec( desc.value ) ) { wrn.innerHTML += '<li>Маьрша йоцучу файлан хаьржина лицензи. Ахьа цхьанхьа гӀалат дина хила мега.</li>'; }
		if ( lcns.value == '' && /\{\{Сурт\s*((\|\s*)+[\s\wа-яё]+=\s*)*(\|\s*)*\}\}/i.exec( desc.value ) ) { wrn.innerHTML += '<li>Кеп йуьззина йац {' + '{Сурт}}.</li>'; }
		if ( lcns.value == '' && /\{\{Дикачу ойланца лелор\s*((\|\s*)+([\wа-яё]+\s*)+=\s*)*(\|\s*)*\}\}/i.exec( desc.value ) ) { wrn.innerHTML += '<li>Кеп йуьззина йац {' + '{Дикачу ойланца лелор}}.</li>'; }
		if ( /\{\{(Маьрша йоцу файл|Сурт)[^\{\}]*Хьост\s*=\s*(из|с|http:\/\/(www\.)?)?\s*(интернет|internet|гугл|google|яндекс|yandex|яху|yahoo|рамблер|rambler)[^\{\}]*\}\}/i.test( desc.value ) ) { wrn.innerHTML += '<li>Интернет» йа лахаран система лицензин статус бакъйеш хьост йац. Билгалйе билгала хьост.</li>'; }
		if ( wrn.innerHTML != '' ) {
			wrn.innerHTML = '<p style="text-align:center; font-weight:bold;">Автоматаца талларо карина лахара гӀалаташ:</p><ul style="font-weight:bold">' + wrn.innerHTML;
			wrn.innerHTML += '</ul><p style="padding:0.2em 0.8em">Йуху кнопка «Файл чуйаккхар» тӀетагӀича хӀара дӀахьедар тергал цадеш файл чуйоккхар йу. Диц маделаш, лицензи йоцу а лицензи билгалйина йоцу а файлаш дӀайохар йу. Хьайн хаттарш кхолла дела делахь хаам бе <a href="//ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC/%D0%90%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%BE">Авторан бакъонийн форум</a>.</p>';
			var oldWrn = document.getElementById( 'jsUploadWarnings' );
			if ( oldWrn ) {
				decapitalizeExtension();
				return true;
			} else {
				wrn.style.border = '1px solid red';
				wrn.style.background = '#ffe4e1';
				wrn.id = 'jsUploadWarnings';
				upNode = document.getElementById( 'mw-htmlform-options' ).parentNode;
				upNode.parentNode.insertBefore( wrn, upNode );
			}
			return false;
		} else {
			decapitalizeExtension();
			return true;
		}
	}
	
	/* Hide quick insert */
	function uploadHideInsert() {
		qIns = document.getElementById( 'editpage-specialchars' );
		if(!qIns) return;
		qInsCover = document.createElement( 'div' );
		qInsCover.setAttribute( 'style', qIns && qIns.style ? qIns.style.cssText : '' );
		if ( typeof ( qInsCover.style.setAttribute ) === 'function' ) {
			qInsCover.style.setAttribute( 'style', qIns.style.cssText ); // IE
		}
		qInsCover.innerHTML = '<small><span style="border-bottom:1px dotted gray; cursor:help" title="Хьаьркаш а билгалдахарш а сиха чудихка таро хуьлуьйту"> Сиха чуйихкар</span> (<a href="javascript:uploadExpandInsert()">схьаелла блок</a>)</small>';
		qIns.style.display = 'none';
		qIns.parentNode.appendChild( qInsCover );
	}
	
	window.uploadExpandInsert = function() {
		qInsCover.style.display = 'none';
		qIns.style.display = 'block';
	};
	
	/* Ajax Preview */
	function uploadPreviewRun() {
		var $PD = $( '#wikiPreview' ).empty();
		if ( !$PD.length ) {
			$PD = $( ' <div id=wikiPreview />' ).insertAfter( '#wpLicense' );
		}
		$PD.injectSpinner( 'preview' );
			$.ajax( {
				type: 'post',
				url: mw.util.wikiScript( 'api' ) + '?action=parse&format=json&pst=&disablepp=&prop=text',
				data: { text: $( '#wpUploadDescription' ).val() },
				success: function ( resp ) {
					$PD.html( resp.parse.text[ '*' ] )[ 0 ].scrollIntoView();
				},
				complete: function () {
					$.removeSpinner( 'preview' );
				}
			} );
	}
	
	function uploadPreviewInit() {
		$( '<input type=button value="Хьалха хьажар" style="float:right" />' )
			.click( uploadPreviewRun )
			.insertAfter( '#wpDestFile' );
	}
	
	$.when(
		$.ready,
		mw.loader.using( [
			'jquery.spinner'
		] )
	).done( function() {
		$( function () {
			window.insertTags = function ( o, c, s, t ) {
				$( '#wpUploadDescription' ).textSelection( 'encapsulateSelection', { pre: o, peri: t, post: c } );
			};
		} );
		
		$( uploadPreviewInit );
		$( uploadPage );
		$( uploadHideInsert );
	} );
}( mediaWiki, jQuery ) );