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/ProductController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\Product;
use App\Models\Admin_user;
use App\Models\Main_category;
use File;

class ProductController extends Controller
{

	/**
	 * Display a listing of the resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function index(Request $request)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$admin_id = $request->session()->get('loggedIn')['id'];

		$admin_id = $request->session()->get('loggedIn')['id'];
		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {

			$search_text = $_GET['query'];
			// dd($search_text);
			$data['products'] = DB::table('products')->where('name', 'LIKE', '%' . $search_text . '%')->where(['admin_id' => $admin_id])->paginate(10);

			return view('admin.product.product-list', $data);
		} else {
			$data['products'] = DB::table('products')->paginate(10);


			return view('admin.product.product-list', $data);
		}
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function create(Request $request)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$data['categories'] = Main_category::where(['admin_id' => $admin_id, 'parent_id' => 0])->get();
		$data['teachers'] = Admin_user::where('parent_id', '>', 0)->get();
		return view('admin.product.add-product', $data);
	}

	/**
	 * Store a newly created resource in storage.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @return \Illuminate\Http\Response
	 */
	public function store(Request $request)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'name' => 'required|unique:products',
			'type' => 'required',
			'short_desc' => 'required',
			'description' => 'required',
			'teacher_id' => 'required',
			'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg',
		]);


		$imageName = time() . rand() . '.' . $request->image->extension();
		$request->image->move(public_path('uploads/products'), $imageName);

		$slug =  str_replace(' ', '-', strtolower($request->name));
		$_sortOrder = Product::get()->last();
		if (empty($_sortOrder)) {
			$sort_order = 1;
		} else {
			$sort_order =  $_sortOrder->sort_order + 1;
		}

		$data = array(
			'admin_id' => $admin_id,
			'cat_id' => $request->selectCatId,
			'teacher_id' => $request->teacher_id,
			'name' => $request->name,
			'type' => $request->type,
			'short_desc' => $request->short_desc,
			'description' => $request->description,
			'video_url' => (!empty($request->videoUrl) ? $request->videoUrl : ''),
			'image' => $imageName,
			'slug' => $slug,
			'sort_order' => $sort_order,
			'status' => 1,
		);

		$categoryType = Main_category::where(['id' => $request->selectCatId])->first();

		if ($categoryType->type == 'category') {
			return back()
				->with('error', 'You Select Category Type!');
		} else {
			$res = Product::create($data);
			if ($res) {
				return back()
					->with('success', $request->name . ' Has Been Added!.');
			} else {
				return back()
					->with('error', 'Something Went Wrong!');
			}
		}
	}

	/**
	 * Display the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function show($id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$data['product'] = Product::where(['id' => $id])->first();
		return view('admin.product.view-product', $data);
	}

	/**
	 * Show the form for editing the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function edit(Request $request, $id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';

		$data['categories'] = Main_category::where(['admin_id' => $admin_id, 'parent_id' => 0])->get();
		$data['product'] = Product::where(['id' => $id])->first();
		$data['teachers'] = Admin_user::where(['role_id' => 8])->get();

		// dd($data['product']);
		return view('admin.product.edit-product', $data);
	}

	/**
	 * Update the specified resource in storage.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function update(Request $request, $id)
	{
		// dd($request->input());
		$admin_id = $request->session()->get('loggedIn')['id'];
		$product = Product::where(['id' => $id])->first();

		if (!empty($request->image)) {
			$request->validate([
				'category' => 'required',
				'name' => 'required',
				'type' => 'required',
				'short_desc' => 'required',
				'description' => 'required',
				// 'videoUrl' => 'required',
				// 'views' => 'required',
				'features' => 'required',
				'teacher_id' => 'required',
				'sort_order' => 'required',
				'slug' => 'required',
				'status' => 'required',
				'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg',
			]);

			if (File::exists(public_path('uploads/products/' . $product->image))) {
				File::delete(public_path('uploads/products/' . $product->image));
			}

			$imageName = time() . rand() . '.' . $request->image->extension();
			$request->image->move(public_path('uploads/products'), $imageName);

			$data = array(
				'cat_id' => $request->category,
				'admin_id' => $admin_id,
				'teacher_id' => $request->teacher_id,
				'name' => $request->name,
				'type' => $request->type,
				'short_desc' => $request->short_desc,
				'description' => $request->description,
				'video_url' => $request->videoUrl,
				'features' => $request->features,
				// 'views' => $request->views,
				'image' => $imageName,
				'slug' => $request->slug,
				'sort_order' => $request->sort_order,
				'status' => $request->status,
			);


			$res = Product::where(['id' => $id])->update($data);
			if ($res) {
				return back()
					->with('success', $request->name . ' Has Been Added!.');
			} else {
				return back()
					->with('error', 'Something Went Wrong!');
			}
		}

		if (empty($request->image)) {
			$request->validate([
				'category' => 'required',
				'name' => 'required',
				'type' => 'required',
				'short_desc' => 'required',
				'description' => 'required',
				// 'videoUrl' => 'required',
				// 'views' => 'required',
				'features' => 'required',
				'teacher_id' => 'required',
				'sort_order' => 'required',
				'slug' => 'required',
				'status' => 'required',
			]);

			$data = array(
				'cat_id' => $request->category,
				'admin_id' => $admin_id,
				'teacher_id' => $request->teacher_id,
				'name' => $request->name,
				'type' => $request->type,
				'short_desc' => $request->short_desc,
				'description' => $request->description,
				'video_url' => $request->videoUrl,
				'features' => $request->features,
				// 'views' => $request->views,
				'slug' => $request->slug,
				'sort_order' => $request->sort_order,
				'status' => $request->status,
			);

			$res = Product::where(['id' => $id])->update($data);
			if ($res) {
				return back()
					->with('success', $request->name . ' Has Been Added!.');
			} else {
				return back()
					->with('error', 'Something Went Wrong!');
			}
		}
	}

	/**
	 * Remove the specified resource from storage.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function destroy($id)
	{
		$delete = Product::where(['id' => $id])->first();
		if (File::exists(public_path('uploads/products/' . $delete->image))) {
			File::delete(public_path('uploads/products/' . $delete->image));
		}
		Product::where(['id' => $id])->delete();
		return back()->with('success', 'Post deleted successfully');
	}
}

Anon7 - 2021