Merge pull request #1213 from PrivateBin/en-lang-selection

ensure English is always added to available languages, fixes #1208
This commit is contained in:
El RIDO 2023-12-15 07:03:06 +01:00 committed by GitHub
commit 3b17dfc6ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 5 deletions

View File

@ -1,5 +1,8 @@
# PrivateBin version history
## 1.6.2 (not yet released)
* FIXED: English not selectable when languageselection enabled (#1208)
## 1.6.1 (2023-12-04)
* ADDED: Right-To-Left (RTL) support for Arabic & Hebrew (#1174)
* CHANGED: Upgrading libraries to: DOMpurify 3.0.6

View File

@ -13,6 +13,7 @@
namespace PrivateBin\Data;
use Exception;
use GlobIterator;
use PrivateBin\Json;
/**
@ -394,7 +395,7 @@ class Filesystem extends AbstractData
public function getAllPastes()
{
$pastes = array();
foreach (new \GlobIterator($this->_path . self::PASTE_FILE_PATTERN) as $file) {
foreach (new GlobIterator($this->_path . self::PASTE_FILE_PATTERN) as $file) {
if ($file->isFile()) {
$pastes[] = $file->getBasename('.php');
}

View File

@ -12,6 +12,9 @@
namespace PrivateBin;
use AppendIterator;
use GlobIterator;
/**
* I18n
*
@ -193,10 +196,14 @@ class I18n
public static function getAvailableLanguages()
{
if (count(self::$_availableLanguages) == 0) {
$i18n = dir(self::_getPath());
while (false !== ($file = $i18n->read())) {
if (preg_match('/^([a-z]{2,3}).json$/', $file, $match) === 1) {
self::$_availableLanguages[] = $match[1];
self::$_availableLanguages[] = 'en'; // en.json is not part of the release archive
$languageIterator = new AppendIterator();
$languageIterator->append(new GlobIterator(self::_getPath('??.json')));
$languageIterator->append(new GlobIterator(self::_getPath('???.json'))); // for jbo
foreach ($languageIterator as $file) {
$language = $file->getBasename('.json');
if ($language != 'en') {
self::$_availableLanguages[] = $language;
}
}
}