PostController.php 5.23 KB
Newer Older
Aan Choesni Herlingga committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
<?php

namespace App\Http\Controllers\Webprofile\Front;

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);
24 25 26

            return view('webprofile.front.'.$setting['theme'].'.post', $data);
        } elseif (Session::get('selected_language') == 'en') {
Aan Choesni Herlingga committed
27
            $data = $this->getDataEn($setting, $title);
28 29

            return view('webprofile.front.'.$setting['theme'].'.en.post', $data);
30 31 32 33
        } elseif (Session::get('selected_language') == 'de') {
            $data = $this->getDataDe($setting, $title);

            return view('webprofile.front.'.$setting['theme'].'.de.post', $data);
Aan Choesni Herlingga committed
34 35 36 37 38
        }
    }

    public function getDataId($setting, $title)
    {
39 40
        $setting = webprofilesetting();
        $data = Posts::where('slug', $title)->first();
Aan Choesni Herlingga committed
41
        $terkait = Posts::where('categories', $data->categories)->orderBy('created_at', 'desc')->limit('5')->get();
42 43 44 45 46 47 48
        $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();
        $footer = Design::where('name_design', 'like', '%footer_row%')->get();
Aan Choesni Herlingga committed
49

50
        $viewer['viewer'] = (int) $data->viewer + 1;
Aan Choesni Herlingga committed
51 52 53
        $data->update($viewer);

        $data = [
54 55
            'setting' => $setting,
            'data' => $data,
Aan Choesni Herlingga committed
56
            'terkait' => $terkait,
57 58 59 60 61 62 63
            'menu' => $menu,
            'widget_right' => $widget_right,
            'widget_left' => $widget_left,
            'resend' => $resend,
            'hot' => $hot,
            'categories' => $categories,
            'footer' => $footer,
Aan Choesni Herlingga committed
64 65 66 67
        ];

        return $data;
    }
68

Aan Choesni Herlingga committed
69 70
    public function getDataEn($setting, $title)
    {
71 72
        $setting = webprofilesetting();
        $data = Posts::with(['rEn'])->where('slug', $title)->first();
Aan Choesni Herlingga committed
73
        $terkait = Posts::with(['rEn'])->where('categories', $data->categories)->orderBy('created_at', 'desc')->limit('4')->get();
74 75 76 77 78 79 80
        $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();
        $footer = Design::where('name_design', 'like', '%footer_row%')->get();
Aan Choesni Herlingga committed
81 82 83 84 85

        $viewer['viewer'] = (int) $data->viewer + 1;
        $data->update($viewer);

        $data = [
86 87
            'setting' => $setting,
            'data' => $data,
Aan Choesni Herlingga committed
88
            'terkait' => $terkait,
89 90 91 92 93 94 95
            'menu' => $menu,
            'widget_right' => $widget_right,
            'widget_left' => $widget_left,
            'resend' => $resend,
            'hot' => $hot,
            'categories' => $categories,
            'footer' => $footer,
Aan Choesni Herlingga committed
96 97 98 99
        ];

        return $data;
    }
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131

    public function getDataDe($setting, $title)
    {
        $setting = webprofilesetting();
        $data = Posts::with(['rDe'])->where('slug', $title)->first();
        $terkait = Posts::with(['rDe'])->where('categories', $data->categories)->orderBy('created_at', 'desc')->limit('4')->get();
        $resend = Posts::with(['rDe'])->where('post_status', '1')->orderby('post_date', 'desc')->limit('5')->get();
        $hot = Posts::with(['rDe'])->where('post_status', '1')->orderby('viewer', 'desc')->limit('5')->get();
        $categories = Categories::with(['rDe'])->where('is_active', '1')->get();
        $menu = Menu::with(['rDe'])->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();
        $footer = Design::where('name_design', 'like', '%footer_row%')->get();

        $viewer['viewer'] = (int) $data->viewer + 1;
        $data->update($viewer);

        $data = [
            'setting' => $setting,
            'data' => $data,
            'terkait' => $terkait,
            'menu' => $menu,
            'widget_right' => $widget_right,
            'widget_left' => $widget_left,
            'resend' => $resend,
            'hot' => $hot,
            'categories' => $categories,
            'footer' => $footer,
        ];

        return $data;
    }
Aan Choesni Herlingga committed
132
}