src/ApiBundle/Api/Resource/Page/PageCourse.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace ApiBundle\Api\Resource\Page;
use ApiBundle\Api\ApiRequest;
use ApiBundle\Api\Annotation\ApiConf;
use ApiBundle\Api\Resource\AbstractResource;
use ApiBundle\Api\Annotation\ResponseFilter;
use AppBundle\Common\ArrayToolkit;
class PageCourse extends AbstractResource
{
const DEFAULT_DISPLAY_COUNT = 5;
/**
* @ApiConf(isRequiredAuth=false)
* @ResponseFilter(class="ApiBundle\Api\Resource\Page\PageCourseFilter", mode="public")
*/
public function get(ApiRequest $request, $portal, $courseId)
{
$course = $this->getCourseService()->getCourse($courseId);
$user = $this->getCurrentUser();
$member = null;
if (!empty($user['id'])) {
$apiRequest = new ApiRequest('/api/me/course_members/'.$courseId, 'GET', array());
$member = $this->invokeResource($apiRequest);
}
$course['member'] = $member;
$course['learnedCompulsoryTaskNum'] = empty($member) ? 0 : $member['learnedCompulsoryTaskNum'];
$this->getOCUtil()->single($course, array('creator', 'teacherIds'));
$this->getOCUtil()->single($course, array('courseSetId'), 'courseSet');
$course['access'] = $this->getCourseService()->canJoinCourse($courseId);
$course['courseItems'] = $this->container->get('api.util.item_helper')->convertToLeadingItemsV2(
$this->getCourseService()->findCourseItems($courseId),
$course,
$request->getHttpRequest()->isSecure(),
$request->query->get('fetchSubtitlesUrls', 0),
$request->query->get('onlyPublished', 0)
);
$course['allowAnonymousPreview'] = $this->getSettingService()->get('course.allowAnonymousPreview', 1);
$course['courses'] = $this->getCourseService()->findPublishedCoursesByCourseSetId($course['courseSet']['id']);
$course['courses'] = ArrayToolkit::sortPerArrayValue($course['courses'], 'seq');
$course['progress'] = $this->getLearningDataAnalysisService()->makeProgress($course['learnedCompulsoryTaskNum'], $course['compulsoryTaskNum']);
$reviews = $this->getCourseReviewService()->searchReviews(
array('courseSetId' => $course['courseSet']['id'], 'private' => 0, 'parentId' => 0),
array('updatedTime' => 'DESC'),
0, self::DEFAULT_DISPLAY_COUNT
);
$this->getOCUtil()->multiple($reviews, array('userId'));
$this->getOCUtil()->multiple($reviews, array('courseId'), 'course');
foreach ($reviews as &$review) {
$review['posts'] = $this->getCourseReviewService()->searchReviews(array('parentId' => $review['id']), array('updatedTime' => 'DESC'), 0, self::DEFAULT_DISPLAY_COUNT);
$this->getOCUtil()->multiple($review['posts'], array('userId'));
$this->getOCUtil()->multiple($review['posts'], array('courseId'), 'course');
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。