repository = $repository; } /** * Lista banerów */ public function list(): string { // Widok nie zmienia się - nadal używamy starego systemu szablonów return \admin\view\Banners::banners_list(); } /** * Edycja banera */ public function edit(): string { $bannerId = (int)\S::get('id'); $banner = $this->repository->find($bannerId); $languages = \admin\factory\Languages::languages_list(); return \admin\view\Banners::banner_edit($banner, $languages); } /** * Zapisanie banera (AJAX) */ public function save(): void { $response = ['status' => 'error', 'msg' => 'Podczas zapisywania baneru wystąpił błąd. Proszę spróbować ponownie.']; $values = json_decode(\S::get('values'), true); $bannerId = $this->repository->save($values); if ($bannerId) { \S::delete_dir('../temp/'); $response = ['status' => 'ok', 'msg' => 'Baner został zapisany.', 'id' => $bannerId]; } echo json_encode($response); exit; } /** * Usunięcie banera */ public function delete(): void { $bannerId = (int)\S::get('id'); if ($this->repository->delete($bannerId)) { \S::delete_dir('../temp/'); \S::alert('Baner został usunięty.'); } header('Location: /admin/banners/view_list/'); exit; } }