settingsRepository = $settingsRepository; } /** * Czyszczenie cache */ public function clearCache(): void { \S::delete_dir( '../temp/' ); \S::delete_dir( '../thumbs/' ); $redis = \RedisConnection::getInstance()->getConnection(); if ( $redis ) $redis->flushAll(); \S::alert( 'Cache został wyczyszczony.' ); \S::htacces(); header( 'Location: /admin/dashboard/main_view/' ); exit; } /** * Czyszczenie cache (AJAX) */ public function clearCacheAjax(): void { try { \S::delete_dir( '../temp/' ); \S::delete_dir( '../thumbs/' ); $redis = \RedisConnection::getInstance()->getConnection(); if ( $redis ) $redis->flushAll(); \S::htacces(); echo json_encode( [ 'status' => 'success', 'message' => 'Cache został wyczyszczony.' ] ); } catch ( \Exception $e ) { echo json_encode( [ 'status' => 'error', 'message' => 'Błąd podczas czyszczenia cache: ' . $e->getMessage() ] ); } exit; } /** * Zapis ustawień (AJAX) */ public function save(): void { $values = json_decode( \S::get( 'values' ), true ); $response = $this->settingsRepository->saveSettings( $values ); \S::delete_dir( '../temp/' ); \S::htacces(); echo json_encode( $response ); exit; } /** * Widok ustawień */ public function view(): string { return \Tpl::view( 'settings/settings', [ 'languages' => \admin\factory\Languages::languages_list(), 'settings' => $this->settingsRepository->getSettings() ] ); } }