This commit is contained in:
Dennis Eichhorn 2023-10-09 22:06:37 +00:00
parent 51fd01adab
commit 87d44f7e97
34 changed files with 271 additions and 178 deletions

19
Admin/Hooks/Cli.php Normal file
View File

@ -0,0 +1,19 @@
<?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package Modules\Admin
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1);
return [
'Module:Admin-encryption-change' => [
'callback' => ['\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook'],
],
];

View File

@ -309,7 +309,7 @@ final class Installer extends InstallerAbstract
$module->apiSettingsCreate($request, $response); $module->apiSettingsCreate($request, $response);
$responseData = $response->get(''); $responseData = $response->getData('');
if (!\is_array($responseData)) { if (!\is_array($responseData)) {
return []; return [];
} }

View File

@ -16,4 +16,10 @@ return [
'verb' => RouteVerb::ANY, 'verb' => RouteVerb::ANY,
], ],
], ],
'^/admin/encryption/change.*$' => [
[
'dest' => '\Modules\Admin\Controller\CliController:cliEncryptionChange',
'verb' => RouteVerb::ANY,
],
],
]; ];

View File

@ -59,7 +59,6 @@ use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestMethod; use phpOMS\Message\Http\RequestMethod;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Message\Http\Rest; use phpOMS\Message\Http\Rest;
use phpOMS\Message\Mail\Email;
use phpOMS\Message\Mail\MailHandler; use phpOMS\Message\Mail\MailHandler;
use phpOMS\Message\Mail\Smtp; use phpOMS\Message\Mail\Smtp;
use phpOMS\Message\Mail\SubmitType; use phpOMS\Message\Mail\SubmitType;

View File

@ -14,9 +14,11 @@ declare(strict_types=1);
namespace Modules\Admin\Controller; namespace Modules\Admin\Controller;
use Model\SettingMapper;
use phpOMS\Contract\RenderableInterface; use phpOMS\Contract\RenderableInterface;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
use phpOMS\Security\EncryptionHelper;
use phpOMS\Views\View; use phpOMS\Views\View;
/** /**
@ -76,9 +78,9 @@ final class CliController extends Controller
public function cliRunEvent(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface public function cliRunEvent(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
{ {
$event = $this->app->eventManager->triggerSimilar( $event = $this->app->eventManager->triggerSimilar(
$request->getDataString('g') ?? '', $request->getDataString('-g') ?? '',
$request->getDataString('i') ?? '', $request->getDataString('-i') ?? '',
$request->getDataJson('d') $request->getDataJson('-d')
); );
$view = new View($this->app->l11nManager, $request, $response); $view = new View($this->app->l11nManager, $request, $response);
@ -88,4 +90,68 @@ final class CliController extends Controller
return $view; return $view;
} }
/**
* Find and run events
*
* This is mostly used by the web applications to offload searching for event hooks and of course running the events which might take a long time for complex events.
*
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param array $data Generic data
*
* @return RenderableInterface Response can be rendered
*
* @since 1.0.0
* @codeCoverageIgnore
*/
public function cliEncryptionChange(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
{
$event = $this->app->eventManager->trigger(
'Module:' . self::NAME . '-encryption-change', '', [
'old' => $request->getDataString('-old') ?? '',
'new' => $request->getDataString('-new') ?? '',
]
);
$view = new View($this->app->l11nManager, $request, $response);
$view->setTemplate('/Modules/Admin/Theme/Cli/encryption-change');
$view->data['event'] = $event;
return $view;
}
/**
* Api method to make a call to the cli app
*
* @param mixed ...$data Generic data
*
* @return void
*
* @api
*
* @since 1.0.0
*/
public function runEncryptionChangeFromHook(mixed ...$data) : void
{
// @todo: start read only mode
$mapper = SettingMapper::yield()
->where('isEncrypted', true);
foreach ($mapper->execute() as $setting) {
$decrypted = empty($data['old']) || empty($setting->content)
? $setting->content
: EncryptionHelper::decryptShared($setting->content ?? '', $data['old']);
$encrypted = empty($data['new']) || empty($decrypted)
? $decrypted
: EncryptionHelper::encryptShared($decrypted ?? '', $data['new']);
$setting->content = $encrypted;
SettingMapper::update()->execute($setting);
}
// @todo: end read only mode
}
} }

View File

