|
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 : |
<?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 & 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 & 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);
}
}