mirror of
https://github.com/elyby/accounts.git
synced 2025-05-31 14:11:46 +05:30
Добавлена поддержка запоминания языка для аккаунта
Обновлена минимальная версия Yii2 Удалено немного хлама от Yii2 Advanced Исправлены некоторые тесты
This commit is contained in:
38
common/validators/LanguageValidator.php
Normal file
38
common/validators/LanguageValidator.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
namespace common\validators;
|
||||
|
||||
use Yii;
|
||||
use yii\validators\Validator;
|
||||
|
||||
class LanguageValidator extends Validator {
|
||||
|
||||
public $message = 'error.unsupported_language';
|
||||
|
||||
protected function validateValue($value) {
|
||||
if (empty($value)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$files = $this->getFilesNames();
|
||||
if (in_array($value, $files)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return [$this->message, []];
|
||||
}
|
||||
|
||||
protected function getFilesNames() {
|
||||
$files = array_values(array_filter(scandir($this->getFolderPath()), function(&$value) {
|
||||
return $value !== '..' && $value !== '.';
|
||||
}));
|
||||
|
||||
return array_map(function($value) {
|
||||
return basename($value, '.json');
|
||||
}, $files);
|
||||
}
|
||||
|
||||
protected function getFolderPath() {
|
||||
return Yii::getAlias('@frontend/src/i18n');
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user