api/src/Topxia/Api/Resource/Course.php

(开头部分) 2KB

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

<?php

namespace Topxia\Api\Resource;

use Silex\Application;
use Topxia\Api\Util\TagUtil;
use AppBundle\Common\ArrayToolkit;
use Symfony\Component\HttpFoundation\Request;
use Biz\Course\Util\CourseTitleUtils;

class Course extends BaseResource
{
    public function get(Application $app, Request $request, $id)
    {
        $course = $this->getCourseService()->getCourse($id);

        $course['courseSet'] = $this->getCourseSetService()->getCourseSet($course['courseSetId']);

        return $this->filter($course);
    }

    public function filter($course)
    {
        $course = $this->convertOldFields($course);
        $course = $this->filledCourseByCourseSet($course);

        return $course;
    }

    private function convertOldFields($course)
    {
        $course['expiryDay'] = $course['expiryDays'];
        $course['lessonNum'] = $course['taskNum'];
        $course['userId'] = $course['creator'];
        $course['tryLookTime'] = $course['tryLookLength'];
        $course['createdTime'] = date('c', $course['createdTime']);

        $enableAudioStatus = $this->getCourseService()->isSupportEnableAudio($course['enableAudio']);
        $course['isAudioOn'] = $enableAudioStatus ? 1 : 0;
        unset($course['enableAudio']);

        return $course;
    }

    private function filledCourseByCourseSet($course)
    {
        $courseSet = $course['courseSet'];
        $copyKeys = array('tags', 'hitNum', 'orgCode', 'orgId',
            'discount', 'categoryId', 'recommended', 'recommendedSeq', 'recommendedTime',
            'subtitle', 'discountId', 'smallPicture', 'middlePicture', 'largePicture',
        );

        $smallPicture = empty($courseSet['cover']['small']) ? '' : $courseSet['cover']['small'];
        $middlePicture = empty($courseSet['cover']['middle']) ? '' : $courseSet['cover']['middle'];
        $largePicture = empty($courseSet['cover']['large']) ? '' : $courseSet['cover']['large'];
        $courseSetImg = array(
            'smallPicture' => $this->getFileUrl($smallPicture, 'course.png'),
            'middlePicture' => $this->getFileUrl($middlePicture, 'course.png'),
            'largePicture' => $this->getFileUrl($largePicture, 'course.png'),
        );

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

AI 解读 AI

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

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