/** * Given an object containing all the necessary data, * (defined by the form in mod_form.php) this function * will create a new instance and return the id number * of the new instance. * * @param object $opencast Moodle {opencast} table DB record * * @return int newly created instance ID */ function opencast_add_instance($opencast) { global $DB, $USER; $opencast->timemodified = time(); $scast = new mod_opencast_series(); if (isset($opencast->newchannelname)) { $scast->setChannelName($opencast->newchannelname); } //$scast->setCourseId(); // $scast->setLicense($opencast->license); // $scast->setDepartment($opencast->department); $scast->setAllowAnnotations($opencast->allow_annotations == OPENCAST_ANNOTATIONS); // if (isset($opencast->template_id)) { // not set if creating new instance with existing channel // $scast->setTemplateId($opencast->template_id); // } $scast->setIvt($opencast->is_ivt); if (isset($opencast->inviting)) { $scast->setInvitingPossible($opencast->inviting); } $scast->setOrganizationDomain(mod_opencast_series::getOrganizationByEmail($USER->email)); $opencast->organization_domain = $scast->getOrganization(); if ($opencast->channelnew == OPENCAST_CHANNEL_NEW) { // New channel $scast->setProducer(mod_opencast_user::getExtIdFromMoodleUserId($USER->id)); $scast->doCreate(); $opencast->ext_id = $scast->getExtId(); } else { // Existing channel $scast->setExtId($opencast->ext_id); $scast->update(); } if (empty($opencast->timerestrict)) { $opencast->timeopen = 0; $opencast->timeclose = 0; } $opencast->id = $DB->insert_record('opencast', $opencast); return $opencast->id; }