jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/378661 )

Change subject: BSSecureFileStore: Removed due to end of development
......................................................................


BSSecureFileStore: Removed due to end of development

This extension will not be part of BlueSpice 3

Change-Id: Id8a90f96d59e3f1449b2038a3c465aa66a11054a
---
M BlueSpiceExtensions.default.php
D SecureFileStore/SecureFileStore.class.php
D SecureFileStore/SecureFileStore.setup.php
D SecureFileStore/extension.json
D SecureFileStore/i18n/ast.json
D SecureFileStore/i18n/ba.json
D SecureFileStore/i18n/br.json
D SecureFileStore/i18n/ce.json
D SecureFileStore/i18n/de.json
D SecureFileStore/i18n/en-gb.json
D SecureFileStore/i18n/en.json
D SecureFileStore/i18n/es.json
D SecureFileStore/i18n/eu.json
D SecureFileStore/i18n/fa.json
D SecureFileStore/i18n/fr.json
D SecureFileStore/i18n/gl.json
D SecureFileStore/i18n/he.json
D SecureFileStore/i18n/it.json
D SecureFileStore/i18n/ja.json
D SecureFileStore/i18n/ko.json
D SecureFileStore/i18n/lb.json
D SecureFileStore/i18n/lt.json
D SecureFileStore/i18n/mk.json
D SecureFileStore/i18n/nb.json
D SecureFileStore/i18n/nl.json
D SecureFileStore/i18n/pl.json
D SecureFileStore/i18n/pt.json
D SecureFileStore/i18n/qqq.json
D SecureFileStore/i18n/ru.json
D SecureFileStore/i18n/sl.json
D SecureFileStore/i18n/sq.json
D SecureFileStore/i18n/sv.json
D SecureFileStore/i18n/tr.json
D SecureFileStore/i18n/uk.json
D SecureFileStore/i18n/zh-hans.json
D SecureFileStore/i18n/zh-hant.json
36 files changed, 0 insertions(+), 703 deletions(-)

Approvals:
  Mglaser: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/BlueSpiceExtensions.default.php b/BlueSpiceExtensions.default.php
index 256a15e..81755e7 100644
--- a/BlueSpiceExtensions.default.php
+++ b/BlueSpiceExtensions.default.php
@@ -30,9 +30,6 @@
 require_once( __DIR__."/NamespaceCss/NamespaceCss.setup.php" );
 require_once( __DIR__."/PageAccess/PageAccess.setup.php" );
 require_once( __DIR__."/PagesVisited/PagesVisited.setup.php" );
-// This extension is deprecated as of BlueSpice 2.27.1 and will be removed soon
-// Usage of this extension was completely removed in BlueSpice
-#require_once( __DIR__."/SecureFileStore/SecureFileStore.setup.php" );
 require_once( __DIR__."/TopMenuBarCustomizer/TopMenuBarCustomizer.setup.php" );
 require_once( __DIR__."/UsageTracker/UsageTracker.setup.php" );
 require_once( __DIR__."/UserPreferences/UserPreferences.setup.php" );
