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/navinclasses.studylms.in/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/navinclasses.studylms.in/app/Http/Controllers/RevisionMaterialController.php
<?php

namespace App\Http\Controllers;

use App\Models\Log;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Models\Revision_material;
use App\Models\Product;
use App\Models\Revision_material_file;
use App\Models\User;
use App\Models\Material;
use Illuminate\Support\Facades\Session;

class RevisionMaterialController extends Controller
{

	/**
	 * Display a listing of the resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function indexRevision(Request $request, $prod_id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';

		$info = Product::find($prod_id);
		$data['info'] = $info;

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

		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {

			$search_text = $_GET['query'];
			$data['revisions'] = DB::table('revision_materials')
				->where('type', '=', 'revision')
				->where('product_id', '=', $prod_id)
				->orwhere('chapters', 'LIKE', '%' . $search_text . '%')
				->paginate(10);
		} else {
			$data['revisions'] = DB::table('revision_materials')->where('product_id', '=', $prod_id)->where('type', '=', 'revision')->paginate(10);
		}
		return view('admin.revisionmaterial.revision-list', $data);
	}

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

		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['products'] = Product::get();

		return view('admin.revisionmaterial.add-revision-chapter', $data);
	}


	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function storeRevision(Request $request)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'chapters' => 'required'
		]);

		$sort_order = 1;
		$_sortOrder = Revision_material::where('type', '=', 'revision')->get()->last();
		if (!empty($_sortOrder)) {
			$sort_order =  $_sortOrder->sort + 1;
		}

		$data = array(
			'product_id' => $request->product_id,
			'type' => $request->type,
			'chapters' => $request->chapters,
			'admin_id' => $admin_id,
			'sort'  => $sort_order,
			'created_at' => date('Y-m-d H:i:s')
		);

		$res =  Revision_material::create($data);

		if ($res) {
			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Revision_material into Product ID: " . $request->product_id . ", type" . $request->type . ", chapter" . $request->chapters . " added",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============
			return back()->with('success', $request->chapters . 'Has Been Added!.');
		} else {
			return back()->with('error', 'Something Went Wrong!');
		}
	}

	/**
	 * Display the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function showRevisionChapter($id, $prod_id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['revision_material'] = Revision_material::where(['id' => $id])->first();
		return view('admin.revisionmaterial.view-revision-chapter', $data);
	}

	/**
	 * Show the form for editing the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function editRevisionChapter($id, $prod_id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['revision'] = Revision_material::where(['id' => $id])->first();

		$data['products'] = Product::get();
		return view('admin.revisionmaterial.edit-revision-chapter', $data);
	}

	/**
	 * Update the specified resource in storage.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function updateRevisionChapter(Request $request, $id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'chapters' => 'required',
			'sort' => 'required',
		]);

		$data = array(
			'chapters' => $request->chapters,
			'admin_id' => $admin_id,
			'sort' => $request->sort
		);

		$res = Revision_material::where(['id' => $id])->update($data);
		if ($res) {
			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Revision_material  ID: " . $id . ", chapters" . $request->chapters . " updated",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============
			return back()->with('success', $request->chapters . ' Has Been Updated!.');
		} else {
			return back()->with('error', 'Something Went Wrong!');
		}
	}

	/**
	 * Remove the specified resource from storage.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function destroyRevision($id)
	{
		Revision_material_file::where(['revision_material_id' => $id])->delete();
		Revision_material::where(['id' => $id])->delete();
		// Log Data Entry ===========
		$logData = array(
			'user_id' 		=> Session::get('loggedIn')['id'],
			'activity' 		=> "Revision_material ID:" . $id . ", revision_material_id: " . $id . "deleted",
			'created_at'	=> date('Y-m-d H:i:s')
		);
		Log::create($logData);
		// End Log =============
		return back()->with('success', 'Revision deleted successfully');
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function revisionFileList(Request $request, $id, $prod_id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {

			$search_text = $_GET['query'];
			$data['revisions'] = DB::table('revision_material_files')
				->where('revision_material_id', $id)
				->paginate(10);
		} else {
			$data['revisions'] = DB::table('revision_material_files')->where('revision_material_id', $id)->paginate(10);
		}

		$data['chapter'] = Revision_material::where('id', $id)->first();

		return view('admin.revisionmaterialfile.revision-file-list', $data);
	}


	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function createRevisionFile(Request $request, $id, $prod_id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['chapter'] = Revision_material::where('id', $id)->first();

		return view('admin.revisionmaterialfile.add-revision-file', $data);
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function saveRevisionFile(Request $request, $id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'file_name' => 'required',
			'file_url' => 'required'
		]);


		$data = array(
			'revision_material_id' => $id,
			'file_name' => $request->file_name,
			'files_url' => $request->file_url,
			'admin_id'  => $admin_id,
			'type'      => 'video',
			'created_at' => date('Y-m-d H:i:s')
		);

		$res =  Revision_material_file::create($data);


		if ($res) {
			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Revision_material_file ID:" . $id . ", file_name: " . $request->file_name . " added",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============

			return back()
				->with('success', $request->file_name . ' Has Been Added!.');
		} else {
			return back()
				->with('error', 'Something Went Wrong!');
		}
	}

	// Material ==============================================================================================

	/**
	 * Display a listing of the resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function indexMaterial(Request $request, $prod_id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';

		$info = Product::find($prod_id);
		$data['info'] = $info;

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

		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {

			$search_text = $_GET['query'];
			$data['materials'] = DB::table('revision_materials')
				->where('type', '=', 'material')
				->where('product_id', '=', $prod_id)
				->orwhere('chapters', 'LIKE', '%' . $search_text . '%')
				->paginate(10);
		} else {
			$data['materials'] = DB::table('revision_materials')->where('product_id', '=', $prod_id)->where('type', '=', 'material')->paginate(10);
		}
		return view('admin.revisionmaterial.material-list', $data);
	}

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

		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['products'] = Product::get();

		return view('admin.revisionmaterial.add-material-chapter', $data);
	}


	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function storeMaterial(Request $request)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'chapters' => 'required'
		]);

		$sort_order = 1;
		$_sortOrder = Revision_material::where('type', '=', 'material')->get()->last();
		if (!empty($_sortOrder)) {
			$sort_order =  $_sortOrder->sort + 1;
		}

		$data = array(
			'product_id' => $request->product_id,
			'type' => $request->type,
			'chapters' => $request->chapters,
			'admin_id' => $admin_id,
			'sort'  => $sort_order,
			'created_at' => date('Y-m-d H:i:s')
		);

		$res =  Revision_material::create($data);

		if ($res) {

			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Revision_material Product ID:" . $request->product_id . ", type: " . $request->type . ", chapter" . $request->chapters . " added",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============
			return back()->with('success', $request->chapters . 'Has Been Added!.');
		} else {
			return back()->with('error', 'Something Went Wrong!');
		}
	}


	/**
	 * Display the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function showMaterialChapter($id, $prod_id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['revision_material'] = Revision_material::where(['id' => $id])->first();
		return view('admin.revisionmaterial.view-material-chapter', $data);
	}

	/**
	 * Show the form for editing the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function editMaterialChapter($id, $prod_id)
	{
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['revision'] = Revision_material::where(['id' => $id])->first();

		$data['products'] = Product::get();
		return view('admin.revisionmaterial.edit-material-chapter', $data);
	}

	/**
	 * Update the specified resource in storage.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function updateMaterialChapter(Request $request, $id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'chapters' => 'required',
			'sort' => 'required',
		]);

		$data = array(
			'chapters' => $request->chapters,
			'admin_id' => $admin_id,
			'sort' => $request->sort
		);

		$res = Revision_material::where(['id' => $id])->update($data);
		if ($res) {
			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Revision_material ID:" . $id . ", chapter" . $request->chapters . " updated",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============
			return back()->with('success', $request->chapters . ' Has Been Updated!.');
		} else {
			return back()->with('error', 'Something Went Wrong!');
		}
	}

	/**
	 * Remove the specified resource from storage.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function destroyMaterial($id)
	{
		Revision_material_file::where(['revision_material_id' => $id])->delete();
		Revision_material::where(['id' => $id])->delete();

		// Log Data Entry ===========
		$logData = array(
			'user_id' 		=> Session::get('loggedIn')['id'],
			'activity' 		=> "Revision_material ID:" . $id . " Material deleted",
			'created_at'	=> date('Y-m-d H:i:s')
		);
		Log::create($logData);
		// End Log =============
		return back()->with('success', 'Material deleted successfully');
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function materialFileList(Request $request, $id, $prod_id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {

			$search_text = $_GET['query'];
			$data['materials'] = DB::table('revision_material_files')
				->where('revision_material_id', $id)
				->paginate(10);
		} else {
			$data['materials'] = DB::table('revision_material_files')->where('revision_material_id', $id)->paginate(10);
		}

		$data['chapter'] = Revision_material::where('id', $id)->first();

		return view('admin.revisionmaterialfile.material-file-list', $data);
	}


	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function createMaterialFile(Request $request, $id, $prod_id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$data['mainMenu'] = 'productManagement';
		$data['subMenu'] = 'productList';
		$info = Product::find($prod_id);
		$data['info'] = $info;

		$data['chapter'] = Revision_material::where('id', $id)->first();

		return view('admin.revisionmaterialfile.add-material-file', $data);
	}

	public function searchPublicContent(Request $request)
	{
		$public_content = "";
		if (isset($request->search) && strlen($request->search) > 0) {

			$search_text = $request->search;
			$public_content = DB::table('materials')->where('filename', 'LIKE', '%' . $search_text . '%')->get()->toJson();
		}
		return response()->json(['public_content' => $public_content], 201);
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function saveMaterialFile(Request $request, $id)
	{
		$admin_id = $request->session()->get('loggedIn')['id'];
		$request->validate([
			'file_name' => 'required',
			'public_content' => 'required'
		]);


		$data = array(
			'revision_material_id' => $id,
			'file_name' => $request->file_name,
			'files_url' => $request->public_content,
			'admin_id'  => $admin_id,
			'type'      => 'pdf',
			'created_at' => date('Y-m-d H:i:s')
		);

		$res =  Revision_material_file::create($data);


		if ($res) {
			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Revision_material_file ID:" . $id . ", file" . $request->file_name . " Material added",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============
			return back()
				->with('success', $request->file_name . ' Has Been Added!.');
		} else {
			return back()
				->with('error', 'Something Went Wrong!');
		}
	}

	// Delete revision & Material file
	public function destroyRevision_Material_file($id)
	{
		Revision_material_file::where(['id' => $id])->delete();
		// Log Data Entry ===========
		$logData = array(
			'user_id' 		=> Session::get('loggedIn')['id'],
			'activity' 		=> "Revision_material_file ID:" . $id . " Material deleted",
			'created_at'	=> date('Y-m-d H:i:s')
		);
		Log::create($logData);
		// End Log =============
		return back()->with('success', 'Material deleted successfully');
	}
}

Anon7 - 2021