src/ApiBundle/Api/Resource/Course/CourseTaskMedia.php

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace ApiBundle\Api\Resource\Course;

use ApiBundle\Api\Annotation\Access;
use ApiBundle\Api\Annotation\ApiConf;
use ApiBundle\Api\ApiRequest;
use ApiBundle\Api\Resource\AbstractResource;
use Biz\Activity\ActivityException;
use Biz\Activity\Service\ActivityService;
use Biz\Classroom\ClassroomException;
use Biz\Common\CommonException;
use Biz\Course\MemberException;
use Biz\Course\Service\CourseService;
use Biz\Course\Service\MemberService;
use Biz\File\Service\UploadFileService;
use Biz\File\UploadFileException;
use Biz\Player\PlayerException;
use Biz\Player\Service\PlayerService;
use Biz\System\Service\SettingService;
use Biz\Task\Service\TaskService;
use Biz\User\UserException;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;

class CourseTaskMedia extends AbstractResource
{
    /**
     * @param ApiRequest $request
     * @param $courseId
     * @param $taskId
     *
     * @return array
     * @Access(roles="")
     * @ApiConf(isRequiredAuth=false)
     */
    public function get(ApiRequest $request, $courseId, $taskId)
    {
        $ssl = $request->getHttpRequest()->isSecure() ? true : false;
        $preview = $request->query->get('preview');
        if ($preview) {
            $task = $this->getTaskService()->getTask($taskId);
            $course = $this->getCourseService()->getCourse($task['courseId']);
            $this->checkPreview($course, $task);
        } else {
            $task = $this->getTaskService()->tryTakeTask($taskId);
            list($course, $member) = $this->getCourseService()->tryTakeCourse($task['courseId']);
        }

        $activity = $this->getActivityService()->getActivity($task['activityId'], true);
        $method = 'get'.$activity['mediaType'];
        if (!method_exists($this, $method)) {
            throw CommonException::NOTFOUND_METHOD();
        }
        $media = $this->$method($course, $task, $activity, $request->getHttpRequest(), $ssl);

        return array(
            'mediaType' => $activity['mediaType'],
            'media' => $media,
        );
    }

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。