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);
$responseData = $response->get('');
$responseData = $response->getData('');
if (!\is_array($responseData)) {
return [];
}

View File

@ -16,4 +16,10 @@ return [
'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\RequestStatusCode;
use phpOMS\Message\Http\Rest;
use phpOMS\Message\Mail\Email;
use phpOMS\Message\Mail\MailHandler;
use phpOMS\Message\Mail\Smtp;
use phpOMS\Message\Mail\SubmitType;

View File

@ -14,9 +14,11 @@ declare(strict_types=1);
namespace Modules\Admin\Controller;
use Model\SettingMapper;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract;
use phpOMS\Security\EncryptionHelper;
use phpOMS\Views\View;
/**
@ -76,9 +78,9 @@ final class CliController extends Controller
public function cliRunEvent(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
{
$event = $this->app->eventManager->triggerSimilar(
$request->getDataString('g') ?? '',
$request->getDataString('i') ?? '',
$request->getDataJson('d')
$request->getDataString('-g') ?? '',
$request->getDataString('-i') ?? '',
$request->getDataJson('-d')
);
$view = new View($this->app->l11nManager, $request, $response);
@ -88,4 +90,68 @@ final class CliController extends Controller
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
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)
* [Accounts]({%}&page=Help/accounts)
* [Groups]({%}&page=Help/groups)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -133,7 +133,7 @@ else : ?>
<td data-label="<?= $this->getHtml('Account'); ?>"><?= $this->printHtml($setting->account); ?>
<?php endforeach; ?>
<?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; ?>
</table>
</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);
self::assertEquals('admin', $response->get('')['response']->login);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('admin', $response->getDataArray('')['response']->login);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -60,8 +60,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountUpdate($request, $response);
$this->module->apiAccountGet($request, $response);
self::assertEquals('oms@karaka.de', $response->get('')['response']->getEmail());
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('oms@karaka.de', $response->getDataArray('')['response']->getEmail());
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -78,8 +78,8 @@ trait ApiControllerAccountTrait
$request->setData('search', 'admin');
$this->module->apiAccountFind($request, $response);
self::assertCount(1, $response->get(''));
self::assertEquals('admin', $response->get('')[0]->name1);
self::assertCount(1, $response->getData(''));
self::assertEquals('admin', $response->getData('')[0]->name1);
}
/**
@ -102,8 +102,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountCreate($request, $response);
self::assertEquals('guest', $response->get('')['response']->login);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('guest', $response->getDataArray('')['response']->login);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -126,8 +126,8 @@ trait ApiControllerAccountTrait
$this->module->apiAccountCreate($request, $response);
self::assertEquals('guest2', $response->get('')['response']->login);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('guest2', $response->getDataArray('')['response']->login);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -148,10 +148,10 @@ trait ApiControllerAccountTrait
$request->setData('status', AccountStatus::INACTIVE);
$this->module->apiAccountCreate($request, $response);
$request->setData('id', $response->get('')['response']->id);
$request->setData('id', $response->getDataArray('')['response']->id);
$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');
$this->module->apiAddGroupToAccount($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertEquals('ok', $response->getData('')['status']);
// remove
$response = new HttpResponse();
$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');
$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');
$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');
$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');
$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);
self::assertEquals('admin', $response->get('')['response']->name);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('admin', $response->getDataArray('')['response']->name);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -58,7 +58,7 @@ trait ApiControllerGroupTrait
$this->module->apiGroupUpdate($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);
$this->module->apiGroupUpdate($request, $response);
@ -78,8 +78,8 @@ trait ApiControllerGroupTrait
$request->setData('search', 'admin');
$this->module->apiGroupFind($request, $response);
self::assertCount(1, $response->get(''));
self::assertEquals('admin', $response->get('')[0]->name);
self::assertCount(1, $response->getData(''));
self::assertEquals('admin', $response->getData('')[0]->name);
}
/**
@ -99,14 +99,14 @@ trait ApiControllerGroupTrait
$this->module->apiGroupCreate($request, $response);
self::assertEquals('test', $response->get('')['response']->name);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('test', $response->getDataArray('')['response']->name);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
// test delete
$request->setData('id', $response->get('')['response']->id);
$request->setData('id', $response->getDataArray('')['response']->id);
$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');
$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');
$this->module->apiAddAccountToGroup($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertEquals('ok', $response->getData('')['status']);
// remove
$response = new HttpResponse();
$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');
$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');
$this->module->apiAccountGroupFind($request, $response);
self::assertCount(2, $response->get(''));
self::assertEquals('admin', $response->get('')[0]['name'][0] ?? '');
self::assertEquals('admin', $response->get('')[1]['name'][0] ?? '');
self::assertCount(2, $response->getData(''));
self::assertEquals('admin', $response->getData('')[0]['name'][0] ?? '');
self::assertEquals('admin', $response->getData('')[1]['name'][0] ?? '');
}
}

View File

@ -37,19 +37,19 @@ trait ApiControllerModuleTrait
$request->setData('status', ModuleStatusUpdateType::INSTALL);
$this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertEquals('ok', $response->getData('')['status']);
$request->setData('status', ModuleStatusUpdateType::ACTIVATE, true);
$this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertEquals('ok', $response->getData('')['status']);
$request->setData('status', ModuleStatusUpdateType::DEACTIVATE, true);
$this->module->apiModuleStatusUpdate($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertEquals('ok', $response->getData('')['status']);
$request->setData('status', ModuleStatusUpdateType::UNINSTALL, true);
$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);
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);
$this->module->apiAddGroupPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -56,7 +56,7 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 3);
$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);
self::assertGreaterThan(0, $response->get('')['response']->getGroup());
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertGreaterThan(0, $response->getDataArray('')['response']->getGroup());
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -93,14 +93,14 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1);
$this->module->apiAddGroupPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
// test delete
$request->setData('id', $response->get('')['response']->id);
$request->setData('id', $response->getDataArray('')['response']->id);
$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);
self::assertEquals(PermissionType::READ, $response->get('')['response']->getPermission());
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals(PermissionType::READ, $response->getDataArray('')['response']->getPermission());
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
$request->setData('permissioncreate', PermissionType::CREATE);
$request->setData('permissionupdate', PermissionType::MODIFY);
@ -180,8 +180,8 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1);
$this->module->apiAddAccountPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -199,8 +199,8 @@ trait ApiControllerPermissionTrait
$this->module->apiAccountPermissionGet($request, $response);
self::assertEquals(1, $response->get('')['response']->getAccount());
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals(1, $response->getDataArray('')['response']->getAccount());
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
/**
@ -218,14 +218,14 @@ trait ApiControllerPermissionTrait
$request->setData('permissionref', 1);
$this->module->apiAddAccountPermission($request, $response);
self::assertEquals('ok', $response->get('')['status']);
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals('ok', $response->getData('')['status']);
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
// test delete
$request->setData('id', $response->get('')['response']->id);
$request->setData('id', $response->getDataArray('')['response']->id);
$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);
self::assertEquals(PermissionType::READ, $response->get('')['response']->getPermission());
self::assertGreaterThan(0, $response->get('')['response']->id);
self::assertEquals(PermissionType::READ, $response->getDataArray('')['response']->getPermission());
self::assertGreaterThan(0, $response->getDataArray('')['response']->id);
}
}

View File

@ -36,7 +36,7 @@ trait ApiControllerSettingsTrait
$request->setData('name', SettingsEnum::PASSWORD_INTERVAL);
$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);
$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);
$this->module->apiSettingsSet($request, $response);
@ -76,13 +76,13 @@ trait ApiControllerSettingsTrait
$request->setData('localization_load', 'de_DE');
$this->module->apiSettingsAccountLocalizationSet($request, $response);
$l11n = $response->get('')['response'];
$l11n = $response->getDataArray('')['response'];
self::assertEquals($l11n->language, 'de');
$request->setData('localization_load', 'en_US', true);
$this->module->apiSettingsAccountLocalizationSet($request, $response);
$l11n = $response->get('')['response'];
$l11n = $response->getDataArray('')['response'];
self::assertEquals($l11n->language, 'en');
}
@ -106,7 +106,7 @@ trait ApiControllerSettingsTrait
$this->module->apiSettingsAccountLocalizationSet($request, $response);
$l11n = $response->get('')['response'];
$l11n = $response->getDataArray('')['response'];
self::assertEquals($l11n->getCurrency(), 'EUR');
}