コード例 #1
0
ファイル: Dashboard.php プロジェクト: amteknologi/elearning
 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);
 }