PluginProbe
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses / 2.11.0
FluentCommunity – Ultra-Fast High-Performance Social Network, Community, LMS & Online Courses v2.11.0
2.11.0 2.10.0 2.10.01 2.9.1 2.9.0 2.8.1 2.8.0 2.7.7 2.7.5 2.7.0 2.6.01 2.6.0 2.5.0 2.4.01 trunk 1.0.90 1.0.91 1.0.92 1.0.93 1.0.94 1.0.95 1.0.96 1.0.97 1.0.98 1.0.99 All 78 releases
← All changes | Modules/Course/Http/Controllers/CourseController.php +21 -5 2.7.72.11.0 View file →
@@ -513,9 +513,13 @@
513 513 'message' => __('Please enroll this course first', 'fluent-community')
514 514 ]);
515 515 }
516 516
517 - CourseHelper::resetCourseProgress($courseId, get_current_user_id());
517 + if (!CourseHelper::resetCourseProgress($courseId, get_current_user_id())) {
518 + return $this->sendError([
519 + 'message' => __('Your course progress could not be reset. Please try again.', 'fluent-community')
520 + ]);
521 + }
518 522
519 523 return [
520 524 'message' => __('Your course progress has been reset.', 'fluent-community'),
521 525 'track' => [
@@ -530,9 +534,9 @@
530 534 {
531 535 $user = $this->getUser();
532 536 $isCourseCreator = $user && $user->hasCourseCreatorAccess();
533 537
534 - $courses = Course::where(function ($q) use ($isCourseCreator, $user) {
538 + $coursesQuery = Course::where(function ($q) use ($isCourseCreator, $user) {
535 539 if ($isCourseCreator) {
536 540 $q->where('status', 'published')
537 541 ->orWhere('created_by', $user->ID);
538 542 } else {
@@ -537,11 +541,23 @@
537 541 ->orWhere('created_by', $user->ID);
538 542 } else {
539 543 $q->where('status', 'published');
540 544 }
541 - })
542 - ->with(['creator'])
543 - ->paginate();
545 + });
546 +
547 + if (!($user && $user->isCommunityModerator())) {
548 + $userId = get_current_user_id();
549 + $coursesQuery->where(function ($q) use ($userId) {
550 + $q->whereIn('privacy', ['public', 'private'])
551 + ->orWhereHas('space_pivot', function ($sub) use ($userId) {
552 + $sub->where('user_id', $userId)
553 + ->where('role', 'student');
554 + })
555 + ->orWhere('created_by', $userId);
556 + });
557 + }
558 +
559 + $courses = $coursesQuery->with(['creator'])->paginate();
544 560
545 561 $formattedCourses = [];
546 562 foreach ($courses as $course) {
547 563 $course->sectionsCount = CourseTopic::where('space_id', $course->id)->count();