Select Git revision
renderer.php 8.06 KiB
<?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'));
}
}