uawdijnntqw1x1x1
IP : 216.73.216.145
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
learnoid.codeskitter.site
/
tests
/
..
/
app
/
Repositories
/
CourseRepository.php
/
/
<?php namespace App\Repositories; use Abedin\Maker\Repositories\Repository; use App\Enum\MediaTypeEnum; use App\Http\Requests\CourseStoreRequest; use App\Http\Requests\CourseUpdateRequest; use App\Models\Course; class CourseRepository extends Repository { public static function model() { return Course::class; } public static function storeByRequest(CourseStoreRequest $request) { $isActive = false; if (isset($request->is_active)) { $isActive = $request->is_active === "on" ?? true; } $media = $request->hasFile('media') ? MediaRepository::storeByRequest( $request->file('media'), 'course/thumbnail', MediaTypeEnum::IMAGE ) : null; $video = $request->hasFile('video') ? MediaRepository::storeByRequest( $request->file('video'), 'course/video', MediaTypeEnum::VIDEO ) : null; $course = self::create([ 'category_id' => $request->category_id, 'title' => $request->title, 'media_id' => $media ? $media->id : null, 'video_id' => $video ? $video->id : null, 'description' => json_encode($request->description), 'regular_price' => $request->regular_price, 'price' => $request->price, 'instructor_id' => $request->instructor_id, 'is_active' => $isActive, 'published_at' => $request->is_active ? now() : null ]); foreach ($request->chapters ?? [] as $requestChapter) { $chapter = ChapterRepository::create([ 'title' => $requestChapter['title'], 'serial_number' => $requestChapter['serial_number'], 'course_id' => $course->id ]); foreach ($requestChapter['contents'] as $requestContent) { $contentMedia = isset($requestContent['media']) ? MediaRepository::storeByRequest( $requestContent['media'], 'course/chapter/content/media', MediaTypeEnum::IMAGE ) : null; ContentRepository::create([ 'chapter_id' => $chapter->id, 'media_id' => $contentMedia ? $contentMedia->id : null, 'title' => $requestContent['title'], 'type' => $requestContent['type'], 'serial_number' => $requestContent['serial_number'] ]); } } return $course; } public static function updateByRequest(CourseUpdateRequest $request, Course $course) { $isActive = false; if (isset($request->is_active)) { $isActive = $request->is_active === "on" ?? true; } $media = $course->media; if ($request->hasFile('media')) { $media = MediaRepository::updateByRequest( $request->file('media'), $media, 'course/thumbnail', MediaTypeEnum::IMAGE ); } $video = $course->video; if ($request->hasFile('video')) { $video = MediaRepository::updateOrCreateByRequest( $request->file('video'), 'course/video', $video, MediaTypeEnum::VIDEO ); } if ($course->video) { $video = $request->hasFile('video') ? MediaRepository::updateByRequest( $request->file('video'), $course->video, 'course/video', MediaTypeEnum::VIDEO ) : $course->video; } else { $video = $request->hasFile('video') ? MediaRepository::storeByRequest( $request->file('video'), 'course/video', MediaTypeEnum::VIDEO ) : null; } return self::update($course, [ 'category_id' => $request->category_id ?? $course->category_id, 'title' => $request->title ?? $course->title, 'media_id' => $media ? $media->id : $course->media->id, 'video_id' => $video ? $video->id : null, 'description' => json_encode($request->description) ?? $course->description, 'regular_price' => $request->regular_price ?? null, 'price' => $request->price, 'instructor_id' => $request->instructor_id ?? $course->instructor_id, 'is_active' => $isActive, 'published_at' => $request->is_active == 'on' ? now() : null ]); } }
/home/users/unlimited/www/learnoid.codeskitter.site/tests/../app/Repositories/CourseRepository.php