public function store() { $article = Model\Portal\Article::withPrivate()->findOrFail(set_value('article_id')); $this->form_validation->set_rules('name', 'Name', 'required'); $this->form_validation->set_rules('email', 'Email', 'required|valid_email'); $this->form_validation->set_rules('content', 'Komentar', 'required'); $this->form_validation->set_rules('article_id', 'Artikel', 'required'); if ($this->form_validation->run() == FALSE) { if ($this->request->isXmlHttpRequest()) { $response = new Response(); $response->setContent(json_encode(['status' => 'error', 'data' => $this->form_validation->error_array()])); $response->headers->set('Content-Type', 'application/json'); } else { keepValidationErrors(); redirect($article->link . '#comments', 'refresh'); } } else { $data = array('content' => set_value('content'), 'nama' => set_value('name'), 'email' => set_value('email'), 'artikel_id' => set_value('article_id'), 'parent' => set_value('parent', 0), 'status' => 'draft', 'date' => Carbon::now()); $comment = Model\Portal\Comment::create($data); if ($user = auth()->check()) { $comment->user()->associate($user->id); if ($user->inRole(['su', 'adm', 'edt', 'ins', 'mdr'])) { $comment->status = 'publish'; } else { $comment->status = 'draft'; } $comment->save(); } if ($this->request->isXmlHttpRequest()) { $response = new Response(); $response->setContent(json_encode(['status' => 'success', 'data' => $comment])); $response->headers->set('Content-Type', 'application/json'); } else { if ($comment->status == 'publish') { set_message_success('Komentar Anda sudah ditampilkan.'); redirect($article->link . '#comment-' . $comment->id, 'refresh'); } else { set_message_success('Komentar Anda akan tampil setelah dimoderasi.'); redirect($article->link . '#comments', 'refresh'); } } } }
public function unchoice($id) { try { $article = Model\Portal\Article::withPrivate()->findOrFail($id); $article->removeEditorChoice(); set_message_success('Artikel berhasil diperbarui.'); redirect('article/edit/' . $article->id, 'refresh'); } catch (ModelNotFoundException $e) { set_message_error('Artikel tidak dapat diperbarui.'); redirect('article/edit/' . $article->id, 'refresh'); } }
public function my_article() { $user = auth()->getUser(); $status = $this->input->get('status') ?: 'publish'; $articles = Model\Portal\Article::withPrivate()->withDrafts()->status($status)->contributor($user->id)->latest('date')->get(); $this->template->set('sidebar'); $this->template->set_layout('privatepage'); $this->template->build('index_draft', compact('articles')); }