KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  /var/www/parassaas.edukrypt.in/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/parassaas.edukrypt.in/app/Http/Controllers/FrontendController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
// use Illuminate\Support\Facades\Validator;
// use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\DB;
use App\Models\Main_category;
use App\Helpers\Frontend;

class FrontendController extends Controller
{

    public function __construct()
    {
    }
	
	public function achievers()
	{
		$admin_id = 2;
        $data['title'] = 'Best CA Inter &amp; Foundation Online / Pendrive Classes | CA Coaching in Kolkata';
        $data['frontMenu'] = 'home';
        return view('achievers', $data);
	}

    public function index()
    {
        $admin_id = 2;
        $data['title'] = 'Best CA Inter &amp; Foundation Online / Pendrive Classes | CA Coaching in Kolkata';
        $data['frontMenu'] = 'home';

        $courses  = DB::table('products as P');
        $courses = $courses->join('main_categories as MC', 'MC.id', '=', 'P.cat_id');
        $courses = $courses->where(['P.admin_id' => $admin_id, 'P.status' => '1'])
            ->select('P.*', 'MC.name as category')
            ->orderBy('sort_order', 'ASC')->paginate(4);

        $data['products'] = $courses;
        return view('home', $data);
    }

    // All courses list
    public function courseList(Request $request)
    {
        // print_r($request->category);
        // exit;
        $admin_id = 2;
        $data['title'] = 'Courses';
        $data['frontMenu'] = 'home';
        $data['hello'] = 'home';

        $courses  = DB::table('products as P');
        $courses = $courses->join('main_categories as MC', 'MC.id', '=', 'P.cat_id');

        if (!empty($request->category)) {
            $courses = $courses->where('MC.slug', '=', $request->category);
        }


        $courses = $courses->where(['P.admin_id' => $admin_id, 'P.status' => '1'])
            ->select('P.*', 'MC.name as category')
            ->orderBy('sort_order', 'ASC')->paginate(10);

        $data['products'] = $courses;
        $data['categories'] = Main_category::where(['status' => '1'])->get();

        return view('course-list', $data);
    }

    // Courses Grid
    public function courseGrid()
    {
        $admin_id = 2;
        $data['title'] = 'Navin Classes|Course-grid';
        $data['frontMenu'] = 'home';

        $admin_id = 2;
        $data['title'] = 'Navin Classes|course-list';
        $data['frontMenu'] = 'home';
        $data['hello'] = 'home';

        if (isset($_GET['search']) || isset($_GET['searchCat'])) {
            $search_text = isset($_GET['search']) ? $_GET['search'] : "";
            $searchCat = isset($_GET['searchCat']) ? $_GET['searchCat'] : "";
            if (!empty($_GET['search']) && !empty($_GET['searchCat'])) {

                $data['products'] = DB::table('products as P')
                    ->where('P.name', 'LIKE', '%' . $search_text . '%')
                    ->whereIn('P.cat_id', $searchCat)
                    ->where(['P.admin_id' => $admin_id, 'P.status' => '1'])
                    ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                    ->select('P.*', 'MC.name as category')
                    ->orderBy('P.name', 'ASC')
                    ->paginate(10);
            }

            if (!empty($_GET['search'])) {

                $data['products'] = DB::table('products as P')
                    ->where('P.name', 'LIKE', '%' . $search_text . '%')
                    ->where(['P.admin_id' => $admin_id, 'P.status' => '1'])
                    ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                    ->select('P.*', 'MC.name as category')
                    ->orderBy('P.name', 'ASC')
                    ->paginate(10);
            }

            if (!empty($_GET['searchCat'])) {

                $data['products'] = DB::table('products as P')
                    ->whereIn('P.cat_id', $searchCat)
                    ->where(['P.admin_id' => $admin_id, 'P.status' => '1'])
                    ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                    ->select('P.*', 'MC.name as category')
                    ->orderBy('P.name', 'ASC')
                    ->paginate(10);
            }
        } else {

            $data['products'] = DB::table('products as P')
                ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                ->where(['P.admin_id' => $admin_id, 'P.status' => '1'])
                ->select('P.*', 'MC.name as category')
                ->orderBy('sort_order', 'ASC')
                ->paginate(10);
        }


        $data['categories'] = Main_category::where(['status' => '1'])->get();

        return view('course-grid', $data);
    }

    public function courseDetails($seourl)
    {
        $admin_id = 2;
        $data['title'] = 'Navin Classes | course-details';
        $data['frontMenu'] = 'home';

        $data['product'] = DB::table('products as P')
            ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
            ->where(['P.admin_id' => $admin_id, 'P.status' => '1', 'P.slug' => $seourl])
            ->select('P.*', 'MC.name as category')
            ->first();


        $data['modes'] = DB::table('products as P')
            ->join('prices as MC', 'MC.product_id', '=', 'P.id')
            ->where(['P.admin_id' => $admin_id, 'P.status' => '1', 'P.slug' => $seourl])
            ->select('MC.mode')->groupBy('MC.mode')
            ->get();


        $data['chaptTopics'] = $this->getChapterTopic($seourl);

        return view('course-details', $data);
    }

