chamilo/chamilo-lms

View on GitHub
public/plugin/xapi/src/ToolExperience/Activity/Course.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

declare(strict_types=1);

/* For licensing terms, see /license.txt */

namespace Chamilo\PluginBundle\XApi\ToolExperience\Activity;

use Xabbuh\XApi\Model\Activity;
use Xabbuh\XApi\Model\Definition;
use Xabbuh\XApi\Model\IRI;
use Xabbuh\XApi\Model\LanguageMap;

/**
 * Class Course.
 */
class Course extends BaseActivity
{
    public function generate(): Activity
    {
        $course = api_get_course_entity();
        $session = api_get_session_entity();

        $languageIso = api_get_language_isocode($course->getCourseLanguage());

        $courseUrl = api_get_course_url(
            $course->getCode(),
            $session ? $session->getId() : 0
        );

        return new Activity(
            IRI::fromString($courseUrl),
            new Definition(
                LanguageMap::create([$languageIso => $course->getTitle()]),
                null,
                IRI::fromString('http://id.tincanapi.com/activitytype/lms/course')
            )
        );
    }
}