public function store() { $course = Model\Kelas\Course::findOrFail(set_value('course_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('course_id', '', '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($course->link . '#comments', 'refresh'); } } else { $data = array('content' => set_value('content'), 'name' => set_value('name'), 'email' => set_value('email'), 'course_id' => set_value('course_id'), 'parent' => set_value('parent', 0), 'status' => 'draft'); $comment = Model\Kelas\CourseComment::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->input->is_ajax_request()) { $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('course/show/' . $course->slug . '#comment-' . $comment->id, 'refresh'); } else { set_message_success('Komentar Anda akan tampil setelah dimoderasi.'); redirect('course/show/' . $course->slug . '#form-comment', 'refresh'); } } } }
public function index() { $user = auth()->getUser(); $request = Request::createFromGlobals(); $articles = Model\Portal\Article::withPrivate()->published()->contributor($user->id)->latest('date')->get(); $drafts = Model\Portal\Article::withPrivate()->onlyDrafts()->contributor($user->id)->latest('date')->get(); $toptenarticles = Model\Portal\Article::groupBy('contributor_id')->orderBy('contributor_id', 'desc')->take(10)->get(); $data['toptenarticlecount'] = Model\Portal\Article::selectRaw('count(`contributor_id`) as `occurences`')->groupBy('contributor_id')->orderBy('contributor_id', 'desc')->take(10)->get(); $draftcount = $drafts->count(); $courses = Model\Kelas\Course::latest()->get(); $myclasscourse = Model\Kelas\CourseMember::where('user_id', $user->id)->has('course')->get(); $coursecomments = Model\Kelas\CourseComment::where('parent', '0')->has('course')->get(); $toptenactiveclass = Model\Kelas\CourseMember::groupBy('user_id')->orderBy('user_id', 'desc')->take(10)->get(); $data['toptenactiveclasscount'] = Model\Kelas\CourseMember::selectRaw('count(`user_id`) as `counttotal`')->groupBy('user_id')->orderBy('user_id', 'desc')->take(10)->get(); /* Start Activity Konsultasi */ $data['konsultasiCat'] = $this->Mod_konsultasi->getKonsultasiKategori(); $data['latestReply'] = $this->Mod_konsultasi->getLatestReply($user->id); $konsultasi = collect($this->Mod_konsultasi->getKonsultasi($user->id)); $data['latestKonsultasi'] = $konsultasi; /* End Activity Konsultasi */ $category = $this->medialib->getCategory(); $categories = $category->with(['media' => function ($query) { $query->userId(sentinel()->getUser()->id)->withDrafts(); }])->get(); $data['categories'] = $categories; $data['categories_checkbox'] = (new Model\Portal\Category())->generateCheckbox(); $data['artikel'] = pagination($articles, 4, 'dashboard/my-article'); $data['drafts'] = $drafts; $data['draftcount'] = $draftcount; $data['links'] = $this->Mod_link->read(); $data['toptenarticles'] = $toptenarticles; $data['toptenactiveclass'] = $toptenactiveclass; $data['courses'] = $courses; $data['myclasscourse'] = $myclasscourse; $data['coursecomments'] = $coursecomments; $data['forumNotif'] = $this->Mod_forum->getMemberNotif($user->id); $data['forumCategories'] = $this->Mod_forum->getCategoryMember($user->id); $latestComment = $this->Mod_forum->getLatestComment($user->id); $data['forumLatestComment'] = $latestComment; if (!empty($latestComment)) { foreach ($latestComment as $latest) { $data['threadLatestComment'] = $this->Mod_forum->threadLatestComment($latest->reply_to); } } $data['allThreads'] = $this->Mod_forum->allThreads($user->id); $listNewThreadComments = array(); if (!empty($data['allThreads'])) { foreach ($data['allThreads'] as $thr) { $listNewThreadComments[] = $thr->id; } $data['newThreadComments'] = $this->Mod_forum->newComments($listNewThreadComments); } // START: Recent activity elibrary $data['recentMedia'] = $this->medialib->onlyUserId($user->id)->latestById()->slice(0, 5); // END: Recent activity elibrary $data['recentMedia'] = $this->medialib->onlyUserId($user->id)->latestById()->slice(0, 5); $data['recentArticleComment'] = $this->Mod_artikel->getRecentComment($user->id); $this->template->set('sidebar'); $this->template->set_layout('privatepage'); $this->template->build('index', $data); }