Järjestelmäviesti:Common.js

Liikennewikistä
Siirry navigaatioon Siirry hakuun

Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.

  • Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
  • Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
  • Internet Explorer: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
  • Opera: Valikko → Asetukset (Opera → Asetukset Macilla) ja sitten Tietosuoja ja turvallisuus → Tyhjennä selaustiedot → Välimuistissa olevat kuvat ja tiedostot.
/* Tämän sivun JavaScript-koodi liitetään jokaiseen sivulataukseen */
/* <pre><nowiki> */
// onload stuff
var firstRun = true;
 
function loadFunc() {
	if ( firstRun ) {
		firstRun = false;
	} else {
		return;
	}

	// Tallennuslomake
	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload' ) {
		setupUploadForm();
	}

	fillEditSummaries();
	sysopHide();
	hideContentSub();
}

/* Piilottaa luokan sysop sisältävät elementit muilta kuin ylläpitäjiltä ja ShoutWikin henkilökunnalta*/
function sysopHide() {
	if ( mw.config.get( 'wgUserGroups' ).join(' ').indexOf( 'staff' ) == -1 && mw.config.get( 'wgUserGroups' ).join(' ').indexOf( 'sysop' ) == -1 ) {
		mw.util.addCSS( '.sysop { display:none !important }' );
	}
}

/**
 * Ohjattu tallennuslomake, alun perin Wookieepediasta (http://starwars.wikia.com)
 * @author Green tentacle
 */
