<?php namespace App\Http\Controllers\Webprofile\Front; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Models\Webprofile\Categories; use App\Models\Webprofile\Design; use App\Models\Webprofile\Menu; use App\Models\Webprofile\Posts; use Session; class PostController extends Controller { public function index($title) { $setting = webprofilesetting(); if (!Session::has('selected_language')) { session(['selected_language' => 'id']); } if (Session::get('selected_language') == 'id') { $data = $this->getDataId($setting, $title); return view('webprofile.front.' . $setting['theme'] . '.post', $data); } else if (Session::get('selected_language') == 'en') { $data = $this->getDataEn($setting, $title); return view('webprofile.front.' . $setting['theme'] . '.en.post', $data); } } public function getDataId($setting, $title) { $setting = webprofilesetting(); $data = Posts::where('slug', $title)->first(); $resend = Posts::where('post_status', '1')->orderby('post_date', 'desc')->limit('5')->get(); $hot = Posts::where('post_status', '1')->orderby('viewer', 'desc')->limit('5')->get(); $categories = Categories::where('is_active', '1')->get(); $menu = Menu::orderby('urutan', 'asc')->get(); $widget_right = Design::where('name_design', 'widget_right')->orderBy('urutan', 'ASC')->get(); $widget_left = Design::where('name_design', 'widget_left')->orderBy('urutan', 'ASC')->get(); $viewer['viewer'] = (int)$data->viewer + 1; $data->update($viewer); $data = [ 'setting' => $setting, 'data' => $data, 'menu' => $menu, 'widget_right' => $widget_right, 'widget_left' => $widget_left, 'resend' => $resend, 'hot' => $hot, 'categories' => $categories, ]; return $data; } public function getDataEn($setting, $title) { $setting = webprofilesetting(); $data = Posts::with(['rEn'])->where('slug', $title)->first(); $resend = Posts::with(['rEn'])->where('post_status', '1')->orderby('post_date', 'desc')->limit('5')->get(); $hot = Posts::with(['rEn'])->where('post_status', '1')->orderby('viewer', 'desc')->limit('5')->get(); $categories = Categories::with(['rEn'])->where('is_active', '1')->get(); $menu = Menu::with(['rEn'])->orderby('urutan', 'asc')->get(); $widget_right = Design::where('name_design', 'widget_right')->orderBy('urutan', 'ASC')->get(); $widget_left = Design::where('name_design', 'widget_left')->orderBy('urutan', 'ASC')->get(); $viewer['viewer'] = (int) $data->viewer + 1; $data->update($viewer); $data = [ 'setting' => $setting, 'data' => $data, 'menu' => $menu, 'widget_right' => $widget_right, 'widget_left' => $widget_left, 'resend' => $resend, 'hot' => $hot, 'categories' => $categories, ]; return $data; } }