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

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Category;
use App\Models\Main_category;
use Illuminate\Support\Facades\DB;

class CategoryController extends Controller
{
	/**
	 * Display a listing of the resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function index(Request $request, $cat_id = null)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'categoryList';
		$parent_id = (!empty($cat_id)) ? $cat_id : 0;

		if ($parent_id) {
			$cat = Main_category::find($parent_id);
			if ($cat->type == 'content') {
				return back()->with('error', 'Sub category not possible!');
			}
		}

		if ($request->search) {
			$data['categories'] = Main_category::where('parent_id', $parent_id)->where('admin_id', $admin_id)->where('name', 'LIKE', '%' . $request->search . '%')->paginate(10);
		} else {
			$data['categories'] = Main_category::where('parent_id', $parent_id)->where('admin_id', $admin_id)->paginate(10);
		}

		$nav_tree = $this->parentsTree($cat_id, 'main_categories');
		$nav_leafs = $this->array_depth($nav_tree, array());
		$rev_leafs = array_reverse($nav_leafs);
		$final_links = array();

		foreach ($rev_leafs as $leaf) {
			$nav = Main_category::where('slug', $leaf)->first();
			$final_links[$nav->id] = $leaf;
		}

		$data['nav_links'] = $final_links;
		return view('admin.category.category-list', $data);
	}

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

	/**
	 * Store a newly created resource in storage.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @return \Illuminate\Http\Response
	 */
	public function saveCategory(Request $request)
	{

		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'name' => 'required',
			'type' => 'required',
		]);

		$imageName = "noimage.jpg";

		if ($request->hasFile('image')) {
			$imageName = time() . rand() . '.' . $request->image->extension();
			$request->image->move(public_path('uploads/category'), $imageName);
		}


		$slug =  str_replace(' ', '-', strtolower($request->name));

		$_sortOrder = Main_category::where('admin_id', $admin_id)->get()->last();
		if (empty($_sortOrder)) {
			$sort_order = 1;
		} else {
			$sort_order =  $_sortOrder->sort_order + 1;
		}

		if (is_null($request->parent_id)) {
			$parent_id = 0;
		} else {
			$parent_id = $request->parent_id;
		}

		/* Store data name in DATABASE from HERE */

		$data = array(
			'parent_id' => $parent_id,

			'admin_id' => $admin_id,
			'name' => $request->name,
			'type' => $request->type,
			'sort_order' => $sort_order,
			'image' => $imageName,
			'slug' => $slug,


		);

		// dd($data);

		$res = Main_category::create($data);
		if ($res) {
			return back()
				->with('success', $request->name . ' Has Been Added!.');
		} else {
			return back()
				->with('error', 'Something Went Wrong!');
		}
	}

	public function saveSubCategory(Request $request)
	{
		// dd($request->input());

		$admin_id = $request->session()->get('loggedIn')['id'];

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

		$data = array(

			'admin_id' => $admin_id,
			'parent_id' => $request->catId,
			'name' => $request->subcatName,
			'slug' => $slug,
			'sort_order' => $sort_order,

		);

		$res = Main_category::create($data);
		if ($res) {
			echo 1;
		} else {
			echo -1;
		}
	}

	public function getSubCategory(Request $request)
	{
		// dd($request->catId);
		$getSubCat = '';
		$catId = $request->catId;
		$getSubCategory = Main_category::where('parent_id', $catId)->get();

		// print_r($getSubCategory);exit;

		if (!empty($getSubCategory)) {
			$getSubCat  .= '<select class="form-control category">';
			$getSubCat .= '<option value="">Select Category</option>';
			foreach ($getSubCategory as $getSubCateg) {
				$getSubCat .= '<option value=' . $getSubCateg->id . '>' . $getSubCateg->name . '</option>';
			}

			$getSubCat  .= '</select">';
		}

		// dd($getSubCat);

		return response()->json($getSubCat);
	}




	/**
	 * Display the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function show(Request $request, $id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];

		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'categoryList';
		$data['category'] = Main_category::where(['id' => $id])->first();
		// dd($data['category']);
		return view('admin.category.view-main-category', $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'] = 'categoryList';
		$data['category'] = Main_category::where(['id' => $id])->first();
		// dd($data['category']);
		return view('admin.category.edit-main-category', $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)
	{
		$data = array(


			'name' => $request->name,
			'type' => $request->type,

			'sort_order' => $request->sort_order,


		);

		$res = Main_category::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)
	{
		//    dd($id);
		Main_category::where(['id' => $id])->delete();
		return back()->with('success', 'Category deleted successfully');
	}

	public function parentsTree($id, $tble)
	{
		$row1 = [];
		// $row = $this->db->query("SELECT id,name,parent_id,seo_url from $tble WHERE id = $id order by sort ASC")->result_array(); 
		$row = DB::table($tble)->select('*')->where('id', $id)->get();

		foreach ($row as $key => $value) {
			$id = $value->parent_id;
			$row1[$key]['id'] = $value->id;
			$row1[$key]['parent_id'] = $value->parent_id;
			$row1[$key]['name'] = $value->name;
			$row1[$key]['slug'] = $value->slug;
			$row1[$key]['parent'] = array_values($this->parentsTree($id, $tble));
		}

		return $row1;
	}

	public function array_depth(array $array, array $result)
	{
		foreach ($array as $key => $elem) {
			if (!is_array($elem)) {
				if ($key == 'slug')
					array_push($result, $elem);
			} else {
				return $this->array_depth($elem, $result);
			}
		}

		return $result;
	}
}

Anon7 - 2021