function bigbluebuttonbn_view_recordings($bbbsession)
{
    global $CFG;
    if (isset($bbbsession['record']) && $bbbsession['record']) {
        $output = html_writer::tag('h4', get_string('view_section_title_recordings', 'bigbluebuttonbn'));
        $meetingID = '';
        $results = bigbluebuttonbn_getRecordedMeetings($bbbsession['course']->id, $bbbsession['bigbluebuttonbn']->id);
        if ($results) {
            //Eliminates duplicates
            $mIDs = array();
            foreach ($results as $result) {
                $mIDs[$result->meetingid] = $result->meetingid;
            }
            //Generates the meetingID string
            foreach ($mIDs as $mID) {
                if (strlen($meetingID) > 0) {
                    $meetingID .= ',';
                }
                $meetingID .= $mID;
            }
        }
        // Get actual recordings
        if ($meetingID != '') {
            $recordings = bigbluebuttonbn_getRecordingsArray($meetingID, $bbbsession['endpoint'], $bbbsession['shared_secret']);
        } else {
            $recordings = array();
        }
        // Get recording links
        $recordings_imported = bigbluebuttonbn_getRecordingsImportedArray($bbbsession['course']->id, $bbbsession['bigbluebuttonbn']->id);
        // Merge the recordings
        $recordings = array_merge($recordings, $recordings_imported);
        // Render the table
        $output .= bigbluebutton_output_recording_table($bbbsession, $recordings) . "\n";
        if ($bbbsession['managerecordings'] && bigbluebuttonbn_get_cfg_importrecordings_enabled()) {
            $button_import_recordings = html_writer::tag('input', '', array('type' => 'button', 'value' => get_string('view_recording_button_import', 'bigbluebuttonbn'), 'onclick' => 'window.location=\'' . $CFG->wwwroot . '/mod/bigbluebuttonbn/import_view.php?bn=' . $bbbsession['bigbluebuttonbn']->id . '\''));
            $output .= html_writer::start_tag('br');
            $output .= html_writer::tag('span', $button_import_recordings, ['id' => "import_recording_links_button"]);
            $output .= html_writer::tag('span', '', ['id' => "import_recording_links_table"]);
        }
        echo $output;
    }
}
$options = bigbluebuttonbn_import_get_courses_for_select($bbbsession);
$selected = bigbluebuttonbn_selected_course($options, $tc);
if (empty($options)) {
    $output .= html_writer::tag('div', get_string('view_error_import_no_courses', 'bigbluebuttonbn'));
} else {
    $output .= html_writer::tag('div', html_writer::select($options, 'import_recording_links_select', $selected));
    $recordings = bigbluebuttonbn_getRecordingsArrayByCourse($selected, $bbbsession['endpoint'], $bbbsession['shared_secret']);
    //exclude the ones that are already imported
    $recordings = bigbluebuttonbn_import_exlcude_recordings_already_imported($bbbsession['course']->id, $bbbsession['bigbluebuttonbn']->id, $recordings);
    //store remaining recordings (indexed) in a session variable
    $SESSION->bigbluebuttonbn_importrecordings = bigbluebuttonbn_index_recordings($recordings);
    if (empty($recordings)) {
        $output .= html_writer::tag('div', get_string('view_error_import_no_recordings', 'bigbluebuttonbn'));
    } else {
        $output .= html_writer::tag('span', '', ['id' => 'import_recording_links_table', 'name' => 'import_recording_links_table']);
        $output .= bigbluebutton_output_recording_table($bbbsession, $recordings, ['importing']);
    }
    $output .= html_writer::start_tag('br');
    $output .= html_writer::tag('input', '', array('type' => 'button', 'value' => get_string('view_recording_button_return', 'bigbluebuttonbn'), 'onclick' => 'window.location=\'' . $CFG->wwwroot . '/mod/bigbluebuttonbn/view.php?id=' . $cm->id . '\''));
    $jsvars = array('bn' => $bn, 'tc' => $selected, 'locales' => bigbluebuttonbn_get_locales_for_ui());
    $PAGE->requires->data_for_js('bigbluebuttonbn', $jsvars);
    $jsmodule = array('name' => 'mod_bigbluebuttonbn', 'fullpath' => '/mod/bigbluebuttonbn/module.js', 'requires' => array('datasource-get', 'datasource-jsonschema', 'datasource-polling'));
    $PAGE->requires->js_init_call('M.mod_bigbluebuttonbn.import_view_init', array(), false, $jsmodule);
}
$output .= $OUTPUT->footer();
// finally, render the output
echo $output;
function bigbluebuttonbn_selected_course($options, $tc = '')
{
    if (empty($options)) {
        $selected = '';