/** * if user is entitled for this action will update quizData on entry * @param entry $dbEntry * @param KalturaQuiz $quiz * @param int $currentVersion * @param kQuiz|null $newQuiz * @return KalturaQuiz * @throws KalturaAPIException */ private function validateAndUpdateQuizData(entry $dbEntry, KalturaQuiz $quiz, $currentVersion = 0, kQuiz $newQuiz = null) { if (!QuizPlugin::validateUserEntitledForQuizEdit($dbEntry)) { throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $quizData = $quiz->toObject($newQuiz); $quizData->setVersion($currentVersion + 1); QuizPlugin::setQuizData($dbEntry, $quizData); $dbEntry->setIsTrimDisabled(true); $dbEntry->save(); $quiz->fromObject($quizData); return $quiz; }
/** * if user is entitled for this action will update quizData on entry * @param entry $dbEntry * @param KalturaQuiz $quiz * @param int $currentVersion * @param kQuiz|null $newQuiz * @return KalturaQuiz * @throws KalturaAPIException */ private function validateAndUpdateQuizData(entry $dbEntry, KalturaQuiz $quiz, $currentVersion = 0, kQuiz $newQuiz = null) { if (!kEntitlementUtils::isEntitledForEditEntry($dbEntry)) { KalturaLog::debug('Update quiz allowed only with admin KS or entry owner or co-editor'); throw new KalturaAPIException(KalturaErrors::INVALID_USER_ID); } $quizData = $quiz->toObject($newQuiz); $quizData->setVersion($currentVersion + 1); QuizPlugin::setQuizData($dbEntry, $quizData); $dbEntry->setIsTrimDisabled(true); $dbEntry->save(); $quiz->fromObject($quizData); return $quiz; }