repository = $repository; } /** * Lista artykulow */ public function list(): string { return \admin\view\Articles::articles_list(); } /** * Zapis artykulu (AJAX) */ public function save(): void { global $user; $values = json_decode(\S::get('values'), true); $response = ['status' => 'error', 'msg' => 'Podczas zapisywania artykułu wystąpił błąd. Proszę spróbować ponownie.']; if ($id = $this->repository->save((int)($values['id'] ?? 0), $values, (int)$user['id'])) { $response = ['status' => 'ok', 'msg' => 'Artykuł został zapisany.', 'id' => $id]; } echo json_encode($response); exit; } /** * Archiwizacja artykulu (ustawia status = -1) */ public function delete(): void { if ($this->repository->archive((int)\S::get('id'))) { \S::alert('Artykuł został przeniesiony do archiwum.'); } header('Location: /admin/articles/view_list/'); exit; } /** * Edycja artykulu */ public function edit(): string { global $user; if (!$user) { header('Location: /admin/'); exit; } $this->repository->deleteNonassignedImages(); $this->repository->deleteNonassignedFiles(); return \Tpl::view('articles/article-edit', [ 'article' => $this->repository->find((int)\S::get('id')), 'menus' => \admin\factory\Pages::menus_list(), 'languages' => \admin\factory\Languages::languages_list(), 'layouts' => \admin\factory\Layouts::layouts_list(), 'user' => $user ]); } }