} $dtime = DateTime::createFromFormat("Y-m-d\\TH:i:s\\Z", $clip['start']); $timestamp = $dtime->getTimestamp(); $mod_opencast_clip->setRecordingDate(userdate($timestamp)); $mod_opencast_clip->editdetails_page = '#opencast-inactive'; // $mod_opencast_clip->editclip_page = '#opencast-inactive'; $mod_opencast_clip->deleteclip_page = '#opencast-inactive'; $mod_opencast_clip->clipmembers_page = '#opencast-inactive'; if (has_capability('mod/opencast:isproducer', $context)) { // current USER is channel producer in Moodle (i.e. Teacher) $mod_opencast_clip->editdetails_page = $CFG->wwwroot . '/mod/opencast/event_editdetails.php?id=' . $cm->id . '&clip_identifier=' . $mod_opencast_clip->getExtId(); $mod_opencast_clip->deleteclip_page = $CFG->wwwroot . '/mod/opencast/event_delete.php?id=' . $cm->id . '&clip_ext_id=' . $mod_opencast_clip->getExtId(); } if ($mod_opencast_clip->getOwnerUserId() == $USER->id) { // current USER is clip owner if ($sc_obj->getIvt() && $sc_obj->getInvitingPossible()) { $mod_opencast_clip->clipmembers_page = $CFG->wwwroot . '/mod/opencast/event_members.php?id=' . $cm->id . '&clip_identifier=' . $mod_opencast_clip->getExtId(); } } $owner = $mod_opencast_clip->getOwner(); unset($mod_opencast_clip->owner); // we don't want SWITCHaai uniqueID to appear in the JSON if ($owner == '') { $mod_opencast_clip->owner_name = ''; } else { $owner_moodle_id = mod_opencast_user::getMoodleUserIdFromExtId($owner); if ($owner_moodle_user = $DB->get_record('user', ['id' => $owner_moodle_id])) { $mod_opencast_clip->owner_name = $owner_moodle_user->lastname . ', ' . $owner_moodle_user->firstname; } else { $mod_opencast_clip->owner_name = get_string('owner_not_in_moodle', 'opencast'); }
$url = new moodle_url('/mod/opencast/uploads.php', ['id' => $id]); $return_channel = new moodle_url('/mod/opencast/view.php', ['id' => $id]); $PAGE->set_url($url); if (!($cm = get_coursemodule_from_id('opencast', $id))) { print_error('invalidcoursemodule'); } if (!($course = $DB->get_record('course', ['id' => $cm->course]))) { print_error('coursemisconf'); } $return_course = new moodle_url('/course/view.php', ['id' => $course->id]); require_course_login($course, false, $cm); if (!($opencast = opencast_get_opencast($cm->instance))) { print_error('invalidcoursemodule', null, $return_course); } if (!($context = context_module::instance($cm->id))) { print_error('badcontext', null, $return_course); } if (!has_capability('mod/opencast:isproducer', $context)) { print_error('feature_forbidden', 'opencast', $return_channel); } $sc_obj = new mod_opencast_series(); $sc_obj->fetch($opencast->id); // Display $PAGE->set_title(format_string($opencast->name)); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); $renderer = $PAGE->get_renderer('mod_opencast'); echo html_writer::tag('h2', get_string('uploaded_clips', 'opencast')); $renderer->display_user_pending_clips(true, true, true, true, $sc_obj->getIvt()); echo html_writer::link($return_channel, get_string('back_to_channel', 'opencast')); echo $OUTPUT->footer();
$sc_clip = new mod_opencast_event($sc_obj, $event_identifier, false, $opencast->id); // Perform action ? if ($confirm === 1 && confirm_sesskey() && has_capability('mod/opencast:isproducer', $context)) { /* * $confirm * AND sesskey() ok * AND $USER has producer rights */ $sc_clip->delete(); $eventparams = ['context' => $context, 'objectid' => $opencast->id]; $event = \mod_opencast\event\clip_deleted::create($eventparams); $event->add_record_snapshot('course_modules', $cm); $event->add_record_snapshot('course', $course); $event->add_record_snapshot('opencast', $opencast); $event->trigger(); redirect($return_channel); } // Display $PAGE->set_title(format_string($opencast->name)); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); $renderer = $PAGE->get_renderer('mod_opencast'); echo html_writer::tag('h2', get_string('delete_clip', 'opencast')); echo html_writer::start_tag('table', ['class' => 'opencast-clips']); $renderer->display_singleclip_table_header(false, $sc_obj->getIvt(), $opencast->userupload, false); $renderer->display_clip_outline($sc_clip, false, false, null, $sc_obj->getIvt(), $opencast->userupload, false); echo html_writer::end_tag('table'); $delete_url = new moodle_url('/mod/opencast/event_delete.php', ['sesskey' => sesskey(), 'confirm' => 1, 'id' => $id, 'clip_ext_id' => $event_identifier]); $button = new single_button($delete_url, get_string('delete_clip', 'opencast'), 'post'); echo $OUTPUT->confirm(get_string('delete_clip_confirm', 'opencast'), $button, $return_channel); echo $OUTPUT->footer();