@ -1,7 +1,5 @@
# User Content # User Content
This Admin software module provides powerful tools for managing user accounts and groups, controlling permissions, installing and configuring modules, as well as managing general application settings. It includes a user-friendly interface that makes creating user accounts and groups, setting up permissions and modules, and changing system settings easy and efficient.
* [Settings]({%}&page=Help/settings) * [Settings]({%}&page=Help/settings)
* [Accounts]({%}&page=Help/accounts) * [Accounts]({%}&page=Help/accounts)
* [Groups]({%}&page=Help/groups) * [Groups]({%}&page=Help/groups)

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'حذف', 'Delete' => 'حذف',
'Description' => 'وصف', 'Description' => 'وصف',
'Design' => 'تصميم', 'Design' => 'تصميم',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'إلي.', 'Ele' => 'إلي.',
'Element' => 'جزء', 'Element' => 'جزء',
'Email' => 'بريد الالكتروني', 'Email' => 'بريد الالكتروني',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'اسم المنظمة', 'OrganizationName' => 'اسم المنظمة',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'صفحة', 'Page' => 'صفحة',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'الأبوين', 'Parent' => 'الأبوين',
'Parents' => 'آباء', 'Parents' => 'آباء',
'Password' => 'كلمة المرور', 'Password' => 'كلمة المرور',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'اقرأ', 'Read' => 'اقرأ',
'Release' => 'يطلق', 'Release' => 'يطلق',
'Reset' => 'إعادة ضبط', 'Reset' => 'إعادة ضبط',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'ادارة', 'Running' => 'ادارة',
'Sea' => 'لحر', 'Sea' => 'لحر',
'Search' => 'بحث', 'Search' => 'بحث',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'تحديث', 'Update' => 'تحديث',
'Uppercase' => 'الأحرف الكبيرة', 'Uppercase' => 'الأحرف الكبيرة',
'Username' => 'اسم المستخدم', 'Username' => 'اسم المستخدم',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'الإصدار', 'Version' => 'الإصدار',
'VeryFast' => 'سريع جدا', 'VeryFast' => 'سريع جدا',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Vymazat', 'Delete' => 'Vymazat',
'Description' => 'Popis', 'Description' => 'Popis',
'Design' => 'Design', 'Design' => 'Design',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Živel', 'Element' => 'Živel',
'Email' => 'E-mailem', 'Email' => 'E-mailem',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Název organizace', 'OrganizationName' => 'Název organizace',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Strana', 'Page' => 'Strana',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Rodič', 'Parent' => 'Rodič',
'Parents' => 'Rodiče', 'Parents' => 'Rodiče',
'Password' => 'Heslo', 'Password' => 'Heslo',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Číst', 'Read' => 'Číst',
'Release' => 'Uvolnění', 'Release' => 'Uvolnění',
'Reset' => 'Resetovat', 'Reset' => 'Resetovat',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Běh', 'Running' => 'Běh',
'Sea' => 'Moře', 'Sea' => 'Moře',
'Search' => 'Vyhledávání', 'Search' => 'Vyhledávání',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Aktualizace', 'Update' => 'Aktualizace',
'Uppercase' => 'Velká písmena', 'Uppercase' => 'Velká písmena',
'Username' => 'Uživatelské jméno', 'Username' => 'Uživatelské jméno',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Verze', 'Version' => 'Verze',
'VeryFast' => 'Velmi rychle', 'VeryFast' => 'Velmi rychle',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Delete.', 'Delete' => 'Delete.',
'Description' => 'Beskrivelse', 'Description' => 'Beskrivelse',
'Design' => 'Design', 'Design' => 'Design',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Element', 'Element' => 'Element',
'Email' => 'Email.', 'Email' => 'Email.',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Organisationens navn', 'OrganizationName' => 'Organisationens navn',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Side', 'Page' => 'Side',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Forælder', 'Parent' => 'Forælder',
'Parents' => 'Forældre', 'Parents' => 'Forældre',
'Password' => 'Adgangskode', 'Password' => 'Adgangskode',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Læs', 'Read' => 'Læs',
'Release' => 'Frigøre', 'Release' => 'Frigøre',
'Reset' => 'Nulstil', 'Reset' => 'Nulstil',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Kørsel', 'Running' => 'Kørsel',
'Sea' => 'Hav', 'Sea' => 'Hav',
'Search' => 'Søg', 'Search' => 'Søg',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'UPDATE.', 'Update' => 'UPDATE.',
'Uppercase' => 'Store bogstaver', 'Uppercase' => 'Store bogstaver',
'Username' => 'Brugernavn.', 'Username' => 'Brugernavn.',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Version', 'Version' => 'Version',
'VeryFast' => 'Meget hurtig', 'VeryFast' => 'Meget hurtig',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Löschen', 'Delete' => 'Löschen',
'Description' => 'Beschreibung', 'Description' => 'Beschreibung',
'Design' => 'Entwurf', 'Design' => 'Entwurf',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Element', 'Element' => 'Element',
'Email' => 'Email', 'Email' => 'Email',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Organisationsname', 'OrganizationName' => 'Organisationsname',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Buchseite', 'Page' => 'Buchseite',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Elternteil', 'Parent' => 'Elternteil',
'Parents' => 'Eltern', 'Parents' => 'Eltern',
'Password' => 'Passwort', 'Password' => 'Passwort',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Lesen', 'Read' => 'Lesen',
'Release' => 'Freisetzung', 'Release' => 'Freisetzung',
'Reset' => 'Zurücksetzen', 'Reset' => 'Zurücksetzen',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Betrieb', 'Running' => 'Betrieb',
'Sea' => 'Meer', 'Sea' => 'Meer',
'Search' => 'Suche', 'Search' => 'Suche',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Aktualisieren', 'Update' => 'Aktualisieren',
'Uppercase' => 'In Großbuchstaben.', 'Uppercase' => 'In Großbuchstaben.',
'Username' => 'Nutzername', 'Username' => 'Nutzername',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Ausführung', 'Version' => 'Ausführung',
'VeryFast' => 'Sehr schnell', 'VeryFast' => 'Sehr schnell',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Διαγράφω', 'Delete' => 'Διαγράφω',
'Description' => 'Περιγραφή', 'Description' => 'Περιγραφή',
'Design' => 'Σχέδιο', 'Design' => 'Σχέδιο',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Στοιχείο', 'Element' => 'Στοιχείο',
'Email' => 'ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ', 'Email' => 'ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Όνομα Οργανισμού', 'OrganizationName' => 'Όνομα Οργανισμού',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Σελίδα', 'Page' => 'Σελίδα',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Μητρική εταιρεία', 'Parent' => 'Μητρική εταιρεία',
'Parents' => 'Γονείς', 'Parents' => 'Γονείς',
'Password' => 'Κωδικός πρόσβασης', 'Password' => 'Κωδικός πρόσβασης',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Ανάγνωση', 'Read' => 'Ανάγνωση',
'Release' => 'Ελευθέρωση', 'Release' => 'Ελευθέρωση',
'Reset' => 'Επαναφορά', 'Reset' => 'Επαναφορά',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Τρέξιμο', 'Running' => 'Τρέξιμο',
'Sea' => 'Θάλασσα', 'Sea' => 'Θάλασσα',
'Search' => 'Αναζήτηση', 'Search' => 'Αναζήτηση',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Εκσυγχρονίζω', 'Update' => 'Εκσυγχρονίζω',
'Uppercase' => 'Κεφαλαία', 'Uppercase' => 'Κεφαλαία',
'Username' => 'Όνομα χρήστη', 'Username' => 'Όνομα χρήστη',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Εκδοχή', 'Version' => 'Εκδοχή',
'VeryFast' => 'Πολύ γρήγορα', 'VeryFast' => 'Πολύ γρήγορα',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Borrar', 'Delete' => 'Borrar',
'Description' => 'Descripción', 'Description' => 'Descripción',
'Design' => 'Diseño', 'Design' => 'Diseño',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Elemento', 'Element' => 'Elemento',
'Email' => 'Correo electrónico', 'Email' => 'Correo electrónico',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Nombre de la Organización', 'OrganizationName' => 'Nombre de la Organización',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Página', 'Page' => 'Página',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Padre', 'Parent' => 'Padre',
'Parents' => 'Padres', 'Parents' => 'Padres',
'Password' => 'Contraseña', 'Password' => 'Contraseña',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Leer', 'Read' => 'Leer',
'Release' => 'Liberar', 'Release' => 'Liberar',
'Reset' => 'Reiniciar', 'Reset' => 'Reiniciar',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Corriendo', 'Running' => 'Corriendo',
'Sea' => 'Mar', 'Sea' => 'Mar',
'Search' => 'Búsqueda', 'Search' => 'Búsqueda',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Actualizar', 'Update' => 'Actualizar',
'Uppercase' => 'En mayúsculas', 'Uppercase' => 'En mayúsculas',
'Username' => 'Nombre de usuario', 'Username' => 'Nombre de usuario',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Versión', 'Version' => 'Versión',
'VeryFast' => 'Muy rapido', 'VeryFast' => 'Muy rapido',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Poistaa', 'Delete' => 'Poistaa',
'Description' => 'Kuvaus', 'Description' => 'Kuvaus',
'Design' => 'Design', 'Design' => 'Design',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Elementti', 'Element' => 'Elementti',
'Email' => 'Sähköposti', 'Email' => 'Sähköposti',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Organisaation nimi', 'OrganizationName' => 'Organisaation nimi',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Sivu', 'Page' => 'Sivu',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Vanhempi', 'Parent' => 'Vanhempi',
'Parents' => 'Vanhemmat', 'Parents' => 'Vanhemmat',
'Password' => 'Salasana', 'Password' => 'Salasana',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Lukea', 'Read' => 'Lukea',
'Release' => 'Vapauttaa', 'Release' => 'Vapauttaa',
'Reset' => 'Nollata', 'Reset' => 'Nollata',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Käynnissä oleva', 'Running' => 'Käynnissä oleva',
'Sea' => 'Meri', 'Sea' => 'Meri',
'Search' => 'Hae', 'Search' => 'Hae',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Päivittää', 'Update' => 'Päivittää',
'Uppercase' => 'Isot kirjaimet', 'Uppercase' => 'Isot kirjaimet',
'Username' => 'Käyttäjätunnus', 'Username' => 'Käyttäjätunnus',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Versio', 'Version' => 'Versio',
'VeryFast' => 'Erittäin nopea', 'VeryFast' => 'Erittäin nopea',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Supprimer', 'Delete' => 'Supprimer',
'Description' => 'La description', 'Description' => 'La description',
'Design' => 'Conception', 'Design' => 'Conception',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Élément', 'Element' => 'Élément',
'Email' => 'E-mail', 'Email' => 'E-mail',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'nom de l\'organisation', 'OrganizationName' => 'nom de l\'organisation',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Page', 'Page' => 'Page',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Parent', 'Parent' => 'Parent',
'Parents' => 'Parents', 'Parents' => 'Parents',
'Password' => 'Mot de passe', 'Password' => 'Mot de passe',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Lire', 'Read' => 'Lire',
'Release' => 'Libérer', 'Release' => 'Libérer',
'Reset' => 'Réinitialiser', 'Reset' => 'Réinitialiser',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Fonctionnement', 'Running' => 'Fonctionnement',
'Sea' => 'Mer', 'Sea' => 'Mer',
'Search' => 'Chercher', 'Search' => 'Chercher',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Mettre à jour', 'Update' => 'Mettre à jour',
'Uppercase' => 'Majuscule', 'Uppercase' => 'Majuscule',
'Username' => 'Nom d\'utilisateur', 'Username' => 'Nom d\'utilisateur',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Version', 'Version' => 'Version',
'VeryFast' => 'Très vite', 'VeryFast' => 'Très vite',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Töröl', 'Delete' => 'Töröl',
'Description' => 'Leírás', 'Description' => 'Leírás',
'Design' => 'Tervezés', 'Design' => 'Tervezés',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Elem', 'Element' => 'Elem',
'Email' => 'Email', 'Email' => 'Email',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Szervezet neve', 'OrganizationName' => 'Szervezet neve',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Oldal', 'Page' => 'Oldal',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Szülő', 'Parent' => 'Szülő',
'Parents' => 'Szülők', 'Parents' => 'Szülők',
'Password' => 'Jelszó', 'Password' => 'Jelszó',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Olvas', 'Read' => 'Olvas',
'Release' => 'Kiadás', 'Release' => 'Kiadás',
'Reset' => 'Visszaállítás', 'Reset' => 'Visszaállítás',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Futás', 'Running' => 'Futás',
'Sea' => 'Tenger', 'Sea' => 'Tenger',
'Search' => 'Keresés', 'Search' => 'Keresés',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Frissítés', 'Update' => 'Frissítés',
'Uppercase' => 'Nagybetűs', 'Uppercase' => 'Nagybetűs',
'Username' => 'Felhasználónév', 'Username' => 'Felhasználónév',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Változat', 'Version' => 'Változat',
'VeryFast' => 'Nagyon gyors', 'VeryFast' => 'Nagyon gyors',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Eliminare', 'Delete' => 'Eliminare',
'Description' => 'Descrizione', 'Description' => 'Descrizione',
'Design' => 'Design', 'Design' => 'Design',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Elemento', 'Element' => 'Elemento',
'Email' => 'E-mail', 'Email' => 'E-mail',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Nome dell\'organizzazione', 'OrganizationName' => 'Nome dell\'organizzazione',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Pagina', 'Page' => 'Pagina',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Genitore', 'Parent' => 'Genitore',
'Parents' => 'Genitori', 'Parents' => 'Genitori',
'Password' => 'Parola d\'ordine', 'Password' => 'Parola d\'ordine',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Leggi', 'Read' => 'Leggi',
'Release' => 'Pubblicazione', 'Release' => 'Pubblicazione',
'Reset' => 'Ripristina', 'Reset' => 'Ripristina',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'In esecuzione', 'Running' => 'In esecuzione',
'Sea' => 'Mare', 'Sea' => 'Mare',
'Search' => 'Ricerca', 'Search' => 'Ricerca',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Aggiornare', 'Update' => 'Aggiornare',
'Uppercase' => 'Maiuscolo', 'Uppercase' => 'Maiuscolo',
'Username' => 'Nome utente', 'Username' => 'Nome utente',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Versione', 'Version' => 'Versione',
'VeryFast' => 'Molto veloce', 'VeryFast' => 'Molto veloce',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => '消去', 'Delete' => '消去',
'Description' => '説明', 'Description' => '説明',
'Design' => '設計', 'Design' => '設計',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'エレ', 'Ele' => 'エレ',
'Element' => 'エレメント', 'Element' => 'エレメント',
'Email' => 'Eメール', 'Email' => 'Eメール',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => '組織名', 'OrganizationName' => '組織名',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'ページ', 'Page' => 'ページ',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => '親', 'Parent' => '親',
'Parents' => '両親', 'Parents' => '両親',
'Password' => 'パスワード', 'Password' => 'パスワード',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => '読む', 'Read' => '読む',
'Release' => 'リリース', 'Release' => 'リリース',
'Reset' => 'リセットする', 'Reset' => 'リセットする',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'ランニング', 'Running' => 'ランニング',
'Sea' => '海', 'Sea' => '海',
'Search' => '検索', 'Search' => '検索',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'アップデート', 'Update' => 'アップデート',
'Uppercase' => '大文字', 'Uppercase' => '大文字',
'Username' => 'username.', 'Username' => 'username.',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'バージョン', 'Version' => 'バージョン',
'VeryFast' => 'とても早い', 'VeryFast' => 'とても早い',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => '삭제', 'Delete' => '삭제',
'Description' => '설명', 'Description' => '설명',
'Design' => '설계', 'Design' => '설계',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => '엘.', 'Ele' => '엘.',
'Element' => '요소', 'Element' => '요소',
'Email' => '이메일', 'Email' => '이메일',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => '조직 이름', 'OrganizationName' => '조직 이름',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => '페이지', 'Page' => '페이지',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => '부모의', 'Parent' => '부모의',
'Parents' => '부모', 'Parents' => '부모',
'Password' => '비밀번호', 'Password' => '비밀번호',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => '읽다', 'Read' => '읽다',
'Release' => '풀어 주다', 'Release' => '풀어 주다',
'Reset' => '초기화', 'Reset' => '초기화',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => '달리기', 'Running' => '달리기',
'Sea' => '바다', 'Sea' => '바다',
'Search' => '찾다', 'Search' => '찾다',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => '업데이트', 'Update' => '업데이트',
'Uppercase' => '대문자', 'Uppercase' => '대문자',
'Username' => '사용자 이름', 'Username' => '사용자 이름',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => '버전', 'Version' => '버전',
'VeryFast' => '매우 빨리', 'VeryFast' => '매우 빨리',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Slett', 'Delete' => 'Slett',
'Description' => 'Beskrivelse', 'Description' => 'Beskrivelse',
'Design' => 'Design', 'Design' => 'Design',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Element', 'Element' => 'Element',
'Email' => 'E-post', 'Email' => 'E-post',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Organisasjonsnavn', 'OrganizationName' => 'Organisasjonsnavn',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Side', 'Page' => 'Side',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Foreldre', 'Parent' => 'Foreldre',
'Parents' => 'Foreldre', 'Parents' => 'Foreldre',
'Password' => 'Passord', 'Password' => 'Passord',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Lese', 'Read' => 'Lese',
'Release' => 'Utgivelse', 'Release' => 'Utgivelse',
'Reset' => 'Nullstille', 'Reset' => 'Nullstille',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Løping', 'Running' => 'Løping',
'Sea' => 'Hav', 'Sea' => 'Hav',
'Search' => 'Søk', 'Search' => 'Søk',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Oppdater', 'Update' => 'Oppdater',
'Uppercase' => 'Stor bokstav', 'Uppercase' => 'Stor bokstav',
'Username' => 'Brukernavn', 'Username' => 'Brukernavn',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Versjon', 'Version' => 'Versjon',
'VeryFast' => 'Veldig fort', 'VeryFast' => 'Veldig fort',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Kasować', 'Delete' => 'Kasować',
'Description' => 'Opis', 'Description' => 'Opis',
'Design' => 'Projekt', 'Design' => 'Projekt',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Element', 'Element' => 'Element',
'Email' => 'E-mail', 'Email' => 'E-mail',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Nazwa organizacji', 'OrganizationName' => 'Nazwa organizacji',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Strona', 'Page' => 'Strona',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Rodzic', 'Parent' => 'Rodzic',
'Parents' => 'Rodzice', 'Parents' => 'Rodzice',
'Password' => 'Hasło', 'Password' => 'Hasło',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Czytać', 'Read' => 'Czytać',
'Release' => 'Uwolnienie', 'Release' => 'Uwolnienie',
'Reset' => 'Resetowanie', 'Reset' => 'Resetowanie',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Bieganie', 'Running' => 'Bieganie',
'Sea' => 'Morze', 'Sea' => 'Morze',
'Search' => 'Szukaj', 'Search' => 'Szukaj',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Aktualizacja', 'Update' => 'Aktualizacja',
'Uppercase' => 'Duże litery', 'Uppercase' => 'Duże litery',
'Username' => 'Nazwa użytkownika', 'Username' => 'Nazwa użytkownika',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Wersja', 'Version' => 'Wersja',
'VeryFast' => 'Bardzo szybki', 'VeryFast' => 'Bardzo szybki',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Excluir', 'Delete' => 'Excluir',
'Description' => 'Descrição', 'Description' => 'Descrição',
'Design' => 'Projeto', 'Design' => 'Projeto',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Elemento', 'Element' => 'Elemento',
'Email' => 'E-mail', 'Email' => 'E-mail',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Nome da organização', 'OrganizationName' => 'Nome da organização',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Página', 'Page' => 'Página',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Pai', 'Parent' => 'Pai',
'Parents' => 'Pais', 'Parents' => 'Pais',
'Password' => 'Senha', 'Password' => 'Senha',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Ler', 'Read' => 'Ler',
'Release' => 'Lançamento', 'Release' => 'Lançamento',
'Reset' => 'Redefinir', 'Reset' => 'Redefinir',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Corrida', 'Running' => 'Corrida',
'Sea' => 'Mar', 'Sea' => 'Mar',
'Search' => 'Procurar', 'Search' => 'Procurar',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Atualizar', 'Update' => 'Atualizar',
'Uppercase' => 'Maiúsculas', 'Uppercase' => 'Maiúsculas',
'Username' => 'Nome do usuário', 'Username' => 'Nome do usuário',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Versão', 'Version' => 'Versão',
'VeryFast' => 'Muito rápido', 'VeryFast' => 'Muito rápido',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Удалить', 'Delete' => 'Удалить',
'Description' => 'Описание', 'Description' => 'Описание',
'Design' => 'Дизайн', 'Design' => 'Дизайн',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Эль', 'Ele' => 'Эль',
'Element' => 'Элемент', 'Element' => 'Элемент',
'Email' => 'Электронное письмо', 'Email' => 'Электронное письмо',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Название организации', 'OrganizationName' => 'Название организации',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Страница', 'Page' => 'Страница',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Родитель', 'Parent' => 'Родитель',
'Parents' => 'Родители', 'Parents' => 'Родители',
'Password' => 'Пароль', 'Password' => 'Пароль',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Читать', 'Read' => 'Читать',
'Release' => 'Выпуск', 'Release' => 'Выпуск',
'Reset' => 'Перезагрузить', 'Reset' => 'Перезагрузить',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Бег', 'Running' => 'Бег',
'Sea' => 'Море', 'Sea' => 'Море',
'Search' => 'Поиск', 'Search' => 'Поиск',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Обновлять', 'Update' => 'Обновлять',
'Uppercase' => 'Верхний регистр', 'Uppercase' => 'Верхний регистр',
'Username' => 'Имя пользователя', 'Username' => 'Имя пользователя',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Версия', 'Version' => 'Версия',
'VeryFast' => 'Очень быстро', 'VeryFast' => 'Очень быстро',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Radera', 'Delete' => 'Radera',
'Description' => 'Beskrivning', 'Description' => 'Beskrivning',
'Design' => 'Design', 'Design' => 'Design',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Element', 'Element' => 'Element',
'Email' => 'E-post', 'Email' => 'E-post',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'organisations namn', 'OrganizationName' => 'organisations namn',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Sida', 'Page' => 'Sida',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Förälder', 'Parent' => 'Förälder',
'Parents' => 'Föräldrar', 'Parents' => 'Föräldrar',
'Password' => 'Lösenord', 'Password' => 'Lösenord',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Läsa', 'Read' => 'Läsa',
'Release' => 'Släpp', 'Release' => 'Släpp',
'Reset' => 'Återställa', 'Reset' => 'Återställa',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Löpning', 'Running' => 'Löpning',
'Sea' => 'Hav', 'Sea' => 'Hav',
'Search' => 'Sök', 'Search' => 'Sök',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Uppdatering', 'Update' => 'Uppdatering',
'Uppercase' => 'Versal', 'Uppercase' => 'Versal',
'Username' => 'Användarnamn', 'Username' => 'Användarnamn',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Version', 'Version' => 'Version',
'VeryFast' => 'Väldigt snabbt', 'VeryFast' => 'Väldigt snabbt',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'ลบ', 'Delete' => 'ลบ',
'Description' => 'คำอธิบาย', 'Description' => 'คำอธิบาย',
'Design' => 'ออกแบบ', 'Design' => 'ออกแบบ',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'ele', 'Ele' => 'ele',
'Element' => 'องค์ประกอบ', 'Element' => 'องค์ประกอบ',
'Email' => 'อีเมล', 'Email' => 'อีเมล',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'ชื่อองค์กร', 'OrganizationName' => 'ชื่อองค์กร',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'หน้าหนังสือ', 'Page' => 'หน้าหนังสือ',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'พ่อแม่', 'Parent' => 'พ่อแม่',
'Parents' => 'ผู้ปกครอง', 'Parents' => 'ผู้ปกครอง',
'Password' => 'รหัสผ่าน', 'Password' => 'รหัสผ่าน',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'อ่าน', 'Read' => 'อ่าน',
'Release' => 'ปล่อย', 'Release' => 'ปล่อย',
'Reset' => 'รีเซ็ต', 'Reset' => 'รีเซ็ต',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'วิ่ง', 'Running' => 'วิ่ง',
'Sea' => 'ทะเล', 'Sea' => 'ทะเล',
'Search' => 'ค้นหา', 'Search' => 'ค้นหา',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'อัปเดต', 'Update' => 'อัปเดต',
'Uppercase' => 'ตัวพิมพ์ใหญ่', 'Uppercase' => 'ตัวพิมพ์ใหญ่',
'Username' => 'ชื่อผู้ใช้', 'Username' => 'ชื่อผู้ใช้',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'รุ่น', 'Version' => 'รุ่น',
'VeryFast' => 'เร็วมาก', 'VeryFast' => 'เร็วมาก',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Silmek', 'Delete' => 'Silmek',
'Description' => 'Açıklama', 'Description' => 'Açıklama',
'Design' => 'Tasarım', 'Design' => 'Tasarım',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Ele.', 'Ele' => 'Ele.',
'Element' => 'Eleman', 'Element' => 'Eleman',
'Email' => 'E-posta', 'Email' => 'E-posta',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Kuruluş Adı', 'OrganizationName' => 'Kuruluş Adı',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Sayfa', 'Page' => 'Sayfa',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Ebeveyn', 'Parent' => 'Ebeveyn',
'Parents' => 'Ebeveynler', 'Parents' => 'Ebeveynler',
'Password' => 'Parola', 'Password' => 'Parola',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Okumak', 'Read' => 'Okumak',
'Release' => 'Serbest bırakmak', 'Release' => 'Serbest bırakmak',
'Reset' => 'Sıfırla', 'Reset' => 'Sıfırla',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Koşma', 'Running' => 'Koşma',
'Sea' => 'Deniz', 'Sea' => 'Deniz',
'Search' => 'Aramak', 'Search' => 'Aramak',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Güncelleme', 'Update' => 'Güncelleme',
'Uppercase' => 'Büyük harf', 'Uppercase' => 'Büyük harf',
'Username' => 'Kullanıcı adı', 'Username' => 'Kullanıcı adı',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Sürüm', 'Version' => 'Sürüm',
'VeryFast' => 'Çok hızlı', 'VeryFast' => 'Çok hızlı',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => 'Видаляти', 'Delete' => 'Видаляти',
'Description' => 'Опис', 'Description' => 'Опис',
'Design' => 'Конструкція', 'Design' => 'Конструкція',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'Le.', 'Ele' => 'Le.',
'Element' => 'Елемент', 'Element' => 'Елемент',
'Email' => 'Електронна пошта', 'Email' => 'Електронна пошта',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => 'Назва організації', 'OrganizationName' => 'Назва організації',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => 'Сторінка', 'Page' => 'Сторінка',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => 'Батько', 'Parent' => 'Батько',
'Parents' => 'Батьки', 'Parents' => 'Батьки',
'Password' => 'Пароль', 'Password' => 'Пароль',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => 'Прочитати', 'Read' => 'Прочитати',
'Release' => 'Випуск', 'Release' => 'Випуск',
'Reset' => 'Скидання', 'Reset' => 'Скидання',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => 'Запуск', 'Running' => 'Запуск',
'Sea' => 'Море', 'Sea' => 'Море',
'Search' => 'Пошук', 'Search' => 'Пошук',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => 'Оновлення', 'Update' => 'Оновлення',
'Uppercase' => 'Верхній', 'Uppercase' => 'Верхній',
'Username' => 'Ім\'я користувача', 'Username' => 'Ім\'я користувача',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => 'Версія', 'Version' => 'Версія',
'VeryFast' => 'Дуже швидко', 'VeryFast' => 'Дуже швидко',

