Actualización
This commit is contained in:
226
plugin/google_meet/meets.php
Normal file
226
plugin/google_meet/meets.php
Normal file
@@ -0,0 +1,226 @@
|
||||
<?php
|
||||
/**
|
||||
* This script initiates a video conference session, c the Google Meet.
|
||||
*/
|
||||
require_once __DIR__.'/../../vendor/autoload.php';
|
||||
|
||||
$course_plugin = 'google_meet'; //needed in order to load the plugin lang variables
|
||||
require_once __DIR__.'/config.php';
|
||||
|
||||
$htmlHeadXtra[] = '<link rel="stylesheet" type="text/css" href="'.api_get_path(
|
||||
WEB_PLUGIN_PATH
|
||||
).'google_meet/resources/css/style.css"/>';
|
||||
|
||||
$plugin = GoogleMeetPlugin::create();
|
||||
|
||||
$userId = api_get_user_id();
|
||||
$tool_name = $plugin->get_lang('tool_title');
|
||||
$tpl = new Template($tool_name);
|
||||
|
||||
$isAdmin = api_is_platform_admin();
|
||||
$isTeacher = api_is_teacher();
|
||||
$message = null;
|
||||
|
||||
$action = isset($_GET['action']) ? $_GET['action'] : null;
|
||||
$enable = $plugin->get('google_meet_enabled') == 'true';
|
||||
$actionLinks = '';
|
||||
|
||||
if ($enable) {
|
||||
if ($isAdmin || $isTeacher) {
|
||||
if ($action) {
|
||||
switch ($action) {
|
||||
case 'delete':
|
||||
$idMeet = isset($_GET['id_meet']) ? $_GET['id_meet'] : null;
|
||||
$res = $plugin->deleteMeet($idMeet);
|
||||
if ($res) {
|
||||
$url = api_get_path(WEB_PLUGIN_PATH).'google_meet/start.php?'.api_get_cidreq();
|
||||
header('Location: '.$url);
|
||||
}
|
||||
|
||||
break;
|
||||
case 'add':
|
||||
$actionLinks .= Display::url(
|
||||
Display::return_icon('back.png', get_lang('Back'), [], ICON_SIZE_MEDIUM),
|
||||
api_get_path(WEB_PLUGIN_PATH).'google_meet/start.php?'.api_get_cidreq()
|
||||
);
|
||||
//create form
|
||||
$form = new FormValidator(
|
||||
'add_meet',
|
||||
'post',
|
||||
api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&'.api_get_cidreq()
|
||||
);
|
||||
|
||||
$form->addHeader(get_lang('AddMeet'));
|
||||
$form->addText(
|
||||
'meet_name',
|
||||
[
|
||||
$plugin->get_lang('MeetName'),
|
||||
$plugin->get_lang('MeetNameHelp'),
|
||||
],
|
||||
true,
|
||||
[
|
||||
'title' => $plugin->get_lang('MeetNameHelp'),
|
||||
]
|
||||
);
|
||||
|
||||
$form->addText(
|
||||
'meet_url',
|
||||
[
|
||||
$plugin->get_lang('GoogleMeetURL'),
|
||||
sprintf($plugin->get_lang('GoogleMeetURLHelp'), GoogleMeetPlugin::GOOGLE_MEET_URL),
|
||||
],
|
||||
true,
|
||||
[
|
||||
'title' => sprintf($plugin->get_lang('GoogleMeetURLHelp'), GoogleMeetPlugin::GOOGLE_MEET_URL),
|
||||
]
|
||||
);
|
||||
|
||||
try {
|
||||
$form->addElement(
|
||||
'color',
|
||||
'meet_color',
|
||||
[
|
||||
$plugin->get_lang('MeetColor'),
|
||||
$plugin->get_lang('MeetColorHelp'),
|
||||
],
|
||||
[
|
||||
'value' => '#1CC88A',
|
||||
]
|
||||
);
|
||||
} catch (HTML_QuickForm_Error $e) {
|
||||
echo $e;
|
||||
}
|
||||
|
||||
$form->addHtmlEditor(
|
||||
'meet_description',
|
||||
[
|
||||
$plugin->get_lang('MeetingDescription'),
|
||||
$plugin->get_lang('MeetingDescriptionHelp'),
|
||||
],
|
||||
false,
|
||||
false,
|
||||
[
|
||||
'ToolbarSet' => 'Minimal',
|
||||
]
|
||||
);
|
||||
|
||||
$form->addHidden('type_meet', 1);
|
||||
|
||||
$form->addButtonSave($plugin->get_lang('Add'));
|
||||
|
||||
if (!empty($defaults)) {
|
||||
$form->setDefaults($defaults);
|
||||
}
|
||||
|
||||
try {
|
||||
if ($form->validate()) {
|
||||
$values = $form->exportValues();
|
||||
$res = $plugin->saveMeet($values);
|
||||
if ($res) {
|
||||
$url = api_get_path(WEB_PLUGIN_PATH).'google_meet/start.php?'.api_get_cidreq();
|
||||
header('Location: '.$url);
|
||||
}
|
||||
}
|
||||
} catch (HTML_QuickForm_Error $e) {
|
||||
echo $e;
|
||||
}
|
||||
|
||||
$tpl->assign('form_room', $form->returnForm());
|
||||
|
||||
break;
|
||||
case 'edit':
|
||||
$actionLinks .= Display::url(
|
||||
Display::return_icon('back.png', get_lang('Back'), [], ICON_SIZE_MEDIUM),
|
||||
api_get_path(WEB_PLUGIN_PATH).'google_meet/start.php?'.api_get_cidreq()
|
||||
);
|
||||
|
||||
$idMeet = isset($_GET['id_meet']) ? (int) $_GET['id_meet'] : 0;
|
||||
$dataMeet = $plugin->getMeet($idMeet);
|
||||
|
||||
//create form
|
||||
$form = new FormValidator(
|
||||
'edit_meet',
|
||||
'post',
|
||||
api_get_self().'?action='.Security::remove_XSS($_GET['action']).'&'.api_get_cidreq()
|
||||
);
|
||||
|
||||
$form->addHeader(get_lang('EditMeet'));
|
||||
|
||||
$form->addText(
|
||||
'meet_name',
|
||||
[
|
||||
$plugin->get_lang('MeetName'),
|
||||
$plugin->get_lang('MeetNameHelp'),
|
||||
],
|
||||
true,
|
||||
[
|
||||
'title' => $plugin->get_lang('MeetNameHelp'),
|
||||
]
|
||||
);
|
||||
|
||||
$form->addText(
|
||||
'meet_url',
|
||||
[
|
||||
$plugin->get_lang('GoogleMeetURL'),
|
||||
sprintf($plugin->get_lang('GoogleMeetURLHelp'), GoogleMeetPlugin::GOOGLE_MEET_URL),
|
||||
],
|
||||
true,
|
||||
[
|
||||
'title' => sprintf($plugin->get_lang('GoogleMeetURLHelp'), GoogleMeetPlugin::GOOGLE_MEET_URL),
|
||||
]
|
||||
);
|
||||
$form->addElement(
|
||||
'color',
|
||||
'meet_color',
|
||||
[
|
||||
$plugin->get_lang('MeetColor'),
|
||||
$plugin->get_lang('MeetColorHelp'),
|
||||
]
|
||||
);
|
||||
$form->addHtmlEditor(
|
||||
'meet_description',
|
||||
[
|
||||
$plugin->get_lang('MeetingDescription'),
|
||||
$plugin->get_lang('MeetingDescriptionHelp'),
|
||||
],
|
||||
false,
|
||||
false,
|
||||
[
|
||||
'ToolbarSet' => 'Minimal',
|
||||
]
|
||||
);
|
||||
|
||||
$form->addHidden('id', $idMeet);
|
||||
$form->addButtonSave($plugin->get_lang('Save'));
|
||||
|
||||
$form->setDefaults($dataMeet);
|
||||
|
||||
if ($form->validate()) {
|
||||
$values = $form->exportValues();
|
||||
$res = $plugin->updateMeet($values);
|
||||
|
||||
if ($res) {
|
||||
$url = api_get_path(WEB_PLUGIN_PATH).'google_meet/start.php?'.api_get_cidreq();
|
||||
header('Location: '.$url);
|
||||
}
|
||||
}
|
||||
|
||||
$tpl->assign('form_room', $form->returnForm());
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($isAdmin || $isTeacher) {
|
||||
$tpl->assign(
|
||||
'actions',
|
||||
Display::toolbarAction('toolbar', [$actionLinks])
|
||||
);
|
||||
}
|
||||
|
||||
$tpl->assign('message', $message);
|
||||
$content = $tpl->fetch('google_meet/view/meets.tpl');
|
||||
$tpl->assign('content', $content);
|
||||
$tpl->display_one_col_template();
|
||||
Reference in New Issue
Block a user