. namespace core\moodlenet; use backup; use backup_controller; use stdClass; defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php'); /** * Packager to prepare appropriate backup of a course to share to MoodleNet. * * @package core * @copyright 2023 Safat Shahin * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class course_packager extends resource_packager { /** * Constructor for course packager. * * @param stdClass $course The course to package * @param int $userid The ID of the user performing the packaging */ public function __construct( stdClass $course, int $userid, ) { parent::__construct($course, $userid, $course->shortname); } /** * Get the backup controller for the course. * * @return backup_controller the backup controller for the course. */ protected function get_backup_controller(): backup_controller { return new backup_controller( backup::TYPE_1COURSE, $this->course->id, backup::FORMAT_MOODLE, backup::INTERACTIVE_NO, backup::MODE_GENERAL, $this->userid, ); } }