Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/plugin/zoom/meeting.ajax.php

50 lines
1.2 KiB

<?php
/* For licensing terms, see /license.txt */
use Chamilo\PluginBundle\Zoom\Meeting;
use Symfony\Component\HttpFoundation\Request as HttpRequest;
require_once __DIR__.'/config.php';
api_block_anonymous_users(false);
$httpRequest = HttpRequest::createFromGlobals();
$meetingId = $httpRequest->get('meetingId', 0);
if (empty($meetingId)) {
api_not_allowed();
}
$plugin = ZoomPlugin::create();
/** @var Meeting $meeting */
$meeting = $plugin->getMeetingRepository()->findOneBy(['meetingId' => $meetingId]);
$currentUserId = api_get_user_id();
$currentUser = api_get_user_entity($currentUserId);
if (null === $meeting) {
api_not_allowed(false, $plugin->get_lang('MeetingNotFound'));
}
switch ($httpRequest->get('a')) {
case 'sign_attempt':
$registrant = $meeting->getRegistrantByUser($currentUser);
if (!$meeting->isSignAttendance() ||
null === $registrant
) {
api_not_allowed();
}
$file = $httpRequest->request->get('file', '');
$secToken = Security::get_token('zoom_signature');
if (!Security::check_token($secToken, null, 'zoom_signature')) {
api_not_allowed();
}
echo (int) $plugin->saveSignature($registrant, $file);
exit;
}