src/Biz/Activity/Copy/ActivityCopy.php

(开头部分) 2KB

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

<?php

namespace Biz\Activity\Copy;

use Biz\AbstractCopy;
use Biz\Activity\Config\Activity;
use Biz\Activity\Dao\ActivityDao;
use Biz\Testpaper\Dao\TestpaperDao;

class ActivityCopy extends AbstractCopy
{
    public function preCopy($source, $options)
    {
        // TODO: Implement preCopy() method.
    }

    public function doCopy($source, $options)
    {
        $course = $options['originCourse'];
        $newCourse = $options['newCourse'];
        $newCourseSet = $options['newCourseSet'];
        $activities = $this->getActivityDao()->findByCourseId($course['id']);
        if (empty($activities)) {
            return array();
        }
        $activityMap = array();
        foreach ($activities as $activity) {
            $newActivity = $this->partsFields($activity);

            $newActivity['fromUserId'] = $this->biz['user']['id'];
            $newActivity['fromCourseId'] = $newCourse['id'];
            $newActivity['fromCourseSetId'] = $newCourseSet['id'];
            $newActivity['copyId'] = $activity['id'];

            $config = $this->getActivityConfig($activity['mediaType']);
            $testId = 0;
            if (in_array($activity['mediaType'], array('testpaper'))) {
                $originalActivityTestpaper = $config->get($activity['mediaId']);
                $activityTestpaper = $this->getTestpaperDao()->getTestpaperByCopyIdAndCourseSetId($originalActivityTestpaper['mediaId'], $newCourseSet['id']);
                $testId = $activityTestpaper['id'];
            }
            $ext = $config->copy($activity, array(
                'refLiveroom' => false,
                'testId' => $testId,
                'newActivity' => $newActivity,
                'isCopy' => true,
            ));

            if (!empty($ext)) {
                $newActivity['mediaId'] = $ext['id'];
            }

            if ($newActivity['mediaType'] == 'live') { //直播
                $newActivity['startTime'] = time();
                $newActivity['endTime'] = $newActivity['startTime'] + $newActivity['length'] * 60;
            }

            $newActivity = $this->getActivityDao()->create($newActivity);
            $options['newActivity'] = $newActivity;
            $options['originActivity'] = $activity;

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

AI 解读 AI

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

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