View File

@ -52,7 +52,7 @@ return ['Admin' => [
'Delete' => '删除', 'Delete' => '删除',
'Description' => '描述', 'Description' => '描述',
'Design' => '设计', 'Design' => '设计',
'Destination' => '#VALUE!', 'Destination' => '',
'Ele' => 'ele。', 'Ele' => 'ele。',
'Element' => '元素', 'Element' => '元素',
'Email' => '电子邮件', 'Email' => '电子邮件',
@ -109,7 +109,7 @@ return ['Admin' => [
'OrganizationName' => '机构名称', 'OrganizationName' => '机构名称',
'OwnPermission' => '', 'OwnPermission' => '',
'Page' => '页', 'Page' => '页',
'Pages' => '#VALUE!', 'Pages' => '',
'Parent' => '父母', 'Parent' => '父母',
'Parents' => '父母', 'Parents' => '父母',
'Password' => '密码', 'Password' => '密码',
@ -127,8 +127,8 @@ return ['Admin' => [
'Read' => '读', 'Read' => '读',
'Release' => '发布', 'Release' => '发布',
'Reset' => '重启', 'Reset' => '重启',
'Route' => '#VALUE!', 'Route' => '',
'Routes' => '#VALUE!', 'Routes' => '',
'Running' => '跑步', 'Running' => '跑步',
'Sea' => '海', 'Sea' => '海',
'Search' => '搜索', 'Search' => '搜索',
@ -170,7 +170,7 @@ return ['Admin' => [
'Update' => '更新', 'Update' => '更新',
'Uppercase' => '大写', 'Uppercase' => '大写',
'Username' => '用户名', 'Username' => '用户名',
'Value' => '#VALUE!', 'Value' => '',
'Verb' => '', 'Verb' => '',
'Version' => '版本', 'Version' => '版本',
'VeryFast' => '非常快', 'VeryFast' => '非常快',

View File

@ -133,7 +133,7 @@ else : ?>
<td data-label="<?= $this->getHtml('Account'); ?>"><?= $this->printHtml($setting->account); ?> <td data-label="<?= $this->getHtml('Account'); ?>"><?= $this->printHtml($setting->account); ?>
<?php endforeach; ?> <?php endforeach; ?>
<?php if ($count === 0) : ?> <?php if ($count === 0) : ?>
<tr><td colspan="6" class="empty"><?= $this->getHtml('Empty', '0', '0'); ?> <tr><td colspan="8" class="empty"><?= $this->getHtml('Empty', '0', '0'); ?>
<?php endif; ?> <?php endif; ?>
</table> </table>
</div> </div>

View File

@ -0,0 +1,5 @@
<?php
echo 'Use "/admin/encryption/change -old {old_hash} -new {new_hash}" to change the encryption'
, "\n\n"
, 'This is very slow and can take a long time because all the content that is encrypted with the old key will be decrypted and then again encrypted with the new key.';

View File

@ -38,8 +38,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountGet($request, $response); $this->module->apiAccountGet($request, $response);
self::assertEquals('admin', $response->get('')['response']->login); self::assertEquals('admin', $response->getDataArray('')['response']->login);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -60,8 +60,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountUpdate($request, $response); $this->module->apiAccountUpdate($request, $response);
$this->module->apiAccountGet($request, $response); $this->module->apiAccountGet($request, $response);
self::assertEquals('oms@karaka.de', $response->get('')['response']->getEmail()); self::assertEquals('oms@karaka.de', $response->getDataArray('')['response']->getEmail());
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -78,8 +78,8 @@ trait ApiControllerAccountTrait
$request->setData('search', 'admin'); $request->setData('search', 'admin');
$this->module->apiAccountFind($request, $response); $this->module->apiAccountFind($request, $response);
self::assertCount(1, $response->get('')); self::assertCount(1, $response->getData(''));
self::assertEquals('admin', $response->get('')[0]->name1); self::assertEquals('admin', $response->getData('')[0]->name1);
} }
/** /**
@ -102,8 +102,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountCreate($request, $response); $this->module->apiAccountCreate($request, $response);
self::assertEquals('guest', $response->get('')['response']->login); self::assertEquals('guest', $response->getDataArray('')['response']->login);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -126,8 +126,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountCreate($request, $response); $this->module->apiAccountCreate($request, $response);
self::assertEquals('guest2', $response->get('')['response']->login); self::assertEquals('guest2', $response->getDataArray('')['response']->login);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -148,10 +148,10 @@ trait ApiControllerAccountTrait
$request->setData('status', AccountStatus::INACTIVE); $request->setData('status', AccountStatus::INACTIVE);
$this->module->apiAccountCreate($request, $response); $this->module->apiAccountCreate($request, $response);
$request->setData('id', $response->get('')['response']->id); $request->setData('id', $response->getDataArray('')['response']->id);
$this->module->apiAccountDelete($request, $response); $this->module->apiAccountDelete($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -187,13 +187,13 @@ trait ApiControllerAccountTrait
$request->setData('account-list', '1'); $request->setData('account-list', '1');
$this->module->apiAddGroupToAccount($request, $response); $this->module->apiAddGroupToAccount($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
// remove // remove
$response = new HttpResponse(); $response = new HttpResponse();
$this->module->apiDeleteGroupFromAccount($request, $response); $this->module->apiDeleteGroupFromAccount($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
} }
/** /**
@ -210,7 +210,7 @@ trait ApiControllerAccountTrait
$request->setData('account-list', '3'); $request->setData('account-list', '3');
$this->module->apiDeleteGroupFromAccount($request, $response); $this->module->apiDeleteGroupFromAccount($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
} }
/** /**
@ -227,7 +227,7 @@ trait ApiControllerAccountTrait
$request->setData('pass', 'orange'); $request->setData('pass', 'orange');
$this->module->apiLogin($request, $response); $this->module->apiLogin($request, $response);
self::assertInstanceOf('\phpOMS\Model\Message\Reload', $response->get('')); self::assertInstanceOf('\phpOMS\Model\Message\Reload', $response->getData(''));
} }
/** /**
@ -244,7 +244,7 @@ trait ApiControllerAccountTrait
$request->setData('pass', 'invalid'); $request->setData('pass', 'invalid');
$this->module->apiLogin($request, $response); $this->module->apiLogin($request, $response);
self::assertEquals('warning', $response->get('')['status']); self::assertEquals('warning', $response->getData('')['status']);
} }
/** /**
@ -261,6 +261,6 @@ trait ApiControllerAccountTrait
$request->setData('pass', 'invalid'); $request->setData('pass', 'invalid');
$this->module->apiLogout($request, $response); $this->module->apiLogout($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
} }
} }

View File

@ -37,8 +37,8 @@ trait ApiControllerGroupTrait
$this->module->apiGroupGet($request, $response); $this->module->apiGroupGet($request, $response);
self::assertEquals('admin', $response->get('')['response']->name); self::assertEquals('admin', $response->getDataArray('')['response']->name);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -58,7 +58,7 @@ trait ApiControllerGroupTrait
$this->module->apiGroupUpdate($request, $response); $this->module->apiGroupUpdate($request, $response);
$this->module->apiGroupGet($request, $response); $this->module->apiGroupGet($request, $response);
self::assertEquals('root', $response->get('')['response']->name); self::assertEquals('root', $response->getDataArray('')['response']->name);
$request->setData('name', 'admin', true); $request->setData('name', 'admin', true);
$this->module->apiGroupUpdate($request, $response); $this->module->apiGroupUpdate($request, $response);
@ -78,8 +78,8 @@ trait ApiControllerGroupTrait
$request->setData('search', 'admin'); $request->setData('search', 'admin');
$this->module->apiGroupFind($request, $response); $this->module->apiGroupFind($request, $response);
self::assertCount(1, $response->get('')); self::assertCount(1, $response->getData(''));
self::assertEquals('admin', $response->get('')[0]->name); self::assertEquals('admin', $response->getData('')[0]->name);
} }
/** /**
@ -99,14 +99,14 @@ trait ApiControllerGroupTrait
$this->module->apiGroupCreate($request, $response); $this->module->apiGroupCreate($request, $response);
self::assertEquals('test', $response->get('')['response']->name); self::assertEquals('test', $response->getDataArray('')['response']->name);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
// test delete // test delete
$request->setData('id', $response->get('')['response']->id); $request->setData('id', $response->getDataArray('')['response']->id);
$this->module->apiGroupDelete($request, $response); $this->module->apiGroupDelete($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -123,7 +123,7 @@ trait ApiControllerGroupTrait
$request->setData('id', '3'); $request->setData('id', '3');
$this->module->apiGroupDelete($request, $response); $this->module->apiGroupDelete($request, $response);
self::assertEquals('warning', $response->get('')['status']); self::assertEquals('warning', $response->getData('')['status']);
} }
/** /**
@ -159,13 +159,13 @@ trait ApiControllerGroupTrait
$request->setData('group-list', '1'); $request->setData('group-list', '1');
$this->module->apiAddAccountToGroup($request, $response); $this->module->apiAddAccountToGroup($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
// remove // remove
$response = new HttpResponse(); $response = new HttpResponse();
$this->module->apiDeleteAccountFromGroup($request, $response); $this->module->apiDeleteAccountFromGroup($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
} }
/** /**
@ -182,7 +182,7 @@ trait ApiControllerGroupTrait
$request->setData('group-list', '1'); $request->setData('group-list', '1');
$this->module->apiDeleteAccountFromGroup($request, $response); $this->module->apiDeleteAccountFromGroup($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
} }
/** /**
@ -199,8 +199,8 @@ trait ApiControllerGroupTrait
$request->setData('search', 'admin'); $request->setData('search', 'admin');
$this->module->apiAccountGroupFind($request, $response); $this->module->apiAccountGroupFind($request, $response);
self::assertCount(2, $response->get('')); self::assertCount(2, $response->getData(''));
self::assertEquals('admin', $response->get('')[0]['name'][0] ?? ''); self::assertEquals('admin', $response->getData('')[0]['name'][0] ?? '');
self::assertEquals('admin', $response->get('')[1]['name'][0] ?? ''); self::assertEquals('admin', $response->getData('')[1]['name'][0] ?? '');
} }
} }

View File

@ -37,19 +37,19 @@ trait ApiControllerModuleTrait
$request->setData('status', ModuleStatusUpdateType::INSTALL); $request->setData('status', ModuleStatusUpdateType::INSTALL);
$this->module->apiModuleStatusUpdate($request, $response); $this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
$request->setData('status', ModuleStatusUpdateType::ACTIVATE, true); $request->setData('status', ModuleStatusUpdateType::ACTIVATE, true);
$this->module->apiModuleStatusUpdate($request, $response); $this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
$request->setData('status', ModuleStatusUpdateType::DEACTIVATE, true); $request->setData('status', ModuleStatusUpdateType::DEACTIVATE, true);
$this->module->apiModuleStatusUpdate($request, $response); $this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
$request->setData('status', ModuleStatusUpdateType::UNINSTALL, true); $request->setData('status', ModuleStatusUpdateType::UNINSTALL, true);
$this->module->apiModuleStatusUpdate($request, $response); $this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
} }
/** /**
@ -68,7 +68,7 @@ trait ApiControllerModuleTrait
$this->module->apiModuleStatusUpdate($request, $response); $this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals(RequestStatusCode::R_403, $response->header->status); self::assertEquals(RequestStatusCode::R_403, $response->header->status);
self::assertNull($response->get('module_stutus_update')); self::assertNull($response->getData('module_stutus_update'));
} }
/** /**

View File

@ -38,8 +38,8 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1); $request->setData('permissionref', 1);
$this->module->apiAddGroupPermission($request, $response); $this->module->apiAddGroupPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -56,7 +56,7 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 3); $request->setData('permissionref', 3);
$this->module->apiAddGroupPermission($request, $response); $this->module->apiAddGroupPermission($request, $response);
self::assertEquals('warning', $response->get('')['status']); self::assertEquals('warning', $response->getData('')['status']);
} }
/** /**
@ -74,8 +74,8 @@ trait ApiControllerPermissionTrait
$this->module->apiGroupPermissionGet($request, $response); $this->module->apiGroupPermissionGet($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->getGroup()); self::assertGreaterThan(0, $response->getDataArray('')['response']->getGroup());
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -93,14 +93,14 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1); $request->setData('permissionref', 1);
$this->module->apiAddGroupPermission($request, $response); $this->module->apiAddGroupPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
// test delete // test delete
$request->setData('id', $response->get('')['response']->id); $request->setData('id', $response->getDataArray('')['response']->id);
$this->module->apiGroupPermissionDelete($request, $response); $this->module->apiGroupPermissionDelete($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -154,8 +154,8 @@ trait ApiControllerPermissionTrait
$this->module->apiGroupPermissionUpdate($request, $response); $this->module->apiGroupPermissionUpdate($request, $response);
self::assertEquals(PermissionType::READ, $response->get('')['response']->getPermission()); self::assertEquals(PermissionType::READ, $response->getDataArray('')['response']->getPermission());
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
$request->setData('permissioncreate', PermissionType::CREATE); $request->setData('permissioncreate', PermissionType::CREATE);
$request->setData('permissionupdate', PermissionType::MODIFY); $request->setData('permissionupdate', PermissionType::MODIFY);
@ -180,8 +180,8 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1); $request->setData('permissionref', 1);
$this->module->apiAddAccountPermission($request, $response); $this->module->apiAddAccountPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -199,8 +199,8 @@ trait ApiControllerPermissionTrait
$this->module->apiAccountPermissionGet($request, $response); $this->module->apiAccountPermissionGet($request, $response);
self::assertEquals(1, $response->get('')['response']->getAccount()); self::assertEquals(1, $response->getDataArray('')['response']->getAccount());
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -218,14 +218,14 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1); $request->setData('permissionref', 1);
$this->module->apiAddAccountPermission($request, $response); $this->module->apiAddAccountPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']); self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
// test delete // test delete
$request->setData('id', $response->get('')['response']->id); $request->setData('id', $response->getDataArray('')['response']->id);
$this->module->apiAccountPermissionDelete($request, $response); $this->module->apiAccountPermissionDelete($request, $response);
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
/** /**
@ -279,7 +279,7 @@ trait ApiControllerPermissionTrait
$this->module->apiAccountPermissionUpdate($request, $response); $this->module->apiAccountPermissionUpdate($request, $response);
self::assertEquals(PermissionType::READ, $response->get('')['response']->getPermission()); self::assertEquals(PermissionType::READ, $response->getDataArray('')['response']->getPermission());
self::assertGreaterThan(0, $response->get('')['response']->id); self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
} }
} }

View File

@ -36,7 +36,7 @@ trait ApiControllerSettingsTrait
$request->setData('name', SettingsEnum::PASSWORD_INTERVAL); $request->setData('name', SettingsEnum::PASSWORD_INTERVAL);
$this->module->apiSettingsGet($request, $response); $this->module->apiSettingsGet($request, $response);
self::assertEquals('90', $response->get('')['response']->content); self::assertEquals('90', $response->getDataArray('')['response']->content);
} }
/** /**
@ -55,7 +55,7 @@ trait ApiControllerSettingsTrait
$request->setData('name', SettingsEnum::PASSWORD_INTERVAL); $request->setData('name', SettingsEnum::PASSWORD_INTERVAL);
$this->module->apiSettingsGet($request, $response); $this->module->apiSettingsGet($request, $response);
self::assertEquals('60', $response->get('')['response']->content); self::assertEquals('60', $response->getDataArray('')['response']->content);
$request->setData('settings', \json_encode([['name' => SettingsEnum::PASSWORD_INTERVAL, 'content' => '90']]), true); $request->setData('settings', \json_encode([['name' => SettingsEnum::PASSWORD_INTERVAL, 'content' => '90']]), true);
$this->module->apiSettingsSet($request, $response); $this->module->apiSettingsSet($request, $response);
@ -76,13 +76,13 @@ trait ApiControllerSettingsTrait
$request->setData('localization_load', 'de_DE'); $request->setData('localization_load', 'de_DE');
$this->module->apiSettingsAccountLocalizationSet($request, $response); $this->module->apiSettingsAccountLocalizationSet($request, $response);
$l11n = $response->get('')['response']; $l11n = $response->getDataArray('')['response'];
self::assertEquals($l11n->language, 'de'); self::assertEquals($l11n->language, 'de');
$request->setData('localization_load', 'en_US', true); $request->setData('localization_load', 'en_US', true);
$this->module->apiSettingsAccountLocalizationSet($request, $response); $this->module->apiSettingsAccountLocalizationSet($request, $response);
$l11n = $response->get('')['response']; $l11n = $response->getDataArray('')['response'];
self::assertEquals($l11n->language, 'en'); self::assertEquals($l11n->language, 'en');
} }
@ -106,7 +106,7 @@ trait ApiControllerSettingsTrait
$this->module->apiSettingsAccountLocalizationSet($request, $response); $this->module->apiSettingsAccountLocalizationSet($request, $response);
$l11n = $response->get('')['response']; $l11n = $response->getDataArray('')['response'];
self::assertEquals($l11n->getCurrency(), 'EUR'); self::assertEquals($l11n->getCurrency(), 'EUR');
} }