<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * @package mod * @subpackage adobeconnect * @author Akinsaya Delamarre (adelamarre@remote-learner.net) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class mod_adobeconnect_renderer extends plugin_renderer_base { /** * Returns HTML to display the meeting details * @param object $meetingdetail * @param int $cmid * @param int $groupid * @return string */ public function display_meeting_detail ($meetingdetail, $cmid, $groupid = 0) { global $CFG; $target = new moodle_url('/mod/adobeconnect/view.php'); $attributes = array('method'=>'POST', 'target'=>$target); $html = html_writer::start_tag('form', $attributes); // Display the main field set $param = array('class'=>'aconfldset'); $html .= html_writer::start_tag('div', $param); $table = new html_table(); $table->attributes['class'] = 'generaltable'; // meeting details $meet_array = array(array('<b>' . get_string('meetingstart', 'adobeconnect') . ':</b>', $meetingdetail->starttime)); array_push($meet_array, array('<b>' . get_string('meetingend', 'adobeconnect') . ':</b>', $meetingdetail->endtime)); array_push($meet_array, array('<b>' . get_string('meeturl', 'adobeconnect') . ':</b>', $meetingdetail->url)); // Join meeting button $param = array('id' => $cmid, 'sesskey' => sesskey(), 'groupid' => 0); $target = new moodle_url('/mod/adobeconnect/join.php', $param); $param = array('type'=>'button', 'value'=>get_string('joinmeeting','adobeconnect'), 'name'=>'btnname', 'onclick' => 'window.open(\''.$target->out(false).'\', \'btnname\', \'menubar=0,location=0,scrollbars=0,resizable=0,width=900,height=900\', 0);', ); $meetingbutton = html_writer::empty_tag('input', $param); array_push($meet_array,array('',$meetingbutton)); $table->data = $meet_array; $html .= '<center>' . html_writer::table($table) . '</center>'; $html .= html_writer::end_tag('div'); $html .= html_writer::end_tag('form'); return $html; } function display_meeting_recording($recordings, $cmid, $groupid, $adobesession) { global $CFG, $USER,$COURSE; $html = ''; $protocol = 'http://'; $port = ''; // Include the port number only if it is a port other than 80 if (!empty($CFG->adobeconnect_port) and (80 != $CFG->adobeconnect_port)) { $port = ':' . $CFG->adobeconnect_port; } if (isset($CFG->adobeconnect_https) and (!empty($CFG->adobeconnect_https))) { $protocol = 'https://'; } $context = context_module::instance($cmid); $user_is_host = has_capability('mod/adobeconnect:meetinghost', $context); // Display the meeting name field and value $param = array('id' => 'aconfldset2', 'class' => 'aconfldset'); $html .= html_writer::start_tag('div', $param); $html .= html_writer::tag('h5', get_string('recordinghdr', 'adobeconnect'), $param); $param = array('class' => 'aconrecording'); $html .= html_writer::start_tag('div', $param); $table = new html_table(); $table->tablealign = 'center'; $table->width = '60%'; $table->head = array(get_string('name'), get_string('starttime','adobeconnect'), get_string('duration','adobeconnect')); if ($user_is_host) { array_push($table->head, get_string('action','adobeconnect')); array_push($table->head, ''); } foreach ($recordings as $key => $recordinggrp) { if (!empty($recordinggrp)) { foreach($recordinggrp as $recording_scoid => $recording) { // recording url $url = $CFG->wwwroot . '/mod/adobeconnect/joinrecording.php?id=' . $cmid . '&recording='. $recording_scoid . '&groupid='. $groupid . '&sesskey=' . $USER->sesskey; // recording name $name = '<img src="' . $CFG->wwwroot .'/pix/e/insert_edit_video.svg" height="24" width="24"/> '; $name .= html_writer::link($url, format_string($recording->name), array('target' => '_blank','title'=>get_string('record_play','adobeconnect'))); // start date $startdate = format_string($recording->startdate); $time = strtotime($startdate); $startdate = date("d.m.Y H:i:s", $time); // duration $duration = format_string($recording->duration); $duration = gmdate("H:i:s", $duration); // create initial row $row = array ($name,$startdate,$duration); // Display convert button if user has role meeting host in course // Moodle users with role meeting host can convert recordings on their local Windows PCs $action = ''; if ($user_is_host) { // Konvertieren $converturl = $url . '&convert=true'; $param = array('target' => '_blank','title'=>get_string('record_convert','adobeconnect')); $action = html_writer::link($converturl,get_string('record_convert','adobeconnect'),$param); $editurl = $url . '&edit=true'; $editparam = array('target' => '_blank','title'=>get_string('record_edit','adobeconnect')); $editaction = html_writer::link($editurl,get_string('record_edit','adobeconnect'),$editparam); array_push($row, $action . ' | ' . $editaction); // Löschen $delurl = "/mod/adobeconnect/delrecording.php?id=$cmid&recording=$recording_scoid"; $a = $recording->name; $confirmdel = get_string('confirm_record_delete','adobeconnect',$a); $param = array('onclick' => "return confirm('$confirmdel')", 'title'=>get_string('record_delete','adobeconnect')); $del = html_writer::link($CFG->wwwroot . $delurl, '<img alt="' . get_string('record_delete','adobeconnect') . '" src="' . $CFG->wwwroot .'/pix/t/delete.svg" />', $param); array_push($row, $del); // Help $param = array('target' => '_blank','title'=>get_string('record_convert_help','adobeconnect')); $help = html_writer::link($CFG->wwwroot . "/help.php?component=adobeconnect&identifier=convert_recording&lang=$COURSE->lang", '<img alt="' . get_string('record_convert_help','adobeconnect') . '" src="' . $CFG->wwwroot .'/pix/help.svg" />', $param); array_push($row, $help); } $table->data[] = $row; } } } $html .= html_writer::table($table); $html .= html_writer::end_tag('div'); return $html; //$html .= html_writer::link($url, get_string('removemychoice','choice')); } }