diff --git a/SecureFileStore/SecureFileStore.class.php 
b/SecureFileStore/SecureFileStore.class.php
deleted file mode 100644
index bcffff2..0000000
--- a/SecureFileStore/SecureFileStore.class.php
+++ /dev/null
@@ -1,243 +0,0 @@
-<?php
-/**
- * SecureFileStore extension for BlueSpice
- *
- * Prevent unauthorized access to files and images.
- *
- * 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.
- *
- * This file is part of BlueSpice MediaWiki
- * For further information visit http://www.bluespice.com
- *
- * @author     Markus Glaser <gla...@hallowelt.com>
- * @author     Marc Reymann
- * @version    2.231
- * @package    BlueSpice_Extensions
- * @subpackage SecureFileStore
- * @copyright  Copyright (C) 2016 Hallo Welt! GmbH, All rights reserved.
- * @license    http://www.gnu.org/copyleft/gpl.html GNU Public License v2 or 
later
- * @filesource
- */
-
-//Last Code Review RBV (30.06.2011)
-
-/**
- * Base class for SecurefileStore extension
- * @package BlueSpice_Extensions
- * @subpackage SecurefileStore
- */
-class SecureFileStore extends BsExtensionMW {
-
-       /**
-        * Path to file dispatcher that replaces the standard image path.
-        */
-       const PATHTOFILEDISPATCHER = 
'index.php?action=ajax&amp;title=-&amp;rs=SecureFileStore::getFile';
-
-       /**
-        * Initialization of ExtendedEditBar extension
-        */
-       protected function initExt() {
-               wfProfileIn( 'BS::'.__METHOD__ );
-               BsExtensionManager::setContext( 'MW::SecureFileStore::Active' );
-
-               BsConfig::registerVar( 'MW::SecureFileStore::Active', true, 
BsConfig::LEVEL_PRIVATE|BsConfig::TYPE_BOOL|BsConfig::RENDER_AS_JAVASCRIPT );
-               BsConfig::registerVar( 
'MW::SecureFileStore::DefaultDisposition', 'inline', 
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_STRING|BsConfig::USE_PLUGIN_FOR_PREFS, 
'bs-securefilestore-pref-defaultdisposition', 'select' );
-               BsConfig::registerVar( 
'MW::SecureFileStore::DispositionInline', array( 'pdf' ), 
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_ARRAY_STRING, 
'bs-securefilestore-pref-dispositioninline', 'multiselectplusadd' );
-               BsConfig::registerVar( 
'MW::SecureFileStore::DispositionAttachment', array( 'doc', 'docx', 'xls', 
'xlsx', 'ppt', 'pptx' ), BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_ARRAY_STRING, 
'bs-securefilestore-pref-dispositionattachment', 'multiselectplusadd' );
-               BsConfig::registerVar( 
'MW::SecureFileStore::FileExtensionWhitelist', array(), 
BsConfig::LEVEL_PUBLIC|BsConfig::TYPE_ARRAY_STRING|BsConfig::RENDER_AS_JAVASCRIPT,
 'bs-securefilestore-pref-fileextensionwhitelist', 'multiselectplusadd' );
-
-               $this->setHook( 'SkinTemplateOutputPageBeforeExec', 
'secureImages' );
-               $this->setHook( 'ExtendedSearchBeforeAjaxResponse', 
'secureImages' );
-               $this->setHook( 'SiteNoticeAfter', 'onSiteNoticeAfter' );
-
-               $this->mCore->registerPermission( 'viewfiles', array( 'user' ), 
array( 'type' => 'global' ) );
-               wfProfileOut( 'BS::'.__METHOD__ );
-       }
-
-       /**
-        * extension.json callback
-        */
-       public static function onRegistration() {
-               $GLOBALS["wgAjaxExportList"][] = "SecureFileStore::getFile";
-       }
-
-       public function onSiteNoticeAfter( &$siteNotice ) {
-               $siteNotice = SecureFileStore::secureFilesInText( $siteNotice );
-               return true;
-       }
-
-       public function runPreferencePlugin( $sAdapterName, $oVariable ) {
-               $aPrefs = array( 'options' => array( 'inline' => 'inline', 
'attachment' => 'attachment' ) );
-               return $aPrefs;
-       }
-
-       /**
-        * Replaces links to files with links to secure file dispatcher.
-        * @param object $oObject needed by hook
-        * @param object $oText reference to skin template object
-        * @return bool hook must return true
-        */
-       public function secureImages( $oObject, &$oText ) {
-               if ( !BsConfig::get( 'MW::SecureFileStore::Active' ) ) return 
true;
-               $oText->data['bodytext'] = self::secureStuff( 
$oText->data['bodytext'] );
-               return true;
-       }
-
-       /**
-        * Replaces links to files with links to secure file dispatcher.
-        * @param string $sText HTML source text
-        * @return string HTML with replaced links
-        */
-       public static function secureFilesInText( $sText ) {
-               if ( !BsConfig::get( 'MW::SecureFileStore::Active' ) ) return 
$sText;
-               return self::secureStuff( $sText );
-       }
-
-       /**
-        * Replaces links to files with links to secure file dispatcher.
-        * @param string $sText HTML source text
-        * @param bool $bIsUrl switches replacement mode
-        * @return string HTML with replaced links
-        */
-       public static function secureStuff( $sText, $bIsUrl = false ) {
-               global $wgScriptPath, $wgUploadPath;
-               $sSecurePath = $wgScriptPath . "/" . self::PATHTOFILEDISPATCHER 
. '&amp;f=';
-               $sUploadPathPattern = preg_quote( $wgUploadPath, '#' );
-               if ( $bIsUrl ) {
-                       // replace relative link beginning with _/images_ in a 
URL
-                       $sPattern = '#^' . $sUploadPathPattern . '#';
-                       $sReplacement = $sSecurePath;
-               } else {
-                       // replace all occurrences of _"images/_ or _'images/_ 
in HTML
-                       $sPattern = '#("|\')' . $sUploadPathPattern . '#';
-                       $sReplacement = '\1' . $sSecurePath;
-               }
-               $sText = preg_replace( $sPattern, $sReplacement, $sText );
-               return $sText;
-       }
-
-       /**
-        * Send file via HTTP.
-        */
-       public static function getFile() {
-               global $wgUploadDirectory;
-               $sRawFilePath     = 
RequestContext::getMain()->getRequest()->getVal( 'f' );
-               // Some extensions (e.g. Social Profile) add params with ? to 
filename
-               $aRawFilePathPcs  = preg_split( "/\?.*=/", $sRawFilePath );
-               $sRawFilePath     = $aRawFilePathPcs[0];
-               $sUploadDirectory = realpath( $wgUploadDirectory );
-               if ( empty( $sUploadDirectory ) ) throw new MWException( 
'$wgUploadDirectory is empty. This should never happen!' );
-
-               // Switch between f=File:Foo.png and f=/3/33/Foo.png style 
requests
-               $aFileNamespaceNames = 
BsNamespaceHelper::getNamespaceNamesAndAliases( NS_FILE );
-               if ( preg_match( '#^(.*?):(.*)$#', $sRawFilePath, $aMatch ) && 
in_array( $aMatch[1], $aFileNamespaceNames ) ) {
-                       $oTitle = Title::newFromText( $aMatch[2], NS_FILE );
-                       $oImg = wfLocalFile( $oTitle );
-                       if ( !is_null( $oImg ) ) {
-                               $oImgRepoLocalRef = 
$oImg->getRepo()->getLocalReference( $oImg->getPath() );
-                               if ( !is_null( $oImgRepoLocalRef ) ) {
-                                       $sFilePath = realpath( 
$oImgRepoLocalRef->getPath() );
-                               }
-                       }
-               }
-               else {
-                       $sFilePath = realpath( $sUploadDirectory . 
$sRawFilePath );
-               }
-
-               $aPathParts = pathinfo( $sFilePath );
-               $sFileName = $aPathParts['basename'];
-               $sFileExt = isset( $aPathParts['extension'] )?strtolower( 
$aPathParts['extension'] ):'';
-
-               if ( strpos( $sFilePath, $sUploadDirectory ) !== 0 // prevent 
directory traversal
-                       || preg_match( '/^\.ht/', $sFileName )     // don't 
serve .ht* files
-                       || empty( $sFilePath )                     // 
$sFilePath not being set or realpath() returning false indicates that file 
doesn't exist
-                       || !is_file( $sFilePath )                  // ignore 
directories
-                       || !is_readable( $sFilePath )
-                       ) {
-                       header( 'HTTP/1.0 404 Not Found' );
-                       exit;
-               }
-
-               // At this point we have a valid and readable file path in 
$sFilePath.
-               // Now create a File object to get some properties
-
-               if ( strstr( $sFilePath, 'thumb' ) ) $sFindFileName = 
preg_replace( "#(\d*px-)#", '', $sFileName );
-               else $sFindFileName = $sFileName;
-
-               $aOptions = array( 'time' => false );
-               //TODO: maybe check for "/archive" in $sFilePath, too. But this 
migth be a config setting, so do not hardcode
-               $isArchive = preg_match('#^\d{14}!#si', $sFindFileName); //i.e. 
"20120724112914!Adobe-reader-x-tco-de.pdf"
-               if( $isArchive ) {
-                       $aFilenameParts   = explode( '!', $sFindFileName, 2);
-                       $sFindFileName    = $aFilenameParts[1];
-                       $aOptions['time'] = $aFilenameParts[0];
-               }
-               $oFile = RepoGroup::singleton()->findFile( $sFindFileName, 
$aOptions );
-
-               // We need to do some additional checks if file extension is 
not on whitelist
-               if ( !in_array( $sFileExt, BsConfig::get( 
'MW::SecureFileStore::FileExtensionWhitelist' ) ) ) {
-
-                       // Check for MediaWiki right 'viewfiles'
-                       global $wgUser;
-                       if ( !$wgUser->isAllowed( 'viewfiles' ) ) {
-                               header ( 'HTTP/1.0 403 Forbidden' );
-                               exit;
-                       }
-
-                       // Check if user has access to file's meta page
-                       if ( $oFile ) {
-                               if ( !$oFile->getTitle()->userCan( 'read' ) ) {
-                                       header ( 'HTTP/1.0 403 Forbidden' );
-                                       exit;
-                               }
-                       }
-               }
-
-               // User is allowed to retrieve file. Get things going.
-               # If file is not in MW's repo try to guess MIME type
-               $sFileMime = ( $oFile ) ? $oFile->getMimeType() : 
MimeMagic::singleton()->guessMimeType( $sFilePath, false );
-
-               $sFileDispo = BsConfig::get( 
'MW::SecureFileStore::DefaultDisposition' );
-               if ( in_array( $sFileExt, BsConfig::get( 
'MW::SecureFileStore::DispositionAttachment' ) ) ) $sFileDispo = 'attachment';
-               if ( in_array( $sFileExt, BsConfig::get( 
'MW::SecureFileStore::DispositionInline' ) ) )     $sFileDispo = 'inline';
-
-               $aFileStat = stat( $sFilePath );
-               header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s', 
$aFileStat['mtime'] ) . ' GMT' );
-               header( "Content-Type: $sFileMime" );
-               header( "Content-Disposition: $sFileDispo; 
filename=\"$sFileName\"" );
-               header( "Cache-Control: no-cache,must-revalidate", true ); 
//Otherwise IE might deliver old version
-
-               if ( !empty( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) ) {
-                       $sModSince  = preg_replace( '/;.*$/', '', 
$_SERVER['HTTP_IF_MODIFIED_SINCE'] );
-                       $sSinceTime = strtotime( $sModSince );
-                       if ( $aFileStat['mtime'] <= $sSinceTime ) {
-                               ini_set('zlib.output_compression', 0);
-                               header( "HTTP/1.0 304 Not Modified" );
-                               exit;
-                       }
-               }
-
-               // IE6/IE7 cannot handle download of zip-files that are 
aditionally gzipped by the Apache
-               // just put it in the header and tell apache to immediately 
flush => and gzip is disabled
-               if ( $sFileMime == 'application/zip' ) {
-                       header( 'Content-Length: ' . $aFileStat['size'] );
-                       flush();
-               }
-
-               // Send the file already ;-)
-               readfile( $sFilePath );
-               exit;
-       }
-}
diff --git a/SecureFileStore/SecureFileStore.setup.php 
b/SecureFileStore/SecureFileStore.setup.php
deleted file mode 100644
index ecd4b89..0000000
--- a/SecureFileStore/SecureFileStore.setup.php
+++ /dev/null
@@ -1,2 +0,0 @@
-<?php
-wfLoadExtension( 'BlueSpiceExtensions/SecureFileStore' );
\ No newline at end of file
diff --git a/SecureFileStore/extension.json b/SecureFileStore/extension.json
deleted file mode 100644
index 5f01f4e..0000000
--- a/SecureFileStore/extension.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "name": "SecureFileStore",
-       "version": "2.27.1-alpha",
-       "url": "https://help.bluespice.com/index.php/SecureFileStore";,
-       "author": [
-               "Markus Glaser",
-               "Marc Reymann"
-       ],
-       "descriptionmsg": "bs-securefilestore-desc",
-       "license-name": "GPL-2.0+",
-       "type": "bluespice",
-       "bsgExtensions": {
-               "SecureFileStore": {
-                       "className": "SecureFileStore",
-                       "extPath": "/BlueSpiceExtensions/SecureFileStore"
-               }
-       },
-       "callback": "SecureFileStore::onRegistration",
-       "MessagesDirs": {
-               "SecureFileStore": [
-                       "i18n"
-               ]
-       },
-       "AutoloadClasses": {
-               "SecureFileStore": "SecureFileStore.class.php"
-       },
-       "manifest_version": 1
-}
diff --git a/SecureFileStore/i18n/ast.json b/SecureFileStore/i18n/ast.json
deleted file mode 100644
index 2a4352c..0000000
--- a/SecureFileStore/i18n/ast.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Xuacu"
-               ]
-       },
-       "bs-securefilestore-desc": "Torga l'accesu ensin autorización a 
ficheros ya imaxes",
-       "prefs-securefilestore": "Almacén seguru de ficheros",
-       "bs-securefilestore-pref-defaultdisposition": "Amosar ficheros de mou 
predetermináu:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Navegador",
-       "bs-securefilestore-pref-defaultdisposition-external": "Esternu",
-       "bs-securefilestore-pref-dispositionattachment": "Tipos de ficheros 
esternos:",
-       "bs-securefilestore-pref-dispositioninline": "Tipos de ficheros del 
navegador:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Siempres amosar 
estos tipos de ficheru:"
-}
diff --git a/SecureFileStore/i18n/ba.json b/SecureFileStore/i18n/ba.json
deleted file mode 100644
index 800016d..0000000
--- a/SecureFileStore/i18n/ba.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sagan",
-                       "Азат Хәлилов"
-               ]
-       },
-       "bs-securefilestore-desc": "Файл һәм рәсемдәргә рөхсәтһеҙ инеүҙе тыя",
-       "prefs-securefilestore": "Файлдарҙы хәүефһеҙ һаҡлау",
-       "bs-securefilestore-pref-defaultdisposition": "Файлдарҙы элеккесә 
күрһәтеү",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Байҡарға",
-       "bs-securefilestore-pref-defaultdisposition-external": "Тышҡы",
-       "bs-securefilestore-pref-dispositionattachment": "Тышҡы файлдар тибы:",
-       "bs-securefilestore-pref-dispositioninline": "Файлдар тибын байҡау:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Һәр ваҡыт ошо 
типтағы файлдарҙы күрһәтергә"
-}
diff --git a/SecureFileStore/i18n/br.json b/SecureFileStore/i18n/br.json
deleted file mode 100644
index cba5f5e..0000000
--- a/SecureFileStore/i18n/br.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Fohanno"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition": "Diskwel ar restroù dre 
ziouer :",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Merdeer",
-       "bs-securefilestore-pref-defaultdisposition-external": "Diavaez",
-       "bs-securefilestore-pref-dispositionattachment": "Seurtoù restroù 
diavaez :",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Diskwel atav ar 
seurtoù restroù-mañ :"
-}
diff --git a/SecureFileStore/i18n/ce.json b/SecureFileStore/i18n/ce.json
deleted file mode 100644
index 353315c..0000000
--- a/SecureFileStore/i18n/ce.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Умар"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-brower": "Хьажар",
-       "bs-securefilestore-pref-defaultdisposition-external": "Арахьара",
-       "bs-securefilestore-pref-dispositioninline": "Файлийн тайпанаш хьажар:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Даиман гайта файлан 
хӀара тайпанаш:"
-}
diff --git a/SecureFileStore/i18n/de.json b/SecureFileStore/i18n/de.json
deleted file mode 100644
index b2a86ab..0000000
--- a/SecureFileStore/i18n/de.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Stephan Muggli <mug...@hallowelt.biz>",
-                       "Metalhead64"
-               ]
-       },
-       "bs-securefilestore-desc": "Ermöglicht die Verhinderung von nicht 
autorisiertem Zugriff auf Dateien und Bilder",
-       "prefs-securefilestore": "Gesicherte Dateiablage",
-       "bs-securefilestore-pref-defaultdisposition": "Dateien standardmäßig 
darstellen:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Browser",
-       "bs-securefilestore-pref-defaultdisposition-external": "Extern",
-       "bs-securefilestore-pref-dispositionattachment": "Externe Dateitypen:",
-       "bs-securefilestore-pref-dispositioninline": "Browser Dateitypen:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Diese Dateitypen 
immer anzeigen:"
-}
diff --git a/SecureFileStore/i18n/en-gb.json b/SecureFileStore/i18n/en-gb.json
deleted file mode 100644
index 40f7ccf..0000000
--- a/SecureFileStore/i18n/en-gb.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Shirayuki"
-               ]
-       },
-       "bs-securefilestore-desc": "Prevents unauthorised access to files and 
images"
-}
diff --git a/SecureFileStore/i18n/en.json b/SecureFileStore/i18n/en.json
deleted file mode 100644
index 923ff37..0000000
--- a/SecureFileStore/i18n/en.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Stephan Muggli <mug...@hallowelt.biz>"
-               ]
-       },
-       "bs-securefilestore-desc": "Prevents unauthorized access to files and 
images",
-       "prefs-securefilestore": "Secure file store",
-       "bs-securefilestore-pref-defaultdisposition": "Display files by 
default:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Browser",
-       "bs-securefilestore-pref-defaultdisposition-external": "External",
-       "bs-securefilestore-pref-dispositionattachment": "External file types:",
-       "bs-securefilestore-pref-dispositioninline": "Browser file types:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Always display these 
file types:"
-}
diff --git a/SecureFileStore/i18n/es.json b/SecureFileStore/i18n/es.json
deleted file mode 100644
index 1698614..0000000
--- a/SecureFileStore/i18n/es.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Macofe",
-                       "Fitoschido"
-               ]
-       },
-       "bs-securefilestore-desc": "Evita el acceso no autorizado a archivos e 
imágenes",
-       "prefs-securefilestore": "Almacén seguro de archivos",
-       "bs-securefilestore-pref-defaultdisposition": "Mostrar archivos de 
forma predeterminada:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Navegador",
-       "bs-securefilestore-pref-defaultdisposition-external": "Externo",
-       "bs-securefilestore-pref-dispositionattachment": "Tipos de archivo 
externos:",
-       "bs-securefilestore-pref-dispositioninline": "Tipos de archivo del 
navegador:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Siempre mostrar 
estos tipos de archivo:"
-}
diff --git a/SecureFileStore/i18n/eu.json b/SecureFileStore/i18n/eu.json
deleted file mode 100644
index 906e5cd..0000000
--- a/SecureFileStore/i18n/eu.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Mikel Ibaiba"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-brower": "Arakatzailea",
-       "bs-securefilestore-pref-defaultdisposition-external": "Kanpokoa",
-       "bs-securefilestore-pref-dispositionattachment": "Kanpoko artxibo 
motak:",
-       "bs-securefilestore-pref-dispositioninline": "Arakatzaile artxibo 
motak:"
-}
diff --git a/SecureFileStore/i18n/fa.json b/SecureFileStore/i18n/fa.json
deleted file mode 100644
index 2093fa3..0000000
--- a/SecureFileStore/i18n/fa.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Alirezaaa",
-                       "Huji"
-               ]
-       },
-       "bs-securefilestore-desc": "از دسترسی غیرمجاز به پرونده‌ها و تصاویر 
جلوگیری می‌کند",
-       "prefs-securefilestore": "محفوظ نگه‌داشتن ذخیره پرونده",
-       "bs-securefilestore-pref-defaultdisposition": "نمایش پرونده‌ها به طور 
پیش‌فرض:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "مرورگر",
-       "bs-securefilestore-pref-defaultdisposition-external": "خارجی",
-       "bs-securefilestore-pref-dispositionattachment": "انواع پرونده خارجی:",
-       "bs-securefilestore-pref-dispositioninline": "انواع پرونده مرورگر:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "همیشه نمایش‌دادن این 
انواع پرونده:"
-}
diff --git a/SecureFileStore/i18n/fr.json b/SecureFileStore/i18n/fr.json
deleted file mode 100644
index d94a39b..0000000
--- a/SecureFileStore/i18n/fr.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gomoko",
-                       "Ltrlg"
-               ]
-       },
-       "bs-securefilestore-desc": "Empêche l’accès non autorisé aux fichiers 
et aux images",
-       "prefs-securefilestore": "Stockage de fichiers sécurisé",
-       "bs-securefilestore-pref-defaultdisposition": "Afficher les fichiers 
par défaut :",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Navigateur",
-       "bs-securefilestore-pref-defaultdisposition-external": "Externe",
-       "bs-securefilestore-pref-dispositionattachment": "Types de fichier 
externes :",
-       "bs-securefilestore-pref-dispositioninline": "Types de fichier du 
navigateur :",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Toujours afficher 
ces types de fichier :"
-}
diff --git a/SecureFileStore/i18n/gl.json b/SecureFileStore/i18n/gl.json
deleted file mode 100644
index 413045b..0000000
--- a/SecureFileStore/i18n/gl.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Elisardojm"
-               ]
-       },
-       "bs-securefilestore-desc": "Impide o acceso non autorizado a ficheiros 
e imaxes",
-       "prefs-securefilestore": "Gardado seguro de ficheiros",
-       "bs-securefilestore-pref-defaultdisposition": "Mostrar ficheiros de 
forma predeterminada:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Navegador",
-       "bs-securefilestore-pref-defaultdisposition-external": "Externo",
-       "bs-securefilestore-pref-dispositionattachment": "Tipos de ficheiro 
externos:",
-       "bs-securefilestore-pref-dispositioninline": "Tipos de ficheiro do 
navegador:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Sempre mostrar estes 
tipos de ficheiro:"
-}
diff --git a/SecureFileStore/i18n/he.json b/SecureFileStore/i18n/he.json
deleted file mode 100644
index a7e3b62..0000000
--- a/SecureFileStore/i18n/he.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Guycn2"
-               ]
-       },
-       "bs-securefilestore-desc": "מניעת גישה לא מורשית לקבצים ותמונות"
-}
diff --git a/SecureFileStore/i18n/it.json b/SecureFileStore/i18n/it.json
deleted file mode 100644
index 8546b2a..0000000
--- a/SecureFileStore/i18n/it.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Selven"
-               ]
-       },
-       "bs-securefilestore-desc": "Impedisce l'accesso non autorizzato a file 
ed immagini",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Esplora",
-       "bs-securefilestore-pref-defaultdisposition-external": "Esterno",
-       "bs-securefilestore-pref-dispositioninline": "Esplora tipi di file:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Mostra sempre questi 
tipi di file:"
-}
diff --git a/SecureFileStore/i18n/ja.json b/SecureFileStore/i18n/ja.json
deleted file mode 100644
index 61a1b63..0000000
--- a/SecureFileStore/i18n/ja.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Shirayuki"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition": "既定でのファイルの表示:",
-       "bs-securefilestore-pref-dispositionattachment": "外部ファイルの種類:",
-       "bs-securefilestore-pref-dispositioninline": "ブラウザーで開くファイルの種類:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "常に表示するファイルの種類:"
-}
diff --git a/SecureFileStore/i18n/ko.json b/SecureFileStore/i18n/ko.json
deleted file mode 100644
index 5e00b44..0000000
--- a/SecureFileStore/i18n/ko.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Jerrykim306"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-brower": "탐색기"
-}
diff --git a/SecureFileStore/i18n/lb.json b/SecureFileStore/i18n/lb.json
deleted file mode 100644
index 2a967a3..0000000
--- a/SecureFileStore/i18n/lb.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Robby"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-brower": "Browser",
-       "bs-securefilestore-pref-defaultdisposition-external": "Extern",
-       "bs-securefilestore-pref-dispositionattachment": "Type vun externe 
Fichieren:"
-}
diff --git a/SecureFileStore/i18n/lt.json b/SecureFileStore/i18n/lt.json
deleted file mode 100644
index d56b9b9..0000000
--- a/SecureFileStore/i18n/lt.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Eitvys200"
-               ]
-       },
-       "bs-securefilestore-desc": "Apsaugo nuo neautorizuotos prieigos prie 
failų ir paveikslėlių",
-       "prefs-securefilestore": "Saugus failų laikymas",
-       "bs-securefilestore-pref-defaultdisposition": "Rodo failus pagal 
numatytą:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Naršyklė",
-       "bs-securefilestore-pref-defaultdisposition-external": "Išorinis",
-       "bs-securefilestore-pref-dispositionattachment": "Išoriniai failų 
tipai:",
-       "bs-securefilestore-pref-dispositioninline": "Naršyklės failų tipai:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Visada rodyti šiuos 
failų tipus:"
-}
diff --git a/SecureFileStore/i18n/mk.json b/SecureFileStore/i18n/mk.json
deleted file mode 100644
index e50f51c..0000000
--- a/SecureFileStore/i18n/mk.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Bjankuloski06"
-               ]
-       },
-       "bs-securefilestore-desc": "Спречува неовластен пристап до податотеки и 
слики",
-       "prefs-securefilestore": "Безбеден склад на податотеки",
-       "bs-securefilestore-pref-defaultdisposition": "Прикажувај ги 
податотеките по основно:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Прелистувач",
-       "bs-securefilestore-pref-defaultdisposition-external": "Надворешни",
-       "bs-securefilestore-pref-dispositionattachment": "Надворешни 
податотечни типови:",
-       "bs-securefilestore-pref-dispositioninline": "Прелистувачки податотечни 
типови:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Секогаш прикажува ги 
овие податотечни типови:"
-}
diff --git a/SecureFileStore/i18n/nb.json b/SecureFileStore/i18n/nb.json
deleted file mode 100644
index a8c53fb..0000000
--- a/SecureFileStore/i18n/nb.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Jon Harald Søby"
-               ]
-       },
-       "bs-securefilestore-desc": "Forhindrer uautorisert tilgang til filer og 
bilder",
-       "prefs-securefilestore": "Sikker filbevaring",
-       "bs-securefilestore-pref-defaultdisposition": "Vis filer som standard:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Nettleser",
-       "bs-securefilestore-pref-defaultdisposition-external": "Eksternt",
-       "bs-securefilestore-pref-dispositionattachment": "Eksterne filtyper:",
-       "bs-securefilestore-pref-dispositioninline": "Nettleserfiltyper:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Vis alltid disse 
filtypene:"
-}
diff --git a/SecureFileStore/i18n/nl.json b/SecureFileStore/i18n/nl.json
deleted file mode 100644
index 8ee9b85..0000000
--- a/SecureFileStore/i18n/nl.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Esketti"
-               ]
-       },
-       "bs-securefilestore-desc": "Voorkomt ongeoorloofde toegang tot 
bestanden en afbeeldingen",
-       "prefs-securefilestore": "Veilig bestanden opslaan",
-       "bs-securefilestore-pref-defaultdisposition": "Bestanden weergeven 
standaard:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Browser",
-       "bs-securefilestore-pref-defaultdisposition-external": "Extern",
-       "bs-securefilestore-pref-dispositionattachment": "Externe 
bestandstypen:",
-       "bs-securefilestore-pref-dispositioninline": "Browser bestandstypen:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Altijd de volgende 
bestandstypen weergeven:"
-}
diff --git a/SecureFileStore/i18n/pl.json b/SecureFileStore/i18n/pl.json
deleted file mode 100644
index 8191dd3..0000000
--- a/SecureFileStore/i18n/pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Chrumps"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-brower": "Przeglądarka"
-}
diff --git a/SecureFileStore/i18n/pt.json b/SecureFileStore/i18n/pt.json
deleted file mode 100644
index eb968a6..0000000
--- a/SecureFileStore/i18n/pt.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Vitorvicentevalente",
-                       "Hamilton Abreu"
-               ]
-       },
-       "bs-securefilestore-desc": "Previne o acesso sem autorização a 
ficheiros e imagens",
-       "prefs-securefilestore": "Armazenamento seguro de ficheiros",
-       "bs-securefilestore-pref-defaultdisposition": "Por padrão, mostrar 
ficheiros:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Navegador",
-       "bs-securefilestore-pref-defaultdisposition-external": "Externo",
-       "bs-securefilestore-pref-dispositionattachment": "Tipos de ficheiros 
externos:",
-       "bs-securefilestore-pref-dispositioninline": "Tipos de ficheiros de 
navegador:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Mostrar sempre este 
tipo de ficheiros:"
-}
diff --git a/SecureFileStore/i18n/qqq.json b/SecureFileStore/i18n/qqq.json
deleted file mode 100644
index f576a52..0000000
--- a/SecureFileStore/i18n/qqq.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Stephan Muggli <mug...@hallowelt.biz>",
-                       "Robby",
-                       "Shirayuki",
-                       "Liuxinyu970226"
-               ]
-       },
-       "bs-securefilestore-desc": "Used in 
[{{canonicalurl:Special:WikiAdmin|mode=ExtensionInfo}} 
Special:WikiAdmin?mode=ExtensionInfo], description of secure file store 
extension",
-       "prefs-securefilestore": "Used in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], headline for secure file store section in 
preferences.",
-       "bs-securefilestore-pref-defaultdisposition": "Option in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], label text for display files by default:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Option in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], label text for 
browser\n{{Identical|Browser}}",
-       "bs-securefilestore-pref-defaultdisposition-external": "Option in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], label text for 
external\n{{Identical|External}}",
-       "bs-securefilestore-pref-dispositionattachment": "Option in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], label text for external file types:",
-       "bs-securefilestore-pref-dispositioninline": "Option in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], label text for browser file types:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Option in 
[{{canonicalurl:Special:WikiAdmin|mode=Preferences}} 
Special:WikiAdmin?mode=Preferences], label text for always display these file 
types:"
-}
diff --git a/SecureFileStore/i18n/ru.json b/SecureFileStore/i18n/ru.json
deleted file mode 100644
index 8ba58a3..0000000
--- a/SecureFileStore/i18n/ru.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Meshkov.a",
-                       "Okras"
-               ]
-       },
-       "bs-securefilestore-desc": "Предотвращает несанкционированный доступ к 
файлам и изображениям",
-       "prefs-securefilestore": "Безопасное хранение файлов",
-       "bs-securefilestore-pref-defaultdisposition": "Отображение файлов по 
умолчанию:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Обзор",
-       "bs-securefilestore-pref-defaultdisposition-external": "Внешние",
-       "bs-securefilestore-pref-dispositionattachment": "Типы внешних файлов:",
-       "bs-securefilestore-pref-dispositioninline": "Обзор типов файлов:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Всегда отображать 
эти типы файлов:"
-}
diff --git a/SecureFileStore/i18n/sl.json b/SecureFileStore/i18n/sl.json
deleted file mode 100644
index 85d24f0..0000000
--- a/SecureFileStore/i18n/sl.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Skalcaa"
-               ]
-       },
-       "bs-securefilestore-desc": "Preprečuje nepooblaščen dostop do datotek 
in slik",
-       "prefs-securefilestore": "Varna shramba datotek",
-       "bs-securefilestore-pref-defaultdisposition": "Privzeto prikaži 
datoteke:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Brskalnik",
-       "bs-securefilestore-pref-defaultdisposition-external": "Zunanji",
-       "bs-securefilestore-pref-dispositionattachment": "Zunanje vrste 
datotek:",
-       "bs-securefilestore-pref-dispositioninline": "Brskalniške vrste 
datotek:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Vedno prikaži te 
vrste datotek:"
-}
diff --git a/SecureFileStore/i18n/sq.json b/SecureFileStore/i18n/sq.json
deleted file mode 100644
index 52c7023..0000000
--- a/SecureFileStore/i18n/sq.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Gertakapllani"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-external": "Jashtëm"
-}
diff --git a/SecureFileStore/i18n/sv.json b/SecureFileStore/i18n/sv.json
deleted file mode 100644
index 9e6a0c3..0000000
--- a/SecureFileStore/i18n/sv.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Jopparn",
-                       "Lokal Profil"
-               ]
-       },
-       "bs-securefilestore-desc": "Förhindrar obehörig åtkomst till filer och 
bilder",
-       "prefs-securefilestore": "Säker filförvaring",
-       "bs-securefilestore-pref-defaultdisposition": "Visa filer som 
standard:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Webbläsare",
-       "bs-securefilestore-pref-defaultdisposition-external": "Externa",
-       "bs-securefilestore-pref-dispositionattachment": "Externa filtyper:",
-       "bs-securefilestore-pref-dispositioninline": "Webbläsar-filtyper:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Visa alltid dessa 
filtyper:"
-}
diff --git a/SecureFileStore/i18n/tr.json b/SecureFileStore/i18n/tr.json
deleted file mode 100644
index 1cc7be0..0000000
--- a/SecureFileStore/i18n/tr.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Sayginer",
-                       "Violetanka"
-               ]
-       },
-       "bs-securefilestore-desc": "Dosya ve görüntülere yetkisiz erişimi 
engeller",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Tarayıcı",
-       "bs-securefilestore-pref-dispositioninline": "Tarayıcı dosya türleri:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Şu dosya türlerini 
her zaman görüntüle:"
-}
diff --git a/SecureFileStore/i18n/uk.json b/SecureFileStore/i18n/uk.json
deleted file mode 100644
index 10ff7e3..0000000
--- a/SecureFileStore/i18n/uk.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Ата",
-                       "Andriykopanytsia"
-               ]
-       },
-       "bs-securefilestore-desc": "Запобігає несанкціонованому доступу до 
файлів та зображень",
-       "prefs-securefilestore": "Захищене сховище файлів",
-       "bs-securefilestore-pref-defaultdisposition": "Відображення файлів за 
замовчуванням:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "Браузер",
-       "bs-securefilestore-pref-defaultdisposition-external": "Зовнішні",
-       "bs-securefilestore-pref-dispositionattachment": "Типів зовнішніх 
файлів:",
-       "bs-securefilestore-pref-dispositioninline": "Типи файлів браузера:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "Завжди відображати 
ці типи файлів:"
-}
diff --git a/SecureFileStore/i18n/zh-hans.json 
b/SecureFileStore/i18n/zh-hans.json
deleted file mode 100644
index 2c8b428..0000000
--- a/SecureFileStore/i18n/zh-hans.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Liuxinyu970226"
-               ]
-       },
-       "bs-securefilestore-desc": "阻止对文件和图片的未经授权的访问",
-       "prefs-securefilestore": "安全档案库",
-       "bs-securefilestore-pref-defaultdisposition": "默认显示文件:",
-       "bs-securefilestore-pref-defaultdisposition-brower": "浏览器",
-       "bs-securefilestore-pref-defaultdisposition-external": "外部",
-       "bs-securefilestore-pref-dispositionattachment": "外部文件类型:",
-       "bs-securefilestore-pref-dispositioninline": "浏览器文件类型:",
-       "bs-securefilestore-pref-fileextensionwhitelist": "总是显示这些文件类型:"
-}
diff --git a/SecureFileStore/i18n/zh-hant.json 
b/SecureFileStore/i18n/zh-hant.json
deleted file mode 100644
index c8a9bae..0000000
--- a/SecureFileStore/i18n/zh-hant.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-       "@metadata": {
-               "authors": [
-                       "Cwlin0416"
-               ]
-       },
-       "bs-securefilestore-pref-defaultdisposition-brower": "瀏覽器",
-       "bs-securefilestore-pref-defaultdisposition-external": "外部",
-       "bs-securefilestore-pref-dispositionattachment": "外部檔案類型:",
-       "bs-securefilestore-pref-dispositioninline": "瀏覽器檔案類型:"
-}

-- 
To view, visit https://gerrit.wikimedia.org/r/378661
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id8a90f96d59e3f1449b2038a3c465aa66a11054a
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: master
Gerrit-Owner: Robert Vogel <vo...@hallowelt.biz>
Gerrit-Reviewer: Ljonka <l.verhovs...@gmail.com>
Gerrit-Reviewer: Mglaser <gla...@hallowelt.biz>
Gerrit-Reviewer: Pwirth <wi...@hallowelt.biz>
Gerrit-Reviewer: Siebrand <siebr...@kitano.nl>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to