. /** * Load zoom meeting recording and add a record of the view. * * @package mod_zoom * @copyright 2020 Nick Stefanski * @author 2021 Jwalit Shah * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require(__DIR__ . '/../../config.php'); require_once($CFG->libdir . '/moodlelib.php'); require_once(__DIR__ . '/locallib.php'); $meetinguuid = required_param('meetinguuid', PARAM_TEXT); $recordingstart = required_param('recordingstart', PARAM_INT); $showrecording = required_param('showrecording', PARAM_INT); if (!get_config('zoom', 'viewrecordings')) { throw new moodle_exception('recordingnotvisible', 'mod_zoom', get_string('recordingnotvisible', 'zoom')); } list($course, $cm, $zoom) = zoom_get_instance_setup(); require_login($course, true, $cm); $context = context_module::instance($cm->id); $PAGE->set_context($context); require_capability('mod/zoom:addinstance', $context); $urlparams = ['id' => $cm->id]; $url = new moodle_url('/mod/zoom/recordings.php', $urlparams); if (!confirm_sesskey()) { redirect($url, get_string('sesskeyinvalid', 'mod_zoom')); } // Find the video recording and audio only recording pair that matches the criteria. $recordings = $DB->get_records('zoom_meeting_recordings', ['meetinguuid' => $meetinguuid, 'recordingstart' => $recordingstart]); if (empty($recordings)) { throw new moodle_exception('recordingnotfound', 'mod_zoom', '', get_string('recordingnotfound', 'zoom')); } $now = time(); // Toggle the showrecording value. if ($showrecording === 1 || $showrecording === 0) { foreach ($recordings as $rec) { $rec->showrecording = $showrecording; $rec->timemodified = $now; $DB->update_record('zoom_meeting_recordings', $rec); } } redirect($url);