From 4b39424ef869c41da93d19b3b2937a662e87a4af Mon Sep 17 00:00:00 2001 From: DFNVC <git@vc.dfn.de> Date: Wed, 21 Nov 2018 14:32:00 +0100 Subject: [PATCH] Aufzeichungen: Direkter Link in den Bearbeitungsmodus. Veraltete Funktion notify() durch $OUTPUT->notification() ersetzt. --- join.php | 13 ++++++------- joinrecording.php | 37 +++++++++++++++---------------------- lang/de/adobeconnect.php | 2 ++ lang/en/adobeconnect.php | 2 ++ renderer.php | 7 +++++-- 5 files changed, 30 insertions(+), 31 deletions(-) diff --git a/join.php b/join.php index d0e1403..d164759 100644 --- a/join.php +++ b/join.php @@ -17,7 +17,7 @@ $groupid = required_param('groupid', PARAM_INT); $sesskey = required_param('sesskey', PARAM_ALPHANUM); -global $CFG, $USER, $DB; +global $CFG, $USER, $DB, $OUTPUT; if (! $cm = get_coursemodule_from_id('adobeconnect', $id)) { error('Course Module ID was incorrect'); @@ -44,19 +44,18 @@ if (isset($CFG->adobeconnect_email_login) and !empty($CFG->adobeconnect_email_lo } if (0 != $cm->groupmode){ - if (empty($groupid)) { $groups = groups_get_user_groups($course->id, $usrobj->id); - if (array_key_exists(0, $groups)) { $groupid = current($groups[0]); } - if (empty($groupid)) { $groupid = 0; - notify(get_string('usergrouprequired', 'adobeconnect')); - print_footer($course); - die(); + echo $OUTPUT->header(); + echo '<p> <p>'; + echo $OUTPUT->notification(get_string('usergrouprequired', 'adobeconnect')); + echo $OUTPUT->footer(); + return; } } diff --git a/joinrecording.php b/joinrecording.php index 80ddbb0..fcfec77 100644 --- a/joinrecording.php +++ b/joinrecording.php @@ -19,8 +19,9 @@ $groupid = required_param('groupid', PARAM_INT); // DFNVC $recordingscoid = required_param('recording', PARAM_INT); $convert = optional_param('convert', null, PARAM_INT); +$edit = optional_param('edit', null, PARAM_INT); -global $CFG, $USER, $DB; +global $CFG, $USER, $DB, $OUTPUT; // Do the usual Moodle setup if (! $cm = get_coursemodule_from_id('adobeconnect', $id)) { @@ -65,9 +66,6 @@ $aconnect = aconnect_login(); //$aconnect->request_http_header_login(1, $login); //$adobesession = $aconnect->get_cookie(); $user_session_cookie = $aconnect->user_session_cookie($login); -//notify('test: ' . htmlspecialchars($aconnect->_xmlrequest)); -//notify('test: ' . htmlspecialchars($aconnect->_xmlresponse)); -//notify('test: ' . $adobesession); aconnect_logout($aconnect); @@ -167,11 +165,6 @@ $aconnect = aconnect_login(); $recording = array(); $fldid = aconnect_get_folder($aconnect, 'content'); -//notify('test: ' . htmlspecialchars($aconnect->_xmlrequest)); -//notify('test: ' . htmlspecialchars($aconnect->_xmlresponse)); -//notify('test: ' . $adobesession); - - //$data = aconnect_get_recordings($aconnect, $fldid, $meetscoid->meetingscoid); $data = ''; @@ -186,22 +179,19 @@ if (!empty($data2)) { $recording[] = $data2; } -// DFNVC +// +// DFNconf // $meetfldscoid = aconnect_get_meeting_folder($aconnect); -//notify('test: ' . htmlspecialchars($aconnect->_xmlrequest)); -//notify('test: ' . htmlspecialchars($aconnect->_xmlresponse)); - $recordingurlpath = aconnect_get_recording_urlpath($aconnect, $meetscoid->meetingscoid, $recordingscoid); -//notify('test: ' . htmlspecialchars($aconnect->_xmlrequest)); -//notify('test: ' . htmlspecialchars($aconnect->_xmlresponse)); -//notify('test: ' . $aconnect->get_cookie()); -//return; if (empty($recordingurlpath) and confirm_sesskey()) { - notify('error getting recording urlpath'); - die(); + echo $OUTPUT->header(); + echo '<p> <p>'; + echo $OUTPUT->notification('Aufzeichnung wurde auf dem DFNconf Meeting-Server <b>' . $CFG->adobeconnect_meethost . '</b> nicht gefunden !'); + echo $OUTPUT->footer(); + return; } aconnect_logout($aconnect); @@ -215,12 +205,15 @@ if (!empty($CFG->adobeconnect_port) and (80 != $CFG->adobeconnect_port)) { $port = ':' . $CFG->adobeconnect_port; } -//redirect($protocol . $CFG->adobeconnect_meethost . $port -// . $recording->url . '?session=' . $adobesession); -// DFNVC +// +// DFNconf +// if ($convert == 'true') { redirect($protocol . $CFG->adobeconnect_meethost . $port . $recordingurlpath . '?pbMode=offline&session=' . $user_session_cookie); } +elseif ($edit == 'true') { + redirect($protocol . $CFG->adobeconnect_meethost . $port . $recordingurlpath . '?pbMode=edit&session=' . $user_session_cookie); +} else { redirect($protocol . $CFG->adobeconnect_meethost . $port . $recordingurlpath . '?session=' . $user_session_cookie); } diff --git a/lang/de/adobeconnect.php b/lang/de/adobeconnect.php index 2d80213..0397edd 100644 --- a/lang/de/adobeconnect.php +++ b/lang/de/adobeconnect.php @@ -79,6 +79,8 @@ $string['record_delete'] = 'Aufzeichnung löschen'; $string['confirm_record_delete'] = 'Wollen Sie die Aufzeichnung "{$a}" wirklich löschen ?'; $string['recording_error'] = 'Das Meeting kann nicht gelöscht werden, da es noch Aufzeichnungen enthält !'; +$string['record_edit'] = 'Bearbeiten'; + $string['removeparticipant'] = 'Entfernen'; $string['removepresenter'] = 'Entfernen'; $string['roletoassign'] = 'Zugewiesene Rolle'; diff --git a/lang/en/adobeconnect.php b/lang/en/adobeconnect.php index 1bb9cbf..288d674 100644 --- a/lang/en/adobeconnect.php +++ b/lang/en/adobeconnect.php @@ -80,6 +80,8 @@ $string['record_delete'] = 'Delete recording'; $string['confirm_record_delete'] = 'Do you really want to delete the recroding {$a}?'; $string['recording_error'] = 'The meeting cannot be deleted because it still contains recordings!'; +$string['record_edit'] = 'Edit'; + $string['removeparticipant'] = 'Remove'; $string['removepresenter'] = 'Remove'; $string['roletoassign'] = 'Role to assign'; diff --git a/renderer.php b/renderer.php index f5e4f95..e6b4db1 100644 --- a/renderer.php +++ b/renderer.php @@ -111,7 +111,7 @@ class mod_adobeconnect_renderer extends plugin_renderer_base { // 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"/> '; + $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); @@ -130,7 +130,10 @@ class mod_adobeconnect_renderer extends plugin_renderer_base { $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); - array_push($row, $action); + $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; -- GitLab