diff --git a/Localization/L11nManager.php b/Localization/L11nManager.php index 49f196557..7a19dfdcd 100644 --- a/Localization/L11nManager.php +++ b/Localization/L11nManager.php @@ -146,21 +146,22 @@ final class L11nManager /** * Get translation. * - * @param string $code Language code - * @param string $module Module name - * @param string $theme Theme - * @param mixed $translation Text + * @param string $code Language code + * @param string $module Module name + * @param string $theme Theme + * @param mixed $translation Text + * @param null|string $app App name * * @return string In case the language element couldn't be found 'ERROR' will be returned * * @since 1.0.0 */ - public function getText(string $code, string $module, string $theme, $translation) : string + public function getText(string $code, string $module, string $theme, $translation, string $app = null) : string { if (!isset($this->language[$code][$module][$translation])) { try { /** @var ModuleAbstract $class */ - $class = '\Modules\\' . $module . '\\Controller\\' . $this->appName . 'Controller'; + $class = '\Modules\\' . $module . '\\Controller\\' . ($app ?? $this->appName) . 'Controller'; $this->loadLanguage($code, $module, $class::getLocalization($code, $theme)); if (!isset($this->language[$code][$module][$translation])) { diff --git a/Module/ModuleManager.php b/Module/ModuleManager.php index a1f37cba2..1fb825f40 100644 --- a/Module/ModuleManager.php +++ b/Module/ModuleManager.php @@ -131,19 +131,20 @@ final class ModuleManager * Get language files. * * @param RequestAbstract $request Request + * @param null|string $app App name * * @return string[] * * @since 1.0.0 */ - public function getLanguageFiles(RequestAbstract $request) : array + public function getLanguageFiles(RequestAbstract $request, string $app = null) : array { $files = $this->getUriLoad($request); $lang = []; if (isset($files['5'])) { foreach ($files['5'] as $module) { - $lang[] = '/Modules/' . $module['module_load_from'] . '/Theme/' . $this->app->appName . '/Lang/' . $module['module_load_file']; + $lang[] = '/Modules/' . $module['module_load_from'] . '/Theme/' . ($app ?? $this->app->appName) . '/Lang/' . $module['module_load_file']; } } diff --git a/Router/SocketRouter.php b/Router/SocketRouter.php index f02299d8d..bfcc1b163 100644 --- a/Router/SocketRouter.php +++ b/Router/SocketRouter.php @@ -120,7 +120,7 @@ final class SocketRouter implements RouterInterface if ((isset($d['permission']) && $account === null) || (isset($d['permission']) && !$account->hasPermission( - $d['permission']['type'], $orgId, $app, $d['permission']['module'], $d['permission']['state'] + $d['permission']['type'] ?? null, $orgId, $app, $d['permission']['module'] ?? null, $d['permission']['state'] ?? null ) ) ) { diff --git a/Router/WebRouter.php b/Router/WebRouter.php index fd4c4e43f..de8b82bea 100644 --- a/Router/WebRouter.php +++ b/Router/WebRouter.php @@ -139,7 +139,7 @@ final class WebRouter implements RouterInterface if ((isset($d['permission']) && $account === null) || (isset($d['permission']) && !$account->hasPermission( - $d['permission']['type'], $orgId, $app, $d['permission']['module'], $d['permission']['state'] + $d['permission']['type'] ?? null, $orgId, $app, $d['permission']['module'] ?? null, $d['permission']['state'] ?? null ) ) ) {