getUser()->getMediaPreferences(); $downloadPreferences = $this->getUser()->getDownloadPreferences(); $languages = CountryLanguages::$languages; sort($languages); return $this->render( 'user/preferences.html.twig', [ 'preferences' => $this->preferencesRepository->findEnabled(), 'languages' => $languages, 'providers' => ProviderList::$providers, 'mediaPreferences' => $mediaPreferences, 'downloadPreferences' => $downloadPreferences, ] ); } #[Route('/user/preferences/media', 'app_save_media_preferences', methods: ['POST'])] public function saveMediaPreferences( Request $request, SaveUserMediaPreferencesInput $input, ): Response { $this->saveUserMediaPreferencesHandler->handle($input->toCommand()); $mediaPreferences = $this->getUser()->getMediaPreferences(); $downloadPreferences = $this->getUser()->getDownloadPreferences(); $languages = CountryLanguages::$languages; sort($languages); $this->hub->publish(new Update( $request->getSession()->get('mercure_alert_topic'), $this->renderView('broadcast/Alert.stream.html.twig', [ 'alert_id' => uniqid(), 'title' => 'Success', 'message' => 'Your media preferences have been saved.', ]) )); return $this->render( 'user/preferences.html.twig', [ 'preferences' => $this->preferencesRepository->findEnabled(), 'languages' => $languages, 'providers' => ProviderList::$providers, 'mediaPreferences' => $mediaPreferences, 'downloadPreferences' => $downloadPreferences, ] ); } #[Route('/user/preferences/download', 'app_save_download_preferences', methods: ['POST'])] public function saveDownloadPreferences( Request $request, SaveUserDownloadPreferencesInput $input, ): Response { $downloadPreferences = $this->saveUserDownloadPreferencesHandler->handle($input->toCommand())->downloadPreferences; $mediaPreferences = $this->getUser()->getMediaPreferences(); $languages = CountryLanguages::$languages; sort($languages); $this->hub->publish(new Update( $request->getSession()->get('mercure_alert_topic'), $this->renderView('broadcast/Alert.stream.html.twig', [ 'alert_id' => uniqid(), 'title' => 'Success', 'message' => 'Your download preferences have been saved.', ]) )); return $this->render( 'user/preferences.html.twig', [ 'preferences' => $this->preferencesRepository->findEnabled(), 'languages' => $languages, 'providers' => ProviderList::$providers, 'mediaPreferences' => $mediaPreferences, 'downloadPreferences' => $downloadPreferences, ] ); } }