diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index b364bad0a27..38f506237fe 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -30,6 +30,7 @@ use OCA\Talk\Collaboration\Resources\ConversationProvider; use OCA\Talk\Collaboration\Resources\Listener as ResourceListener; use OCA\Talk\Config; +use OCA\Talk\ConfigLexicon; use OCA\Talk\Dashboard\TalkWidget; use OCA\Talk\Deck\DeckPluginLoader; use OCA\Talk\Events\AttendeeRemovedEvent; @@ -183,6 +184,7 @@ public function register(IRegistrationContext $context): void { $context->registerMiddleWare(InjectionMiddleware::class); $context->registerMiddleWare(ParameterOutOfRangeMiddleware::class); $context->registerCapability(Capabilities::class); + $context->registerConfigLexicon(ConfigLexicon::class); // Listeners to load the UI and integrate it into other apps $context->registerEventListener(AddContentSecurityPolicyEvent::class, CSPListener::class); diff --git a/lib/ConfigLexicon.php b/lib/ConfigLexicon.php new file mode 100644 index 00000000000..6b1aa3ccca4 --- /dev/null +++ b/lib/ConfigLexicon.php @@ -0,0 +1,36 @@ +initialState = $initialState; $this->memcacheFactory = $memcacheFactory; diff --git a/lib/PublicShare/TemplateLoader.php b/lib/PublicShare/TemplateLoader.php index c888e3b318c..0a115f0192d 100644 --- a/lib/PublicShare/TemplateLoader.php +++ b/lib/PublicShare/TemplateLoader.php @@ -14,6 +14,7 @@ use OCA\Talk\Config; use OCA\Talk\TInitialState; use OCP\AppFramework\Services\IInitialState; +use OCP\Config\IUserConfig; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Files\FileInfo; @@ -40,6 +41,7 @@ public function __construct( IConfig $serverConfig, IGroupManager $groupManager, LoggerInterface $logger, + protected IUserConfig $userConfig, ) { $this->initialState = $initialState; $this->talkConfig = $talkConfig; diff --git a/lib/PublicShareAuth/TemplateLoader.php b/lib/PublicShareAuth/TemplateLoader.php index fa8f48b9b65..93e83b0c6be 100644 --- a/lib/PublicShareAuth/TemplateLoader.php +++ b/lib/PublicShareAuth/TemplateLoader.php @@ -14,6 +14,7 @@ use OCA\Talk\Config; use OCA\Talk\TInitialState; use OCP\AppFramework\Services\IInitialState; +use OCP\Config\IUserConfig; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\ICacheFactory; @@ -37,6 +38,7 @@ public function __construct( ICacheFactory $memcacheFactory, Config $talkConfig, IConfig $serverConfig, + protected IUserConfig $userConfig, IGroupManager $groupManager, LoggerInterface $logger, ) { diff --git a/lib/TInitialState.php b/lib/TInitialState.php index 42bfd50947b..ae250c14ff5 100644 --- a/lib/TInitialState.php +++ b/lib/TInitialState.php @@ -9,9 +9,11 @@ namespace OCA\Talk; use OC\User\NoUserException; +use OCA\Talk\AppInfo\Application; use OCA\Talk\Settings\UserPreference; use OCP\App\IAppManager; use OCP\AppFramework\Services\IInitialState; +use OCP\Config\IUserConfig; use OCP\Files\IRootFolder; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; @@ -24,14 +26,11 @@ use Psr\Log\LoggerInterface; trait TInitialState { - /** @var Config */ - protected $talkConfig; - /** @var IConfig */ - protected $serverConfig; - /** @var IInitialState */ - protected $initialState; - /** @var ICacheFactory */ - protected $memcacheFactory; + protected Config $talkConfig; + protected IConfig $serverConfig; + protected IUserConfig $userConfig; + protected IInitialState $initialState; + protected ICacheFactory $memcacheFactory; protected IGroupManager $groupManager; protected LoggerInterface $logger; @@ -116,7 +115,7 @@ protected function publishInitialStateForUser(IUser $user, IRootFolder $rootFold $this->initialState->provideInitialState( 'play_sounds', - $this->serverConfig->getUserValue($user->getUID(), 'spreed', UserPreference::PLAY_SOUNDS, 'yes') === 'yes' + $this->userConfig->getValueBool($user->getUID(), Application::APP_ID, UserPreference::PLAY_SOUNDS), ); $this->initialState->provideInitialState(