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 = '';