    public function getChapterTopic($seourl)
    {
        $chaptTopic  = array();
        $prod_id = DB::table('products')->where(['status' => '1', 'slug' => $seourl])->select('id')->first();

        $chapters =  DB::table('categories')->where(['parent_id' => '0', 'product_id' => $prod_id->id])->get();
        // dd($chapters);
        if (!empty($chapters)) {
            foreach ($chapters as $chapter) {
                $chaptarr = array(
                    'id' => $chapter->id,
                    'name' => $chapter->name,
                    'topics' => array()
                );

                //    dd($topics);
                $topics =  DB::table('categories')->where(['parent_id' => $chapter->id, 'product_id' => $prod_id->id])->get();

                if (!empty($topics)) {
                    foreach ($topics as $topic) {
                        $toparr = array(
                            'id' => $topic->id,
                            'name' => $topic->name,

                        );



                        array_push($chaptarr['topics'], $toparr);
                    }
                }



                array_push($chaptTopic, $chaptarr);
            }
        }

        return $chaptTopic;

        // dd($chaptTopic);
    }

    public function getModes(Request $request)
    {
        $mode = $request->mode;
        $product_id = $request->product_id;

        $prices = DB::table('products as P')
            ->join('prices as MC', 'MC.product_id', '=', 'P.id')
            ->where(['P.status' => '1', 'MC.mode' => $mode, 'MC.product_id' => $product_id])
            ->select('MC.id', 'MC.mode', 'MC.duration', 'MC.price')
            ->get();

        echo json_encode($prices);
    }

    public function getPriceDuration(Request $request)
    {
        $mode_id = $request->mode_id;

        $prices = DB::table('products as P')
            ->join('prices as MC', 'MC.product_id', '=', 'P.id')
            ->where(['P.status' => '1', 'MC.id' => $mode_id])
            ->select('MC.*')
            ->first();

        echo json_encode($prices);
    }


    public function dashboard(Request $request)
    {
        $admin_id = 2;
        $data['title'] = 'Navin Classes|course-list';
        $data['frontMenu'] = 'home';
        $data['hello'] = 'home';

        $user_unique_id = $request->session()->get('login_data')['user_unique_id'];

        if (isset($_GET['search']) || isset($_GET['searchCat'])) {
            $search_text = isset($_GET['search']) ? $_GET['search'] : "";
            $searchCat = isset($_GET['searchCat']) ? $_GET['searchCat'] : "";
            if (!empty($_GET['search']) && !empty($_GET['searchCat'])) {



                $data['products'] = DB::table('billings as B')
                    ->where('P.name', 'LIKE', '%' . $search_text . '%')
                    ->whereIn('P.cat_id', $searchCat)
                    ->where(['P.admin_id' => $admin_id, 'P.status' => '1', 'O.expired' => '0', 'O.user_unique_id' => $user_unique_id])
                    ->join('orderproductgroups as O', 'B.id', '=', 'O.billing_id')
                    ->join('products as P', 'P.id', '=', 'O.product_id')
                    ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                    ->select('P.*', 'MC.name as category')
                    ->orderBy('P.name', 'ASC')
                    ->paginate(10);
            }

            if (!empty($_GET['search'])) {

                $data['products'] = DB::table('billings as B')
                    ->where('P.name', 'LIKE', '%' . $search_text . '%')
                    ->where(['P.admin_id' => $admin_id, 'P.status' => '1', 'O.expired' => '0', 'O.user_unique_id' => $user_unique_id])
                    ->join('orderproductgroups as O', 'B.id', '=', 'O.billing_id')
                    ->join('products as P', 'P.id', '=', 'O.product_id')
                    ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                    ->select('P.*', 'MC.name as category')
                    ->orderBy('P.name', 'ASC')
                    ->paginate(10);
            }

            if (!empty($_GET['searchCat'])) {

                $data['products'] = DB::table('billings as B')
                    ->whereIn('P.cat_id', $searchCat)
                    ->where(['P.admin_id' => $admin_id, 'P.status' => '1', 'O.expired' => '0', 'O.user_unique_id' => $user_unique_id])
                    ->join('orderproductgroups as O', 'B.id', '=', 'O.billing_id')
                    ->join('products as P', 'P.id', '=', 'O.product_id')
                    ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                    ->select('P.*', 'MC.name as category')
                    ->orderBy('P.name', 'ASC')
                    ->paginate(10);
            }
        } else {

            // DB::enableQueryLog();

            $data['products'] = DB::table('billings as B')
                ->where(['P.admin_id' => $admin_id, 'P.status' => '1', 'O.expired' => '0', 'O.user_unique_id' => $user_unique_id])
                ->join('orderproductgroups as O', 'B.id', '=', 'O.billing_id')
                ->join('products as P', 'P.id', '=', 'O.product_id')
                ->join('main_categories as MC', 'MC.id', '=', 'P.cat_id')
                ->select('P.*', 'MC.name as category')
                ->orderBy('sort_order', 'ASC')
                ->paginate(10);

            // dd(DB::getQueryLog());
        }


        $data['categories'] = Main_category::where(['status' => '1'])->get();

        // dd($data['products']);

        return view('dashboard', $data);
    }

    public function userHistory(Request $request)
    {
        $data['title'] = 'Navin Classes|course-list';
        $data['frontMenu'] = 'home';
        $data['hello'] = 'home';

        $user_unique_id = $request->session()->get('login_data')['user_unique_id'];

        $data['billings'] = DB::table('billings as B')
            ->where(['B.user_unique_id' => $user_unique_id])
            ->join('orderproductgroups as O', 'B.id', '=', 'O.billing_id')
            ->select('B.*')
            ->orderBy('B.id', 'Desc')
            ->get();

        return view('user-history', $data);
    }
}

Anon7 - 2021