예제 #1
0
 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');
             }
         }
     }
 }
예제 #2
0
 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');
     }
 }
예제 #3
0
 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'));
 }