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

namespace App\Http\Controllers;

use App\Models\Log;
use App\Models\User;
use App\Models\Product;
use App\Models\Category;
use App\Models\S3bucket;
use App\Models\Re_s3bucket;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;

class ReVideoController extends Controller
{
	/**
	 * Display a listing of the resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function index()
	{
		$data['mainMenu'] = 'video';
		$data['subMenu'] = 'revideoList';
		$data['folder_name'] = 'navinclassess';

		if (isset($_GET['query']) && strlen($_GET['query']) > 1) {
			$search_text = $_GET['query'];
			$data['products'] = DB::table('re_s3buckets')->where('filename', 'LIKE', '%' . $search_text . '%')->paginate(10);
			return view('admin.re-video.video-list', $data);
		} else {
			$data['products'] = DB::table('re_s3buckets')->paginate(10);
			return view('admin.re-video.video-list', $data);
		}
	}

	/**
	 * Show the form for creating a new resource.
	 *
	 * @return \Illuminate\Http\Response
	 */
	public function create()
	{
		$data['mainMenu'] = 'video';
		$data['subMenu'] = 'revideoList';
		// $data['videos'] = s3bucket::get();
		$etag_arr = [];
		$reetag_arr = [];
		$s3videos = s3bucket::get();
		if (!empty($s3videos)) {
			foreach ($s3videos as $video) {
				$etag_arr[] =  $video->etag;
			}
		}

		$re_videos = Re_s3bucket::get();

		if (!empty($re_videos)) {
			foreach ($re_videos as $re_video) {
				$reetag_arr[] =  $re_video->etag;
			}
		}

		$notMapids =  array_diff($etag_arr, $reetag_arr);




		$data['videos'] = s3bucket::whereIn('etag', $notMapids)->get();

		return view('admin.re-video.upload-video', $data);
	}

	/**
	 * Store a newly created resource in storage.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @return \Illuminate\Http\Response
	 */
	public function store(Request $request)
	{
		$originalname = $request->originalname;
		$customname = $request->customname;
		$time = $request->time;
		$video_id = $request->video_id;


		$public_datas = array_combine($video_id, $customname);
		$time_datas = array_combine($video_id, $time);

		if (!empty($public_datas)) {
			foreach ($public_datas as $key => $public_data) {
				$s3bucket = s3bucket::where(['etag' => $key])->first();
				// dd($key);
				$data = array(
					'filename' => $s3bucket->filename,
					'public_name' => $public_data,
					'path' => $s3bucket->path,
					'etag' => $s3bucket->etag,
					'size' => $s3bucket->size,
					'type' => $s3bucket->type,
					'admin_id' => $s3bucket->admin_id,
					'date' => $s3bucket->date,
				);

				Re_s3bucket::create($data);
				// Log Data Entry ===========
				$logData = array(
					'user_id' 		=> Session::get('loggedIn')['id'],
					'activity' 		=> "Re_s3bucket " . $s3bucket->filename . " video Added",
					'created_at'	=> date('Y-m-d H:i:s')
				);
				Log::create($logData);
				// End Log =============
			}
		}

		if (!empty($time_datas)) {
			foreach ($time_datas as $key => $time_data) {
				$time_seconds = $time_data * 60;
				$s3bucket = s3bucket::where(['etag' => $key])->first();
				$data = array(
					'duration' => $time_seconds,
				);
				Re_s3bucket::where(['etag' => $key])->update($data);
			}

			return back()
				->with('success', ' Video Has Been Added!.');
		}
	}

	/**
	 * Display the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function show($id)
	{
		//
	}

	/**
	 * Show the form for editing the specified resource.
	 *
	 * @param  int  $id
	 * @return \Illuminate\Http\Response
	 */
	public function edit($id)
	{
		$data['mainMenu'] = 'video';
		$data['subMenu'] = 'revideoList';

		$data['video'] = Re_s3bucket::where(['etag' => $id])->first();

		return view('admin.re-video.edit-video', $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)
	{

		$request->validate([
			'public_name' => 'required',
			'time' => 'required'

		]);

		$time_seconds = 0;
		if (!empty($request->time)) {
			// sscanf($request->time, "%d:%d:%d", $hours, $minutes, $seconds);
			// $time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;
			$time_seconds = $request->time * 60;
		}

		$data = array(
			'public_name' => $request->public_name,
			'duration' => $time_seconds
		);

		$res = Re_s3bucket::where(['etag' => $id])->update($data);
		if ($res) {
			// Log Data Entry ===========
			$logData = array(
				'user_id' 		=> Session::get('loggedIn')['id'],
				'activity' 		=> "Re_s3bucket  Etag" . $id . " video updated",
				'created_at'	=> date('Y-m-d H:i:s')
			);
			Log::create($logData);
			// End Log =============
			return back()
				->with('success', $request->public_name . ' 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 destroy($id)
	{
		Re_s3bucket::where(['etag' => $id])->delete();
		// Log Data Entry ===========
		$logData = array(
			'user_id' 		=> Session::get('loggedIn')['id'],
			'activity' 		=> "Re_s3bucket  Etag" . $id . " video deleted",
			'created_at'	=> date('Y-m-d H:i:s')
		);
		Log::create($logData);
		// End Log =============
		return back()->with('success', 'Post deleted successfully');
	}


	// play video history

	public function playVideoHistoryList()
	{
		$data['mainMenu'] = 'video';
		$data['subMenu'] = 'playvideoHistList';

		if (isset($_GET['query']) && (strlen($_GET['query']) > 1) ||  isset($_GET['user']) || isset($_GET['course']) || isset($_GET['video'])) {
			$search_text = $_GET['query'];
			$query = DB::table('video_histories as V');

			if (!empty($_GET['course'])) {
				$query->where('P.name', $_GET['course']);
			}

			if (!empty($_GET['user'])) {
				$query->where('U.user_unique_id', $_GET['user']);
			}

			if (!empty($_GET['video'])) {
				$query->where('R.etag', $_GET['video']);
			}

			$query->join('users as U', 'U.user_unique_id', '=', 'V.user_unique_id');
			$query->join('products as P', 'P.id', '=', 'V.product_id');
			$query->join('re_s3buckets as R', 'R.etag', '=', 'V.video_id');
			// ->where(['P.admin_id'=>$admin_id,'P.status'=>'1'])              
			$query->select('V.*', 'U.name', 'U.email', 'P.name as product_name', 'R.filename');
			$query->orderBy('sort_order', 'ASC');
			$data['videoHistories'] = $query->paginate(10);
		} else {

			$data['videoHistories'] = DB::table('video_histories as V')
				->join('users as U', 'U.user_unique_id', '=', 'V.user_unique_id')
				->join('products as P', 'P.id', '=', 'V.product_id')
				->join('re_s3buckets as R', 'R.etag', '=', 'V.video_id')
				->select('V.*', 'U.name', 'U.email', 'P.name as product_name', 'R.filename')
				->orderBy('sort_order', 'ASC')
				->paginate(10);
		}

		$data['users'] = User::get();
		$data['products'] = Product::get();
		$data['videos'] = Re_s3bucket::get();

		return view('admin.re-video.play-video-history-list', $data);
	}
}

Anon7 - 2021