return $content; } try { if (!$panoptodata->sessiongroupid) { $content->text = get_string('no_course_selected', 'block_panopto'); } else { // Get course info from SOAP service. $courseinfo = $panoptodata->get_course(); // Panopto course was deleted, or an exception was thrown while retrieving course data. if ($courseinfo->Access == "Error") { $content->text .= "<span class='error'>" . get_string('error_retrieving', 'block_panopto') . "</span>"; } else { // SSO form passes instance name in POST to keep URLs portable. $content->text .= "\n <form name='SSO' method='post'>\n <input type='hidden' name='instance' value='{$panoptodata->instancename}' />\n </form>"; $content->text .= '<div><b>' . get_string('live_sessions', 'block_panopto') . '</b></div>'; $livesessions = $panoptodata->get_live_sessions(); if (!empty($livesessions)) { $i = 0; foreach ($livesessions as $livesession) { // Alternate gray background for readability. $altclass = $i % 2 ? "listItemAlt" : ""; $livesessiondisplayname = s($livesession->Name); $content->text .= "<div class='listItem {$altclass}'>\n {$livesessiondisplayname}\n <span class='nowrap'>\n [<a href='javascript:panopto_launchNotes(\"{$livesession->LiveNotesURL}\")'\n >" . get_string('take_notes', 'block_panopto') . '</a>]'; if ($livesession->BroadcastViewerURL) { $content->text .= "[<a href='{$livesession->BroadcastViewerURL}' onclick='return panopto_startSSO(this)'>" . get_string('watch_live', 'block_panopto') . '</a>]'; } $content->text .= "\n </span>\n </div>"; $i++; } } else { $content->text .= '<div class="listItem">' . get_string('no_live_sessions', 'block_panopto') . '</div>';