Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-09-30 10:08:17 +0300
committerJoas Schilling <coding@schilljs.com>2021-09-30 10:08:17 +0300
commit37f40cdd468a2826f6269bacc81ff74d8c606d23 (patch)
tree12a7f4a1ca8dcdd83757c54addb3be914255b7ed /apps/updatenotification
parent5a469f54ab6877b690d585517186bb5fcf40546b (diff)
Fix translated app details
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/updatenotification')
-rw-r--r--apps/updatenotification/lib/Controller/APIController.php34
-rw-r--r--apps/updatenotification/lib/Notification/Notifier.php6
2 files changed, 25 insertions, 15 deletions
diff --git a/apps/updatenotification/lib/Controller/APIController.php b/apps/updatenotification/lib/Controller/APIController.php
index b4c304a6120..9d5d1c2d764 100644
--- a/apps/updatenotification/lib/Controller/APIController.php
+++ b/apps/updatenotification/lib/Controller/APIController.php
@@ -34,6 +34,8 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IConfig;
use OCP\IRequest;
+use OCP\IUserSession;
+use OCP\L10N\IFactory;
class APIController extends OCSController {
@@ -46,23 +48,29 @@ class APIController extends OCSController {
/** @var AppFetcher */
protected $appFetcher;
- /**
- * @param string $appName
- * @param IRequest $request
- * @param IConfig $config
- * @param IAppManager $appManager
- * @param AppFetcher $appFetcher
- */
- public function __construct($appName,
+ /** @var IFactory */
+ protected $l10nFactory;
+
+ /** @var IUserSession */
+ protected $userSession;
+
+ /** @var string */
+ protected $language;
+
+ public function __construct(string $appName,
IRequest $request,
IConfig $config,
IAppManager $appManager,
- AppFetcher $appFetcher) {
+ AppFetcher $appFetcher,
+ IFactory $l10nFactory,
+ IUserSession $userSession) {
parent::__construct($appName, $request);
$this->config = $config;
$this->appManager = $appManager;
$this->appFetcher = $appFetcher;
+ $this->l10nFactory = $l10nFactory;
+ $this->userSession = $userSession;
}
/**
@@ -97,7 +105,7 @@ class APIController extends OCSController {
$this->appFetcher->setVersion($newVersion, 'future-apps.json', false);
// Apps available on the app store for that version
- $availableApps = array_map(function (array $app) {
+ $availableApps = array_map(static function (array $app) {
return $app['id'];
}, $this->appFetcher->get());
@@ -108,6 +116,8 @@ class APIController extends OCSController {
], Http::STATUS_NOT_FOUND);
}
+ $this->language = $this->l10nFactory->getUserLanguage($this->userSession->getUser());
+
$missing = array_diff($installedApps, $availableApps);
$missing = array_map([$this, 'getAppDetails'], $missing);
sort($missing);
@@ -128,8 +138,8 @@ class APIController extends OCSController {
* @param string $appId
* @return string[]
*/
- protected function getAppDetails($appId): array {
- $app = $this->appManager->getAppInfo($appId);
+ protected function getAppDetails(string $appId): array {
+ $app = $this->appManager->getAppInfo($appId, false, $this->language);
return [
'appId' => $appId,
'appName' => $app['name'] ?? $appId,
diff --git a/apps/updatenotification/lib/Notification/Notifier.php b/apps/updatenotification/lib/Notification/Notifier.php
index 787a43b2db8..bfbcc203480 100644
--- a/apps/updatenotification/lib/Notification/Notifier.php
+++ b/apps/updatenotification/lib/Notification/Notifier.php
@@ -134,7 +134,7 @@ class Notifier implements INotifier {
$notification->setLink($this->url->linkToRouteAbsolute('settings.AdminSettings.index', ['section' => 'overview']) . '#version');
}
} else {
- $appInfo = $this->getAppInfo($notification->getObjectType());
+ $appInfo = $this->getAppInfo($notification->getObjectType(), $languageCode);
$appName = ($appInfo === null) ? $notification->getObjectType() : $appInfo['name'];
if (isset($this->appVersions[$notification->getObjectType()])) {
@@ -194,7 +194,7 @@ class Notifier implements INotifier {
return \OC_App::getAppVersions();
}
- protected function getAppInfo($appId) {
- return \OC_App::getAppInfo($appId);
+ protected function getAppInfo($appId, $languageCode) {
+ return \OC_App::getAppInfo($appId, false, $languageCode);
}
}