Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
tbf.ro
/
app
/
Http
/
Controllers
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
CourseController.php
| Size :
6.75
KB
Copy
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Course; use App\CourseRelated; use App\CourseChecklist; use Auth; class CourseController extends Controller { public function index(){ $courses = Course::orderBy('order', 'ASC')->get(); return view('courses.index', compact('courses')); } public function create() { $courses = Course::where('status', 'active')->get(); return view('courses.create', compact('courses')); } public function store(Request $request){ $request->validate([ 'name' => 'required', 'description' => 'required', 'status' => 'required', 'code' => 'required', ]); if($request->video_presentation){ $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://fast.wistia.com/oembed.json?url=". $request->video_presentation ."?embedType=api&handle=oEmbedVideo", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_TIMEOUT => 30000, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( // Set Here Your Requesred Headers 'Content-Type: application/json', ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { $duration = 0; } else { $duration = json_decode($response)->duration; } } $last_course = Course::orderBy('order', 'DESC')->first(); if($last_course){ $no_order = $last_course->order + 1; }else{ $no_order = 0; } $course = Course::create([ 'name' => $request->name, 'description' => $request->description, 'tags' => $request->tags, 'status' => $request->status, 'order' => $no_order, 'code' => $request->code, 'video_presentation' => $request->video_presentation, 'video_presentation_time' => $duration ? $duration : 0, 'price_in_euro' => 0, 'price_in_ron' => 0, 'price_in_usd' => 0, 'discount_in_euro' => 0, 'discount_in_ron' => 0, 'discount_in_usd' => 0, ]); $checklists = $request->checklist; foreach ($checklists as $item) { if($item != ''){ CourseChecklist::create([ 'course_id' => $course->id, 'value' => $item ]); } } $relates = $request->relates; foreach ($relates as $item) { if($item != ''){ CourseRelated::create([ 'course_id' => $course->id, 'related_id' => $item ]); } } $title = 'Fi pe faza, un nou curs a fost adaugat!'; $body = '"' . $course->name .'" iti va face viata mai usoara.'; $data = $course; send_push_notifications($title, $body, $data); return redirect()->route('course-show', $course->id); } public function show($id){ $course = Course::findOrFail($id); $lessons = $course->lessons()->orderBy('order')->get(); return view('courses.show', compact('course', 'lessons')); } public function edit($id){ $course = Course::findOrFail($id); $courses = Course::where('status', 'active')->where('id', '<>', $id)->get(); return view('courses.edit', compact('course', 'courses')); } public function update(Request $request, $id){ $request->validate([ 'name' => 'required', 'description' => 'required', 'status' => 'required', 'code' => 'required', ]); $course = Course::findOrFail($id); if($request->video_presentation){ $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "http://fast.wistia.com/oembed.json?url=". $request->video_presentation ."?embedType=api&handle=oEmbedVideo", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_TIMEOUT => 30000, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", CURLOPT_HTTPHEADER => array( // Set Here Your Requesred Headers 'Content-Type: application/json', ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { $duration = 0; } else { $duration = json_decode($response)->duration; } } $course->update([ 'name' => $request->name, 'description' => $request->description, 'tags' => $request->tags, 'status' => $request->status, 'code' => $request->code, 'video_presentation' => $request->video_presentation, 'video_presentation_time' => $duration ? $duration : 0, 'price_in_euro' => 0, 'price_in_ron' => 0, 'price_in_usd' => 0, 'discount_in_euro' => 0, 'discount_in_ron' => 0, 'discount_in_usd' => 0, ]); $checklists = $request->checklist; CourseChecklist::where('course_id', $course->id)->delete(); foreach ($checklists as $item) { if($item != ''){ CourseChecklist::create([ 'course_id' => $course->id, 'value' => $item ]); } } $relates = $request->relates; CourseRelated::where('course_id', $course->id)->delete(); foreach ($relates as $item) { if($item != ''){ CourseRelated::create([ 'course_id' => $course->id, 'related_id' => $item ]); } } return redirect()->route('course-show', $course->id); } public function delete($id){ $course = Course::findOrFail($id); $course->delete(); return redirect()->back(); } public function order_courses_ajax(Request $request) { $courses_ids = explode(',', $request->courses_in_order); foreach ($courses_ids as $key => $course_id) { $course = Course::findOrFail($course_id); $course->update(['order' => $key]); } return response()->json(['responseText' => 'Ordinea a fost salvata cu success!'], 200); } }
Back