UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_0fbd48a558b0
/
app
/
Services
/
Admin
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
BadgeRuleService.php
<?php namespace EstudioLMS\Services\Admin; use EstudioLMS\Helpers\GetDataRecords; use EstudioLMS\Repositories\Gamification\BadgeRuleInterface; use EstudioLMS\Repositories\Gamification\RuleTypes\QuizWithAverageBetweenInterface; use EstudioLMS\Services\Environment\CourseService; use Prettus\Repository\Exceptions\RepositoryException; class BadgeRuleService { /** * @var BadgeRuleInterface */ private $badgeRule; /** * @var GetDataRecords */ private $dataRecords; /** * @var CourseService */ private $courseService; /** * @var QuizWithAverageBetweenInterface */ private $quizWithAverageBetween; /** * BadgeRuleService constructor. * @param BadgeRuleInterface $badgeRule * @param GetDataRecords $dataRecords * @param CourseService $courseService * @param QuizWithAverageBetweenInterface $quizWithAverageBetween */ public function __construct( BadgeRuleInterface $badgeRule, GetDataRecords $dataRecords, CourseService $courseService, QuizWithAverageBetweenInterface $quizWithAverageBetween ) { $this->badgeRule = $badgeRule; $this->dataRecords = $dataRecords; $this->courseService = $courseService; $this->quizWithAverageBetween = $quizWithAverageBetween; } public function create($data) { try { $created = $this->badgeRule->create($data); return ['success' => true, 'message' => trans('game_rule.createSuccess'), 'id' => $created['id']]; } catch (RepositoryException $e) { return ['success' => false, 'message' => $e->getCode() . ' - ' . $e->getMessage()]; } } public function update($data) { try { $created = $this->badgeRule->update($data, $data['id']); return ['success' => true, 'message' => trans('game_rule.updateSuccess'), 'id' => $created['id']]; } catch (RepositoryException $e) { return ['success' => false, 'message' => $e->getCode() . ' - ' . $e->getMessage()]; } } public function getAllQuizWithAverageByCourse($courseId) { return $this->courseService->allQuizzesWithAverageByCourse($courseId, true); } public function allResourceTypesThatCanBeViewedByCourse($courseId) { return $this->courseService->allResourceTypesByCourse(2, true); } public function getRuleCompleteData($ruleType, $ruleId) { switch ($ruleType) { case 1: return $this->quizWithAverageBetween->findByField('badge_rule_id', $ruleId)->first(); case 2: return $this->lessonViewed->findByField('badge_rule_id', $ruleId)->first(); } } public function storeComplement($data) { try { $created = $this->quizWithAverageBetween->create($data); return ['success' => true, 'message' => trans('rule_quiz_average.createSuccess'), 'id' => $created['id']]; } catch (RepositoryException $e) { return ['success' => false, 'message' => $e->getCode() . ' - ' . $e->getMessage()]; } } public function updateComplement($data) { try { $updated = $this->quizWithAverageBetween->update($data, $data['id']); return ['success' => true, 'message' => trans('rule_quiz_average.createSuccess'), 'id' => $updated['id']]; } catch (RepositoryException $e) { return ['success' => false, 'message' => $e->getCode() . ' - ' . $e->getMessage()]; } } }
Copyright © 2026 - UnknownSec