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

namespace App\Http\Controllers;

use App\Models\User;
use App\Models\Content;
use App\Models\Product;
use App\Models\Category;
use App\Models\S3bucket;
use App\Models\Videotag;
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';

		$data['tags']  = Videotag::get();

		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);
			}
		}

		if (!empty($time_datas)) {
			foreach ($time_datas as $key => $time_data) {
				// sscanf($time_data, "%d:%d:%d", $hours, $minutes, $seconds);

				// $time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;
				$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['tags']  = Videotag::get();
		$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',
			'tags' => 'required',


		]);

		$time_seconds = 0;
		if (!empty($request->time)) {
			$time_seconds = $request->time * 60;
		}

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

		$res = Re_s3bucket::where(['etag' => $id])->update($data);
		if ($res) {
			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)
	{
		Content::where(['video_id' => $id])->delete();
		Re_s3bucket::where(['etag' => $id])->delete();
		return back()->with('success', 'Video deleted successfully');
	}

	public function destroyAll(Request $request)
	{
		$ids = $request->post('ids');
		$query = Re_s3bucket::whereIn('id', $ids)->delete();
		if ($query) {
			return true;
		}
		return false;
	}


	// play video history

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

		$query = DB::table('video_histories as V');

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

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

			if (!empty($request->query('query'))) {
				$query->Where('R.filename', 'LIKE', '%' .  $_GET['query'] . '%');
			}
		}
		$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);

		$data['users'] = User::get();
		$data['products'] = Product::get();
		$data['videos'] = Re_s3bucket::get();
		return view('admin.re-video.play-video-history-list', $data);
	}

	public function deleteAllObjectMap(Request $request)
	{
		if ($request->method() == 'POST') {
			$len = count($request->post('video_ids'));
			if ($len > 0) {
				$values = $request->post('video_ids');
				Re_s3bucket::whereIn('id', $values)->delete();
				return true;
			} else {
				return false;
			}
		}
	}

	public function assign_multiple_tags(Request $request)
	{
		$re_video_id = $request->re_video_id;
		$tags = $request->tags;
		if (!empty($re_video_id)) {
			$commaTags = NULL;
			if (!empty($tags)) {
				$commaTags = implode(',', $tags);
			}
			$data = array(
				'tags' => $commaTags
			);
			Re_s3bucket::whereIn('id', $re_video_id)->update($data);
			Session::flash('success', 'Tags successfully updated in videos!');
			return true;
		}
		return false;
	}
}

Anon7 - 2021