function setupUploadForm() {
	// Check if cookie has been set for form style. Overrides URL parameter if set.
	var formstyle = localStorage.getItem( 'uploadform' );
 
	$( '#uploadBasicLinkJS' ).show();
	$( '#uploadTemplateNoJS' ).hide();
 
	var wpLicense = $( '#wpLicense' );
 
	if ( wpLicense.length && window.location.search.indexOf( 'wpForReUpload=1' ) == -1 ) {
		if (
			formstyle == 'guided' ||
			( formstyle === '' && window.location.search.indexOf( 'basic=true' ) == -1 )
		)
		{
			// Add link to basic form
			$( '#uploadtext' ).prepend( '<div style="float: right;" id="uploadBasicLinkJS"><a href="http://junat.shoutwiki.com/w/index.php?title=Toiminnot:Tallenna&basic=true" onclick="javascript:localStorage.setItem(\'uploadform\', \'basic\')">Vaihda tavalliseen tallennukseen</a></div>' );
 
			// Stretch table to full width
			$( '#mw-htmlform-description' ).css( 'width', '100%' );
 
			// Bind upload button to verify function
			$( '#mw-upload-form' ).bind( 'submit', verifySummary );
 
			// Hide existing rows
			var rows = $( '#mw-htmlform-description' ).find( 'tr' );
			$( 'tr.mw-htmlform-field-HTMLTextAreaField' ).hide();
			$( 'tr.mw-htmlform-field-HTMLTextAreaField' ).next().detach();
 
			$( '#mw-htmlform-description' ).addClass( 'hidable start-hidden' );
 
			// Add new required rows
			rows.eq( 1 ).after( '<tr><td class="mw-label" style="width: 125px;">Lähde:</td><td class="mw-input"><textarea id="sourceBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
			$( '#mw-htmlform-description' ).append( '<tbody class="hidable-content"></tbody>' );
			var tbody1 = $( '#mw-htmlform-description' ).children( 'tbody' ).eq( 0 );
			tbody1.append( '<tr><td class="mw-label" style="width: 125px;">Kuvaus:</td><td class="mw-input"><textarea id="descriptionBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
			tbody1.append( '<tr><td colspan="2" style="text-align: center;">Valinnaiset kentät <span class="hidable-button"></span></td></tr>' );
 
			// Add new optional rows
			var tbody2 = $( '#mw-htmlform-description' ).children( 'tbody' ).eq( 1 );
			tbody2.append( '<tr><td class="mw-label" style="width: 125px;">Huomio:</td><td class="mw-input"><textarea id="attentionBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
			tbody2.append( '<tr><td class="mw-label" style="width: 125px;">Alkuperäinen tekijä / artisti:</td><td class="mw-input"><textarea id="artistBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
			tbody2.append( '<tr><td class="mw-label" style="width: 125px;">Tekijänoikeuksien haltija:</td><td class="mw-input"><textarea id="copyrightBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
			tbody2.append( '<tr><td class="mw-label" style="width: 125px;">Muut versiot:</td><td class="mw-input"><textarea id="versionsBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
			tbody2.append( '<tr><td class="mw-label" style="width: 125px;">Luokat:</td><td class="mw-input"><textarea id="catBox" cols="60" rows="2" style="overflow: auto;"></textarea></td></tr>' );
		} else {
			// Old style form just needs Information template in the summary box
			$( '#wpUploadDescription' ).val( '{{Tiedot\r\n|huomio=\r\n|kuvaus=\r\n|lähde=\r\n|tekijä=\r\n|lisenssi=\r\n|muut versiot=\r\n}}' );
 
			// Add link to guided form
			$( '#uploadtext' ).prepend( '<div style="float: right;" id="uploadBasicLinkJS"><a href="http://junat.shoutwiki.com/w/index.php?title=Toiminnot:Tallenna" onclick="javascript:localStorage.setItem(\'uploadform\', \'guided\')">Vaihda ohjattuun tallennukseen</a></div>' );
 
			$( '#mw-upload-form' ).bind( 'submit', verifyName );
		}
	}
}
 
function verifySummary() {
	var wpLicense = document.getElementById( 'wpLicense' );
	var wpDestFile = document.getElementById( 'wpDestFile' );
 
	// Check for licensing
	if ( wpLicense.value === '' ) {
		alert( 'Lisenssi on merkittävä.' );
		return false;
	}
 
	// Check for source
	if ( document.getElementById( 'sourceBox' ).value === '' ) {
		alert( 'Lähde on merkittävä.' );
		return false;
	}
 
	// Check for duplicated or capitalized file extensions
	if ( wpDestFile.value.match( /(JPG|PNG|GIF|SVG|jpg\.jpg|png\.png|gif\.gif|svg\.svg)$/ ) ) {
		alert( 'Älä käytä isokirjaimisia tai kaksinkertaisia tiedostopäätteitä tiedoston nimessä.' );
		return false;
	}
 
	var strBuilder = '{{Tiedot\r\n';
	strBuilder += '|huomio=' + document.getElementById( 'attentionBox' ).value + '\r\n';
	strBuilder += '|kuvaus=' + document.getElementById( 'descriptionBox' ).value + '\r\n';
	strBuilder += '|lähde=' + document.getElementById( 'sourceBox' ).value + '\r\n';
	strBuilder += '|tekijä=' + document.getElementById( 'artistBox' ).value + '\r\n';
	strBuilder += '|oikeudet=' + document.getElementById( 'copyrightBox' ).value + '\r\n';
	strBuilder += '|lisenssi=' + wpLicense.options[wpLicense.selectedIndex].title + '\r\n';
	strBuilder += '|muut versiot=' + document.getElementById( 'versionsBox' ).value + '\r\n';
	strBuilder += '|luokat=' + document.getElementById( 'catBox' ).value + '\r\n';
	strBuilder += '}}';
 
	document.getElementById( 'wpUploadDescription' ).value = strBuilder;
 
	wpLicense.selectedIndex = 0;
 
	return true;
}
 
function verifyName() {
	var wpDestFile = document.getElementById( 'wpDestFile' );
	var wpLicense = document.getElementById( 'wpLicense' );
 
	// Check for duplicated or capitalized file extensions
	if ( wpDestFile.value.match( /(JPG|PNG|GIF|SVG|jpg.jpg|png.png|gif.gif|svg.svg)$/ ) ) {
		alert( 'Älä käytä isokirjaimisia tai kaksinkertaisia tiedostopäätteitä tiedoston nimessä.' );
		return false;
	}
 
	// Check for annoying characters
	if ( wpDestFile.value.match( /(\(|\)|!|\?|,|\+|\'|\’)/ ) ) {
		alert( 'Älä käytä erikoismerkkejä tiedoston nimessä.' );
		return false;
	}
	if ( wpLicense.value !== '' ) {
		$( '#wpUploadDescription' ).val(
			$( '#wpUploadDescription' ).val().replace( '|lisenssi=', '|lisenssi=' + wpLicense.options[wpLicense.selectedIndex].title )
		);
 
		wpLicense.selectedIndex = 0;
	}
	return true;
}
 
/**
 * End upload form customisations
 */

/**
 * Yhteenvetovalikko, Wookieepedia
 * @author Grunny
 */
function fillEditSummaries() {
	if ( !$( '#wpSummaryLabel' ).length ) {
		return;
	}
 
	$.get( mw.config.get( 'wgScript' ), { title: 'Malline:Yhteenvedot', action: 'raw', ctype: 'text/plain' } ).done( function( data ) {
		var	$summaryOptionsList,
			$summaryLabel = $( '#wpSummaryLabel' ),
			lines = data.split( '\n' ),
			$wrapper = $( '<div>').addClass( 'edit-widemode-hide' ).text( 'Yleiset yhteenvedot: ' );
 
		$summaryOptionsList = $( '<select />' ).attr( 'id', 'stdEditSummaries' ).change( function() {
			var editSummary = $( this ).val();
			if ( editSummary !== '' ) {
				$( '#wpSummary' ).val( editSummary );
			}
		} );
 
		for ( var i = 0; i < lines.length; i++ ) {
			var editSummaryText = ( lines[i].indexOf( '-- ' ) === 0 ) ? lines[i].substring(3) : '';
			$summaryOptionsList.append( $( '<option>' ).val( editSummaryText ).text( lines[i] ) );
		}
 
		$summaryLabel.prepend( $wrapper.append( $summaryOptionsList ) );
	} );
 
}

/**
 * Mahdollistaa "yläsivun" linkin piilottamisen
 */
function hideContentSub() {
	if ( mw.config.get( 'wgNamespaceNumber' ) === 0 || $( '#hideContentSub' ).length > 0 ) {
		if ( $( '#contentSub span.subpages' ).text().substring( 0, 1 ) === '<' ) {
			$( '#contentSub span.subpages' ).hide();
		}
	}
}

$(loadFunc);

//</nowiki></pre>