Mglaser has uploaded a new change for review. https://gerrit.wikimedia.org/r/215303
Change subject: New WPI package for MW 1.25.1 ...................................................................... New WPI package for MW 1.25.1 The WPI package was updated for MW 1.25.1. Change-Id: I4b9d188b4323cf479b50a68b3f017bfe0957be69 --- A configuration-1.25.1/TBEX.xml A configuration-1.25.1/WpiSettings.php A configuration-1.25.1/install.sql A configuration-1.25.1/manifest.xml A configuration-1.25.1/mediawiki/mw-config/config-cc.css A configuration-1.25.1/mediawiki/mw-config/config.css A configuration-1.25.1/mediawiki/mw-config/config.js A configuration-1.25.1/mediawiki/mw-config/images/ajax-loader.gif A configuration-1.25.1/mediawiki/mw-config/images/bullet.gif A configuration-1.25.1/mediawiki/mw-config/images/critical-32.png A configuration-1.25.1/mediawiki/mw-config/images/download-32.png A configuration-1.25.1/mediawiki/mw-config/images/info-32.png A configuration-1.25.1/mediawiki/mw-config/images/installer-logo.png A configuration-1.25.1/mediawiki/mw-config/images/tick-32.png A configuration-1.25.1/mediawiki/mw-config/images/warning-32.png A configuration-1.25.1/mediawiki/mw-config/index.php A configuration-1.25.1/mediawiki/mw-config/index.php5 A configuration-1.25.1/mediawiki/mw-config/index_web.php A configuration-1.25.1/mediawiki/mw-config/overrides.php A configuration-1.25.1/parameters.xml A mediawiki-1.25.1-IIS.zip 21 files changed, 1,298 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/packages/WPI refs/changes/03/215303/1 diff --git a/configuration-1.25.1/TBEX.xml b/configuration-1.25.1/TBEX.xml new file mode 100644 index 0000000..f0270ed --- /dev/null +++ b/configuration-1.25.1/TBEX.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> +<WebPlatform> + <Links> + <AddLink InDashboard="True"> + <Title>Start Here</Title> + <Description>Complete MediaWiki Installation.</Description> + <Uri>/index.php</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/MediaWiki-extensions-icon.svg/52px-MediaWiki-extensions-icon.svg.png</ImageUri> + </AddLink> + <AddLink InDashboard="True" InLearn="True"> + <Title>About MediaWiki</Title> + <Description>MediaWiki is a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, including this website.</Description> + <Uri>http://www.mediawiki.org/wiki/MediaWiki</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Mediawiki-logo.png/80px-Mediawiki-logo.png</ImageUri> + </AddLink> + <AddLink InDashboard="True" InLearn="True"> + <Title>System admin hub - Everything for the system administrator.</Title> + <Description>This is a place for system administrators to get help installing, upgrading, configuring or maintaining the MediaWiki software on a third-party wiki..</Description> + <Uri>http://www.mediawiki.org/wiki/Sysadmin_hub</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/MediaWiki-sysadmins-icon.svg/175px-MediaWiki-sysadmins-icon.svg.png</ImageUri> + </AddLink> + <AddLink InDashboard="True"> + <Title>Community</Title> + <Description>Find: Forums, Documentation, FAQ's and Help</Description> + <Uri>http://www.mediawiki.org/wiki/Project:Help</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Mediawiki-logo.png/80px-Mediawiki-logo.png</ImageUri> + </AddLink> + <AddLink InDashboard="True"> + <Title>Developmer hub</Title> + <Description>This is an overview of MediaWiki development, including links to the key documents, resources and tools available to developers.</Description> + <Uri>http://www.mediawiki.org/wiki/Developer_hub</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/0/0b/Crystal_Clear_app_tutorials.png</ImageUri> + </AddLink> + <AddLink InDashboard="True"> + <Title>Windows Azure Storage</Title> + <Description>This is a documentation about how to store files in the Windows Azure cloud, using the Windows Azure Storage Service.</Description> + <Uri>http://www.mediawiki.org/wiki/WPI/WindowsAzureStorage</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/0/0b/Crystal_Clear_app_tutorials.png</ImageUri> + </AddLink> + </Links> + <Ribbon> + <AddRibbonButton> + <Label>Site Admin</Label> + <Uri>/index.php?title=Special%3ASpecialPages</Uri> + <ImageUri>http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/MediaWiki-extensions-icon.svg/52px-MediaWiki-extensions-icon.svg.png</ImageUri> + </AddRibbonButton> + </Ribbon> + + <PathProtection> + <AllowPath AllowNested="False"> + <RelativePath>web.config</RelativePath> + </AllowPath> + <ProtectPath> + <RelativePath>bin</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>docs</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>extensions</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>images</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>includes</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>languages</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>maintenance</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>mw-config</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>mw-wpi</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>resources</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>serialized</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>tests</RelativePath> + </ProtectPath> + <ProtectPath> + <RelativePath>*.php</RelativePath> + </ProtectPath> + + </PathProtection> + +</WebPlatform> \ No newline at end of file diff --git a/configuration-1.25.1/WpiSettings.php b/configuration-1.25.1/WpiSettings.php new file mode 100644 index 0000000..51b3f81 --- /dev/null +++ b/configuration-1.25.1/WpiSettings.php @@ -0,0 +1,25 @@ +<?php + +$wgWPIOptionStore = array( + //Screen1 + 'lang' => 'PlaceholderForLanguage', + //Screen2 + 'dbserver' => 'PlaceholderForDbServer', + 'dbname' => 'PlaceholderForDbName', + 'dbprefix' => 'PlaceholderForDbPrefix', + 'dbuser' => 'PlaceholderForDbUsername', + 'dbpass' => 'PlaceholderForDbPassword', + 'installdbuser' => 'PlaceholderForDbAdminUsername', + 'installdbpass' => 'PlaceholderForDbAdminPassword', + //Screen3 + 'sitename' => 'PlaceholderForSitename', + 'adminname' => 'PlaceholderForAdminname', + 'pass' => 'PlaceholderForAdminpass', + + 'scriptpath' => 'PlaceholderForScriptPath', + 'enablefileupload' => 'PlaceholderForFileUpload', + 'usewindowsazure' => 'PlaceholderForUseAzure', + 'azureaccount' => 'PlaceholderForAzureAccount', + 'azurekey' => 'PlaceholderForAzureKey', + 'wikiId' => 'PlaceholderForWikiId' + ); \ No newline at end of file diff --git a/configuration-1.25.1/install.sql b/configuration-1.25.1/install.sql new file mode 100644 index 0000000..a7ffb5f --- /dev/null +++ b/configuration-1.25.1/install.sql @@ -0,0 +1,15 @@ +USE PlaceholderForDbName; + +DROP PROCEDURE IF EXISTS add_user ; + +CREATE PROCEDURE add_user() +BEGIN +DECLARE EXIT HANDLER FOR 1044 BEGIN END; +GRANT ALL PRIVILEGES ON PlaceholderForDbName.* to 'PlaceholderForDbUsername'@'PlaceholderForDbServer' IDENTIFIED BY 'PlaceholderForDbPassword'; +FLUSH PRIVILEGES; +END +; + +CALL add_user() ; + +DROP PROCEDURE IF EXISTS add_user ; diff --git a/configuration-1.25.1/manifest.xml b/configuration-1.25.1/manifest.xml new file mode 100644 index 0000000..5d11449 --- /dev/null +++ b/configuration-1.25.1/manifest.xml @@ -0,0 +1,11 @@ +<MSDeploy.iisApp> + <iisApp path="mediawiki"/> + <dbmysql path="install.sql" /> + <setAcl path="mediawiki" + setAclUser="anonymousAuthenticationUser" + setAclAccess="Modify" /> + <setAcl path="mediawiki/images" + setAclUser="anonymousAuthenticationUser" + setAclAccess="Modify" /> + <alias from="WpiSettings.php" to="mediawiki/mw-config/WpiSettings.php" /> +</MSDeploy.iisApp> diff --git a/configuration-1.25.1/mediawiki/mw-config/config-cc.css b/configuration-1.25.1/mediawiki/mw-config/config-cc.css new file mode 100644 index 0000000..ecd10fa --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/config-cc.css @@ -0,0 +1,56 @@ +/** + * Copy of CC standard stylesheet, plus tweaks for iframe usage + */ + +body { + margin: 0; + background: #eee; + font-family: Verdana; + color: #333; +} + +#main { + border: 1px solid #D0D0D0; + background: #fff; + margin: 0.5em; +} + +/** + * Looks like you have to specify the width of #menu + * or IE5 Mac stretches it all the way across the div, and + * Opera streches it half way. + */ + +#main #menu { + border-left: 1px dotted #ccc; + float: right; + width: 230px; + background: white; + margin: 0 0 10px 10px; +} + +td, h3, p, h1, pre { + margin: 0 20px 20px 20px; + font-size: 11px; + line-height: 140%; +} + +.header { + padding-left: 10px; + padding-top: 10px; +} + +.nav { + padding-left: 10px; + padding-bottom: 10px; + font-size: 11px; + margin-bottom: 16px; +} + +#menu p { + font-size: 11px; +} + +.dent { + margin-left: 64px; +} diff --git a/configuration-1.25.1/mediawiki/mw-config/config.css b/configuration-1.25.1/mediawiki/mw-config/config.css new file mode 100644 index 0000000..17b2039 --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/config.css @@ -0,0 +1,174 @@ +.env-check { + font-size: 90%; + margin: 1em 0 1em 2.5em; +} + +.config-section { + margin-top: 2em; +} + +.config-block { + margin-top: 2em; + display: block; + +} + +.config-block-label { + display: block; + margin-bottom: .2em; +} + +.config-block-label label, .config-label { + font-weight: bold; + padding-right: .5em; + padding-top: .2em; +} + +.config-block-elements { + margin-left: 2em; +} + +.config-block-elements li { + list-style: none; +} + +.config-input { + clear: left; + zoom: 100%; /* IE hack */ +} + +.config-page-wrapper { + padding: 0.5em; +} + +.config-page-list { + float: right; + width: 12em; + border: 1px solid #aaa; + background: #fff; + padding: 0.5em; + /* 3em left margin to leave space between the list and the page-content */ + margin: 0.5em 0.5em 0.5em 3.5em; +} + +.config-page { + padding: 0.5em 0.5em 0.5em 2em; + margin: 0.5em 0.5em 0.5em 0.5em; + background: #eee; +} + +.config-submit { + clear: left; + text-align: center; + padding: 1em; +} + +.config-submit input { + margin-left: 0.5em; + margin-right: 0.5em; +} + +.config-page-disabled { + color: #aaa; +} + +.config-error-box { + border: 2px solid #f00; +} + +.config-page-current { + font-weight: bold; +} + +.config-message { + display: list-item; + line-height: 1.5em; + /* @embed */ + list-style-image: url(images/bullet.gif); + list-style-type: square; +} + +.config-input-text { + width: 20em; + margin-right: 1em; +} + +.config-input-check { + margin-left: 10em; +} + +.config-skins-item { + /* Clearfix */ + clear: left; + overflow: hidden; +} + +.config-skins-item .config-input-check { + margin-left: 10em; + width: 20em; + float: left; +} + +.config-skins-item .config-skins-use-as-default { + float: left; +} + +.error { + color: red; + background-color: #fff; + font-weight: bold; + left: 1em; + font-size: 100%; +} + +.config-settings-block { + list-style-type: none; + list-style-image: none; + margin: 0; + padding: 0; +} + +.btn-install { + font-weight: bold; + font-size: 110%; + padding: .2em .3em; +} + +.success-message { + font-weight: bold; + font-size: 110%; + color: green; +} + +.success-box { + font-size: 130%; +} + +.config-cc-wrapper { + clear: left; + /* If you change this height, also change it in WebInstallerOptions::submitCC() */ + height: 54em; +} + +.config-plainlink a { + background: none !important; + padding: 0 !important; +} + +.config-download-link { + font-size: 1.8em; + margin-left: 2em; +} + +.config-download-link a { + background: url(images/download-32.png) no-repeat center left; + padding-left: 40px; /* 32 px for the image (above), plus some breathing room */ + height: 32px; /* provide enough vertical room for the image */ + display: inline-block; /* allow the height property (above) to work */ + line-height: 32px; /* center the text vertically */ +} + +#config-live-log { + overflow: hidden; + min-width: 20em; +} diff --git a/configuration-1.25.1/mediawiki/mw-config/config.js b/configuration-1.25.1/mediawiki/mw-config/config.js new file mode 100644 index 0000000..cf17aef --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/config.js @@ -0,0 +1,108 @@ +( function ( $ ) { + $( function () { + var $label, labelText; + + function syncText() { + var value = $(this).val() + .replace( /[\[\]\{\}|#<>%+? ]/g, '_' ) + .replace( /&/, '&' ) + .replace( /__+/g, '_' ) + .replace( /^_+/, '' ) + .replace( /_+$/, '' ); + value = value.charAt( 0 ).toUpperCase() + value.slice( 1 ); + $label.text( labelText.replace( '$1', value ) ); + } + + // Set up the help system + $( '.mw-help-field-data' ) + .hide() + .closest( '.mw-help-field-container' ) + .find( '.mw-help-field-hint' ) + .show() + .click( function () { + $(this) + .closest( '.mw-help-field-container' ) + .find( '.mw-help-field-data' ) + .slideToggle( 'fast' ); + } ); + + // Show/hide code for DB-specific options + // FIXME: Do we want slow, fast, or even non-animated (instantaneous) showing/hiding here? + $( '.dbRadio' ).each( function () { + $( document.getElementById( $(this).attr( 'rel' ) ) ).hide(); + } ); + $( document.getElementById( $( '.dbRadio:checked' ).attr( 'rel' ) ) ).show(); + $( '.dbRadio' ).click( function () { + var $checked = $( '.dbRadio:checked' ), + $wrapper = $( document.getElementById( $checked.attr( 'rel' ) ) ); + if ( $wrapper.is( ':hidden' ) ) { + $( '.dbWrapper' ).hide( 'slow' ); + $wrapper.show( 'slow' ); + } + } ); + + // Scroll to the bottom of upgrade log + $( '#config-live-log' ).children( 'textarea' ).each( function () { + this.scrollTop = this.scrollHeight; + } ); + + // Show/hide Creative Commons thingy + $( '.licenseRadio' ).click( function () { + var $wrapper = $( '#config-cc-wrapper' ); + if ( $( '#config__LicenseCode_cc-choose' ).is( ':checked' ) ) { + $wrapper.show( 'slow' ); + } else { + $wrapper.hide( 'slow' ); + } + } ); + + // Show/hide random stuff (email, upload) + $( '.showHideRadio' ).click( function () { + var $wrapper = $( '#' + $(this).attr( 'rel' ) ); + if ( $(this).is( ':checked' ) ) { + $wrapper.show( 'slow' ); + } else { + $wrapper.hide( 'slow' ); + } + } ); + $( '.hideShowRadio' ).click( function () { + var $wrapper = $( '#' + $(this).attr( 'rel' ) ); + if ( $(this).is( ':checked' ) ) { + $wrapper.hide( 'slow' ); + } else { + $wrapper.show( 'slow' ); + } + } ); + + // Hide "other" textboxes by default + // Should not be done in CSS for javascript disabled compatibility + $( '.enabledByOther' ).closest( '.config-block' ).hide(); + + // Enable/disable "other" textboxes + $( '.enableForOther' ).click( function () { + var $textbox = $( document.getElementById( $(this).attr( 'rel' ) ) ); + // FIXME: Ugh, this is ugly + if ( $(this).val() === 'other' ) { + $textbox.removeProp( 'readonly' ).closest( '.config-block' ).slideDown( 'fast' ); + } else { + $textbox.prop( 'readonly', true ).closest( '.config-block' ).slideUp( 'fast' ); + } + } ); + + // Synchronize radio button label for sitename with textbox + $label = $( 'label[for=config__NamespaceType_site-name]' ); + labelText = $label.text(); + $label.text( labelText.replace( '$1', '' ) ); + $( '#config_wgSitename' ).on( 'keyup change', syncText ).each( syncText ); + + // Show/Hide memcached servers when needed + $( 'input[name$="config_wgMainCacheType"]' ).change( function () { + var $memc = $( '#config-memcachewrapper' ); + if ( $( 'input[name$="config_wgMainCacheType"]:checked' ).val() === 'memcached' ) { + $memc.show( 'slow' ); + } else { + $memc.hide( 'slow' ); + } + } ); + } ); +}( jQuery ) ); diff --git a/configuration-1.25.1/mediawiki/mw-config/images/ajax-loader.gif b/configuration-1.25.1/mediawiki/mw-config/images/ajax-loader.gif new file mode 100644 index 0000000..72203fd --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/ajax-loader.gif Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/bullet.gif b/configuration-1.25.1/mediawiki/mw-config/images/bullet.gif new file mode 100644 index 0000000..b43de48 --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/bullet.gif Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/critical-32.png b/configuration-1.25.1/mediawiki/mw-config/images/critical-32.png new file mode 100644 index 0000000..9b38e6a --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/critical-32.png Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/download-32.png b/configuration-1.25.1/mediawiki/mw-config/images/download-32.png new file mode 100644 index 0000000..e5b8318 --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/download-32.png Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/info-32.png b/configuration-1.25.1/mediawiki/mw-config/images/info-32.png new file mode 100644 index 0000000..ab09e1d --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/info-32.png Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/installer-logo.png b/configuration-1.25.1/mediawiki/mw-config/images/installer-logo.png new file mode 100644 index 0000000..c6bd868 --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/installer-logo.png Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/tick-32.png b/configuration-1.25.1/mediawiki/mw-config/images/tick-32.png new file mode 100644 index 0000000..34cfa9c --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/tick-32.png Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/images/warning-32.png b/configuration-1.25.1/mediawiki/mw-config/images/warning-32.png new file mode 100644 index 0000000..0400734 --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/images/warning-32.png Binary files differ diff --git a/configuration-1.25.1/mediawiki/mw-config/index.php b/configuration-1.25.1/mediawiki/mw-config/index.php new file mode 100644 index 0000000..09cafea --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/index.php @@ -0,0 +1,161 @@ +<?php +/** + * New version of MediaWiki web-based config/installation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + */ + +// Bail on old versions of PHP, or if composer has not been run yet to install +if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.3.2' ) < 0 ) { +// dependencies. Using dirname( __FILE__ ) here because __DIR__ is PHP5.3+. + require_once dirname( __FILE__ ) . '/../includes/PHPVersionCheck.php'; + wfEntryPointCheck( 'mw-config/index.php' ); +} + +define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' ); +define( 'MEDIAWIKI_INSTALL', true ); + +// Resolve relative to regular MediaWiki root +// instead of mw-config subdirectory. +chdir( dirname( __DIR__ ) ); +require dirname( __DIR__ ) . '/includes/WebStart.php'; + +require( dirname( __FILE__ ) . '/WpiSettings.php' ); + +wfInstallerMain(); + +function wfInstallerMain() { +// global $wgRequest, $wgLang, $wgMetaNamespace, $wgCanonicalNamespaceNames; + global $IP, $wgWPIOptionStore, $wgLanguageCode, $wgEnableUploads, $wgLogo; + + $siteName = $wgWPIOptionStore['sitename']; + $adminName = $wgWPIOptionStore['adminname']; + $wgLanguageCode = $wgWPIOptionStore['lang']; + $wgEnableUploads = (strtolower($wgWPIOptionStore['enablefileupload']) == 'yes'); + $wgLogo = "\$wgStylePath/common/images/wiki.png"; + + $wgWPIOptionStore['scriptpath'] = getScriptPath(); + + ob_start(); + echo "<pre>"; + + $installer = InstallerOverrides::getCliInstaller( $siteName, $adminName, $wgWPIOptionStore ); + + $status = $installer->doEnvironmentChecks(); + if( $status->isGood() ) { + $installer->showMessage( 'config-env-good' ); + $installer->execute(); + $installer->writeConfigurationFile( $IP ); + // Modify LocalSettings for WindowsAzure + if ( strtolower($wgWPIOptionStore['usewindowsazure']) == "yes" ) { + $azureSettings = " +require_once(\"\$IP/extensions/WindowsAzureSDK/WindowsAzureSDK.php\"); +require_once(\"\$IP/extensions/WindowsAzureStorage/WindowsAzureStorage.php\"); + +\$wgFileBackends[] = array( + 'name' => 'azure-backend', + 'class' => 'WindowsAzureFileBackend', + 'lockManager' => 'nullLockManager', + 'azureAccount' => '{$wgWPIOptionStore['azureaccount']}', + 'azureKey' => '{$wgWPIOptionStore['azurekey']}', + + //IMPORTANT: Mind the container naming conventions! http://msdn.microsoft.com/en-us/library/dd135715.aspx + 'wikiId' => '{$wgWPIOptionStore['wikiId']}', + 'containerPaths' => array( + 'media-public' => 'media-public', + 'media-thumb' => 'media-thumb', + 'media-deleted' => 'media-deleted', + 'media-temp' => 'media-temp', + + ) +); + +\$wgLocalFileRepo = array ( + 'class' => 'LocalRepo', + 'name' => 'local', + 'scriptDirUrl' => '/php/mediawiki-filebackend-azure', + 'scriptExtension' => '.php', + 'url' => \$wgScriptPath.'/img_auth.php', // It is important to set this to img_auth. Basically, there is no alternative. + 'hashLevels' => 2, + 'thumbScriptUrl' => false, + 'transformVia404' => false, + 'deletedHashLevels' => 3, + 'backend' => 'azure-backend', + 'zones' => + array ( + 'public' => + array ( + 'container' => 'local-public', + 'directory' => '', + ), + 'thumb' => + array( + 'container' => 'local-public', + 'directory' => 'thumb', + ), + 'deleted' => + array ( + 'container' => 'local-public', + 'directory' => 'deleted', + ), + 'temp' => + array( + 'container' => 'local-public', + 'directory' => 'temp', + ) + ) +); + +\$wgImgAuthPublicTest = false; +"; + file_put_contents( $IP.'/LocalSettings.php', $azureSettings, FILE_APPEND ); + } + } + echo "</pre>"; + + ob_end_clean(); + + // Installation done. Now change the cli installer to web installer + @rename($IP.'/mw-config/index.php', $IP.'/mw-config/index_cli.php'); + @rename($IP.'/mw-config/index_web.php', $IP.'/mw-config/index.php'); + + @unlink($IP.'/mw-config/WpiSettings.php'); + + header('Location: ../'); +} + +/** + * Get the script path + * + * @return String $wpiScriptPath The web platform installer script path + */ + +function getScriptPath() { + //setting the default value as empty + $wpiScriptPath = ''; + $path = false; + if ( !empty( $_SERVER['PHP_SELF'] ) ) { + $path = $_SERVER['PHP_SELF']; + } elseif ( !empty( $_SERVER['SCRIPT_NAME'] ) ) { + $path = $_SERVER['SCRIPT_NAME']; + } + if ($path !== false) { + $wpiScriptPath = preg_replace( '{^(.*)/(mw-)?config.*$}', '$1', $path ); + } + return $wpiScriptPath; +} diff --git a/configuration-1.25.1/mediawiki/mw-config/index.php5 b/configuration-1.25.1/mediawiki/mw-config/index.php5 new file mode 100644 index 0000000..8898653 --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/index.php5 @@ -0,0 +1,26 @@ +<?php +/** + * Version of mw-config/index.php to be used in web servers that require the .php5 + * extension to execute scripts with the PHP5 engine. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + */ + +define( 'MW_INSTALL_PHP5_EXT', 1 ); + +require './index.php'; diff --git a/configuration-1.25.1/mediawiki/mw-config/index_web.php b/configuration-1.25.1/mediawiki/mw-config/index_web.php new file mode 100644 index 0000000..be811dc --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/index_web.php @@ -0,0 +1,81 @@ +<?php +/** + * New version of MediaWiki web-based config/installation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + */ + +// Bail on old versions of PHP, or if composer has not been run yet to install +// dependencies. Using dirname( __FILE__ ) here because __DIR__ is PHP5.3+. +require_once dirname( __FILE__ ) . '/../includes/PHPVersionCheck.php'; +wfEntryPointCheck( 'mw-config/index.php' ); + +define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' ); +define( 'MEDIAWIKI_INSTALL', true ); + +// Resolve relative to regular MediaWiki root +// instead of mw-config subdirectory. +chdir( dirname( __DIR__ ) ); +require dirname( __DIR__ ) . '/includes/WebStart.php'; + +wfInstallerMain(); + +function wfInstallerMain() { + global $wgRequest, $wgLang, $wgMetaNamespace, $wgCanonicalNamespaceNames; + + $installer = InstallerOverrides::getWebInstaller( $wgRequest ); + + if ( !$installer->startSession() ) { + + if ( $installer->request->getVal( "css" ) ) { + // Do not display errors on css pages + $installer->outputCss(); + exit; + } + + $errors = $installer->getPhpErrors(); + $installer->showError( 'config-session-error', $errors[0] ); + $installer->finish(); + exit; + } + + $fingerprint = $installer->getFingerprint(); + if ( isset( $_SESSION['installData'][$fingerprint] ) ) { + $session = $_SESSION['installData'][$fingerprint]; + } else { + $session = array(); + } + + if ( !is_null( $wgRequest->getVal( 'uselang' ) ) ) { + $langCode = $wgRequest->getVal( 'uselang' ); + } elseif ( isset( $session['settings']['_UserLang'] ) ) { + $langCode = $session['settings']['_UserLang']; + } else { + $langCode = 'en'; + } + $wgLang = Language::factory( $langCode ); + + $installer->setParserLanguage( $wgLang ); + + $wgMetaNamespace = $wgCanonicalNamespaceNames[NS_PROJECT]; + + $session = $installer->execute( $session ); + + $_SESSION['installData'][$fingerprint] = $session; + +} diff --git a/configuration-1.25.1/mediawiki/mw-config/overrides.php b/configuration-1.25.1/mediawiki/mw-config/overrides.php new file mode 100644 index 0000000..40b3dde --- /dev/null +++ b/configuration-1.25.1/mediawiki/mw-config/overrides.php @@ -0,0 +1,81 @@ +<?php +/** + * MediaWiki installer overrides. + * Modify this file if you are a packager who needs to modify the behavior of + * the MediaWiki installer. Altering it is preferred over changing anything in + * /includes. + * + * Note: this file doesn't gets included from a global scope, don't use globals directly. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + */ + +/* + +Example of modifications: + + public static function getLocalSettingsGenerator( Installer $installer ) { + return new MyLocalSettingsGenerator( $installer ); + } + +Then add the following to the bottom of this file: + +class MyLocalSettingsGenerator extends LocalSettingsGenerator { + function getText() { + // Modify an existing setting + $this->values['wgDefaultSkin'] = 'vector'; + // add a new setting + $ls = parent::getText(); + return $ls . "\n\$wgUseTex = true;\n"; + } +} +*/ + +/** + * @since 1.20 + */ +class InstallerOverrides { + /** + * Instantiates and returns an instance of LocalSettingsGenerator or its descendant classes + * @param Installer $installer + * @return LocalSettingsGenerator + */ + public static function getLocalSettingsGenerator( Installer $installer ) { + return new LocalSettingsGenerator( $installer ); + } + + /** + * Instantiates and returns an instance of WebInstaller or its descendant classes + * @param WebRequest $request + * @return WebInstaller + */ + public static function getWebInstaller( WebRequest $request ) { + return new WebInstaller( $request ); + } + + /** + * Instantiates and returns an instance of CliInstaller or its descendant classes + * @param string $siteName + * @param string|null $admin + * @param array $options + * @return CliInstaller + */ + public static function getCliInstaller( $siteName, $admin = null, array $options = array() ) { + return new CliInstaller( $siteName, $admin, $options ); + } +} diff --git a/configuration-1.25.1/parameters.xml b/configuration-1.25.1/parameters.xml new file mode 100644 index 0000000..a43f9b0 --- /dev/null +++ b/configuration-1.25.1/parameters.xml @@ -0,0 +1,465 @@ +<parameters> + <!-- MediaWiki parameters.xml file --> + <!-- Hallo Welt! Medienwerkstatt GmbH, http://www.hallowelt.biz --> + + <!-- One of the new features provides for localization of text + strings within the parameters.xml file. This localization can + be applied to "description" and "friendlyName" attributes of a + parameter. + + NOTE: There are a few parameters for mediawiki which are not + in the list of well known parameters. These parameters have + English descriptions and friendlyNames only. + --> + + <parameter + name="AppPath" + defaultValue="Default Web Site/mediawiki" + tags="iisapp" > + + <parameterEntry + type="ProviderPath" + scope="iisapp" + match="mediawiki" /> + <parameterEntry + type="ProviderPath" + scope="setacl" + match="mediawiki" /> + <parameterEntry + type="ProviderPath" + scope="alias" + match="mediawiki" /> + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForScriptPath" /> + + </parameter> + + <parameter name="Site URL" description="The base URL of the server, including protocol and without the trailing slash ( i.e., http://localhost:80 )" defaultValue="http://localhost" tags="AppURL"> + <parameterValidation + type="RegularExpression" + validationString="^[^\\'$]*$" + /> + </parameter> + <parameter name="Automatic Site URL PostInstall" defaultValue='$wgServer = "{Site URL}";' tags="Hidden" > + <parameterEntry type="TextFile" scope="\\LocalSettings.php$" match='\$wgServer\s*=\s*"([^"]*)";' /> + </parameter> + + <parameter + name="DbServer" + defaultValue="localhost" + tags="MySQL,dbServer" > + + + <parameterEntry + type="TextFile" + scope="install.sql" + match="PlaceholderForDbServer" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbServer" /> + + </parameter> + <parameter name="Automatic Dbserver" defaultValue ='$wgDBserver = "{DbServer}";' tags="MySQL,Hidden"> + <parameterEntry type="TextFile" scope="\\LocalSettings.php" match='\$wgDBserver\s*=\s*"([^"]*)";' /> + </parameter> + <!-- This parameter prompts the user for the database name. We have + set a validation RegEx on this parameter, as MySQL will not accept + a username that has more than 16 characters. + --> + + <parameter + name="DbName" + defaultValue="wikidb" + tags="MySQL,dbName" > + + <parameterValidation + type="RegularExpression" + validationString="^\w{1,16}$" /> + + <parameterEntry + type="TextFile" + scope="install.sql" + match="PlaceholderForDbName" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbName" /> + + </parameter> + <parameter name="Automatic Dbname" defaultValue ='$wgDBname = "{DbName}";' tags="MySQL,Hidden" > + <parameterEntry type="TextFile" scope="\\LocalSettings.php" match='\$wgDBname\s*=\s*"([^"]*)";' /> + </parameter> + + <!-- This parameter prompts the user for the database table prefix. We have + set a validation RegEx on this parameter. + --> + + <parameter + name="Database table prefix" + defaultValue="mw_" + tags="MySQL,NoStore" + friendlyName="Database table prefix" + description="Please provide a table prefix if you are using several web platforms in one database. Use only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_) and hyphens (-)." > + + <parameterValidation + type="RegularExpression" + validationString="^[a-zA-Z0-9_-]*$" + /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbPrefix" /> + + <description culture="en">Please provide a table prefix if you are using several web platforms in one database. Use only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_) and hyphens (-).</description> + <description culture="de">Bitte geben Sie ein Tabellenpräfix an, wenn Sie mehrere Webplattformen in einer Datenbank nutzen wollen. Es dürfen nur ASCII-codierte Buchstaben (a-z, A-Z), Zahlen (0-9), Unter- (_) sowie Bindestriche (-) verwendet werden.</description> + <friendlyName culture="en">Database table prefix</friendlyName> + <friendlyName culture="de">Datenbanktabellenpräfix</friendlyName> + + </parameter> + <!-- + <parameter name="Automatic Dbprefix" defaultValue ='$wgDBprefix = "{DbPrefix}";' tags="MySQL,Hidden" > + <parameterEntry type="TextFile" scope="\\LocalSettings.php" match='\$wgDBprefix\s*=\s*"([^"]*)";' /> + </parameter> + --> + + <!-- This parameter prompts the user for the database username. We + have set a validation RegEx on this parameter, as MySQL will not + accept a username that has more than 16 characters. + --> + + <parameter + name="DbUsername" + defaultValue="wikiuser" + tags="MySQL,DbUsername" > + + <parameterValidation + type="RegularExpression" + validationString="^\w{1,16}$" /> + + <parameterEntry + type="TextFile" + scope="install.sql" + match="PlaceholderForDbUsername" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbUsername" /> + + </parameter> + <parameter name="Automatic DbUsername" defaultValue ='$wgDBuser = "{DbUsername}";' tags="MySQL,Hidden" > + <parameterEntry type="TextFile" scope="\\LocalSettings.php" match='\$wgDBuser\s*=\s*"([^"]*)";' /> + </parameter> + <!-- This parameter prompts the user for the database user's password. + --> + + <parameter + name="DbPassword" + tags="New,Password,MySQL,DbUserPassword" > + + <parameterEntry + type="TextFile" + scope="install.sql" + match="PlaceholderForDbPassword" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbPassword" /> + + </parameter> + + <parameter name="Automatic DbPassword" defaultValue ='$wgDBpassword = "{DbPassword}";' tags="MySQL,Hidden"> + <parameterEntry type="TextFile" scope="\\LocalSettings.php" match='\$wgDBpassword\s*=\s*"([^"]*)";' /> + </parameter> + + <!-- Prompts for the admin creds and uses it for the administrator + connection string. This is used to create a login and assign + permissions. The MySQL tag indicates it is a parameter required + for MySQL. The DbAdminUsername tag indicates it should be used + when the user is creating a new database. If they're not, it + can be filled in with the DbUsername value. The UI should be + able to figure out whether or not the user needs to be prompted + for this. + --> + + <parameter + name="DbAdminUsername" + defaultValue="root" + tags="MySQL,DbAdminUsername" > + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbAdminUsername" /> + + </parameter> + + <!-- Prompts for the admin password and uses it for the administrator + connection string. + --> + + <parameter + name="DbAdminPassword" + tags="Password,MySQL,DbAdminPassword" > + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForDbAdminPassword" /> + + </parameter> + + <parameter + name="Connection String" + defaultValue="Server={DbServer};Database={DbName};uid={DbAdminUsername};Pwd={DbAdminPassword};" + tags="Hidden,MySQLConnectionString,Validate,MySQL" > + + <parameterEntry + type="ProviderPath" + scope="dbmysql" + match="install.sql" /> + + </parameter> + + + <!-- MediaWiki specific parameters --> + + <!-- Set the correct path for the ACL based on the AppPath selected + by the user. + --> + + <parameter + name="SetAclParameter1" + defaultValue="{AppPath}/images" + tags="Hidden" > + + <parameterEntry + type="ProviderPath" + scope="setAcl" + match="mediawiki/images$" /> + + </parameter> + + <parameter + tags="NoStore" + name="Name of wiki" + defaultValue="MyWiki" + friendlyName="Name of wiki" + description="Please provide a name for your MediaWiki site. It should not be MediaWiki." > + + <description culture="en">Please provide a name for your MediaWiki site. It should not be MediaWiki.</description> + <description culture="de">Bitte geben Sie einen Namen für Ihre MediaWiki-Site ein. Es sollte nicht sein MediaWiki.</description> + <friendlyName culture="en">Name of wiki</friendlyName> + <friendlyName culture="de">Name des Wikis</friendlyName> + + <!-- Sitename must not be "MediaWiki" --> + <parameterValidation + type="RegularExpression" + validationString="^((?!^\s*[M|m]edia[W|w]iki\s*$)[^\\'$])*$" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForSitename" /> + + </parameter> + + <parameter + tags="NoStore" + name="language" + defaultValue="en" + friendlyName="MediaWiki site language" + description="Please provide a default language for your MediaWiki site." > + + <description culture="en">Please provide a default language for your MediaWiki site.</description> + <description culture="de">Bitte geben Sie eine Standardsprache für Ihre MediaWiki-Site ein.</description> + <friendlyName culture="en">MediaWiki site language</friendlyName> + <friendlyName culture="de">MediaWiki Standardsprache</friendlyName> + + <parameterValidation + type="Enumeration" validationString="de,en" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForLanguage" /> + + </parameter> + + <parameter + tags="NoStore" + name="MediaWiki administrator name" + defaultValue="WikiSysop" + friendlyName="Name for MediaWiki administrator" + description="Please provide a name for your MediaWiki administrator account." > + + <description culture="en">Please provide a name for your MediaWiki administrator account.</description> + <description culture="de">Bitte geben Sie einen Namen für Ihren MediaWiki Administratoraccount ein.</description> + <friendlyName culture="en">MediaWiki administrator name</friendlyName> + <friendlyName culture="de">MediaWiki Administrator name</friendlyName> + + <parameterValidation + type="RegularExpression" + validationString="^[^\\'$@]{1,235}$" + /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForAdminname" /> + + </parameter> + + <parameter + tags="NoStore,Password,New" + name="MediaWiki administrator password" + defaultValue="" + friendlyName="Password for MediaWiki administrator" + description="Please provide a password for your MediaWiki administrator account. Your password must be different from your username." > + + <description culture="en">Please provide a password for your MediaWiki administrator account. Your password must be different from your username.</description> + <description culture="de">Bitte geben Sie eine Passwort für Ihren MediaWiki Administratoraccount ein. Ihr Passwort muss mit dem Benutzernamen sein.</description> + <friendlyName culture="en">MediaWiki administrator password</friendlyName> + <friendlyName culture="de">MediaWiki Administrator Passwort</friendlyName> + + <parameterValidation + type="RegularExpression" + validationString="^[^\\'$]*$" + /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForAdminpass" /> + + </parameter> + + <!-- option to enable file upload on mediawiki --> + <parameter + name="Enable MediaWiki file upload" + defaultValue="No" + friendlyName="Enable MediaWiki file upload" + tags="NoStore" + description="Select this if you want to enable MediaWiki file upload."> + + <description culture="en">Select this if you want to enable MediaWiki file upload.</description> + <description culture="de">Haken setzen, wenn Sie den Dateiupload in MediaWiki aktivieren wollen.</description> + <friendlyName culture="en">Enable MediaWiki file upload</friendlyName> + <friendlyName culture="de">MediaWiki Dateiupload aktivieren</friendlyName> + + <parameterValidation + type="Enumeration" + validationString="Yes,No" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForFileUpload" /> + </parameter> + + <!-- Azure specific parameters --> + <parameter + tags="Azure,NoStore" + name="Use Windows Azure storage as file backend" + defaultValue="No" + friendlyName="Use Windows Azure as file backend" + description="Select this if you want to use Windows Azure as file backend" > + + <description culture="en">Select this if you want to use Windows Azure as file backend.</description> + <description culture="de">Haken setzen, wenn Sie Windows Azure als Speicherort für Dateien vewenden wollen.</description> + <friendlyName culture="en">Use Windows Azure storage as file backend</friendlyName> + <friendlyName culture="de">Verwenden Sie Windows Azure-Speicher als File-Backend</friendlyName> + + <!-- Renders as checkbox --> + <parameterValidation + type="Enumeration" + validationString="Yes,No" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForUseAzure" /> + + </parameter> + + <!-- No space is allowed in Windows Azure storage account name, so default value without space --> + <parameter + tags="Azure,NoStore" + name="Windows Azure storage account name" + defaultValue="accountname" + friendlyName="Windows Azure storage account name" + description="Please provide your Windows Azure storage account name. If you do not want to use Windows Azure as FileBackend for your MediaWiki you can leave this field unmodified." > + + <description culture="en">Please provide your Windows Azure storage account name. If you do not want to use Windows Azure as FileBackend for your MediaWiki you can leave this field unmodified.</description> + <description culture="de">Bitte geben Sie Ihre Windows Azure-Speicherkonto Name. Wenn Sie Windows Azure nicht als Dateispeicherort für Ihre MediaWiki-Installation nutzen wollen können Sie den Wert unverändert lassen.</description> + <friendlyName culture="en">Windows Azure storage account name</friendlyName> + <friendlyName culture="de">Windows Azure-Speicherkonto Name</friendlyName> + + <parameterValidation + type="RegularExpression" + validationString="^[a-z0-9]{3,24}$" + /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForAzureAccount" /> + + </parameter> + + <parameter + tags="Azure,NoStore" + name="Windows azure storage account key" + defaultValue="accountkey" + friendlyName="Windows azure storage account key" + description="Please provide your Windows azure storage account key. If you do not want to use Windows Azure as FileBackend for your MediaWiki you can leave this field unmodified." > + + <description culture="en">Please provide your Windows azure storage account key. If you do not want to use Windows Azure as FileBackend for your MediaWiki you can leave this field unmodified.</description> + <description culture="de">Bitte geben Sie Ihre Windows Azure-Speicherkonto Schlüssel. Wenn Sie Windows Azure nicht als Dateispeicherort für Ihre MediaWiki-Installation nutzen wollen können Sie den Wert unverändert lassen.</description> + <friendlyName culture="en">Windows azure storage account key</friendlyName> + <friendlyName culture="de">Windows Azure-Speicherkonto Schlüssel</friendlyName> + + <parameterValidation + type="RegularExpression" + validationString="^[^\\'$]*$" + /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForAzureKey" /> + + </parameter> + + <parameter + tags="NoStore" + name="Wiki ID" + defaultValue="mywiki" + friendlyName="Wiki ID (Prefix to container names that is unique to this wiki)" + description="Prefix to container names that is unique to this wiki. Container names must start with a letter or number, and can contain only letters, numbers, and the dash (-) character. Every dash (-) character must be immediately preceded and followed by a letter or number, consecutive dashes are not permitted in container names. All letters in a container name must be lowercase. Container names must be from 3 through 63 characters long. This prefix must be from 3 through 30 characters long." > + + <description culture="en">Prefix to container names that is unique to this wiki. Container names must start with a letter or number, and can contain only letters, numbers, and the dash (-) character. Every dash (-) character must be immediately preceded and followed by a letter or number, consecutive dashes are not permitted in container names. All letters in a container name must be lowercase. Container names must be from 3 through 63 characters long. This prefix must be from 3 through 30 characters long.</description> + <description culture="de">Präfix für Container-Namen, die einzigartig in diesem Wiki ist. Container müssen mit einem Buchstaben oder einer Zahl beginnen und dürfen nur Buchstaben, Ziffern und den Bindestrich (-) enthalten Charakter. Jeder Strich (-) Zeichen unmittelbar vorausgehen muss und durch einen Buchstaben oder eine Zahl gefolgt, werden aufeinanderfolgende Striche nicht in Container-Namen erlaubt. Alle Buchstaben in einem Container-Name muss in Kleinbuchstaben geschrieben sein. Container-Namen müssen aus 3 bis 63 Zeichen lang sein. Dieses Präfix muss zwischen 3 und 30 Zeichen lang sein.</description> + <friendlyName culture="en">Wiki ID (Prefix to container names that is unique to this wiki)</friendlyName> + <friendlyName culture="de">Wiki-ID (Präfix Container-Namen, die eindeutig zu diesem Wiki ist)</friendlyName> + + <!-- limiting the container prefix length to 30 --> + <parameterValidation + type="RegularExpression" + validationString="(^([a-z]|\d))((-([a-z]|\d)|([a-z]|\d)){2,30})$" /> + + <parameterEntry + type="TextFile" + scope="WpiSettings.php" + match="PlaceholderForWikiId" /> + + </parameter> + +</parameters> diff --git a/mediawiki-1.25.1-IIS.zip b/mediawiki-1.25.1-IIS.zip new file mode 100644 index 0000000..eb40ed1 --- /dev/null +++ b/mediawiki-1.25.1-IIS.zip Binary files differ -- To view, visit https://gerrit.wikimedia.org/r/215303 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4b9d188b4323cf479b50a68b3f017bfe0957be69 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/packages/WPI Gerrit-Branch: master Gerrit-Owner: Mglaser <gla...@hallowelt.biz> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits