seb-win-refactoring/SafeExamBrowser.Proctoring/Zoom/index.html

149 lines
No EOL
6.1 KiB
HTML

<html>
<head>
<meta charset="utf-8" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/1.9.1/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/1.9.1/css/react-select.css" />
</head>
<body>
<script src="https://source.zoom.us/1.9.1/lib/vendor/react.min.js"></script>
<script src="https://source.zoom.us/1.9.1/lib/vendor/react-dom.min.js"></script>
<script src="https://source.zoom.us/1.9.1/lib/vendor/redux.min.js"></script>
<script src="https://source.zoom.us/1.9.1/lib/vendor/redux-thunk.min.js"></script>
<script src="https://source.zoom.us/1.9.1/lib/vendor/jquery.min.js"></script>
<script src="https://source.zoom.us/1.9.1/lib/vendor/lodash.min.js"></script>
<script src="https://source.zoom.us/zoom-meeting-1.9.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9/crypto-js.min.js"></script>
<script type="text/javascript">
const API_KEY = '%%_API_KEY_%%';
const API_SECRET = '%%_API_SECRET_%%';
const ATTENDEE = 0;
var audioJoin = 0;
var configuration = {
leaveUrl: 'doesnotexist',
meetingNumber: '%%_MEETING_NUMBER_%%',
passWord: '%%_PASSWORD_%%',
role: ATTENDEE,
userName: '%%_USER_NAME_%%'
};
var signature = '%%_SIGNATURE_%%';
var videoJoin = 0;
function initializeUserInterface(_) {
var audioButton = document.getElementsByClassName('join-audio-by-voip__join-btn')[0];
var audioContainer = document.getElementsByClassName('join-audio-container')[0];
var leave = document.getElementsByClassName('footer__leave-btn-container')[0];
var more = document.getElementsByClassName('more-button')[0];
var raiseHandContainer = document.getElementsByClassName('participants-section-container__participants-footer')[0];
var videoButton = document.getElementsByClassName('send-video-container__btn')[0];
var videoContainer = document.getElementsByClassName('send-video-container')[0];
if (audioButton && !'%_AUDIO_MUTED_%' && audioJoin < 100) {
audioButton.click();
audioJoin++;
}
if (audioContainer && !'%_AUDIO_MUTED_%') {
audioContainer.style.visibility = 'hidden';
}
if (leave) {
leave.style.visibility = 'hidden';
}
if (more) {
more.style.visibility = 'hidden';
}
if (raiseHandContainer && !'%_ALLOW_RAISE_HAND_%') {
raiseHandContainer.style.visibility = 'hidden';
}
if (videoButton && !'%_VIDEO_MUTED_%' && videoJoin < 100) {
videoButton.click();
videoJoin++;
}
if (videoContainer && !'%_VIDEO_MUTED_%') {
videoContainer.style.visibility = 'hidden';
}
requestAnimationFrame(initializeUserInterface);
};
if (!ZoomMtg.checkSystemRequirements()) {
alert('This system does not meet the necessary requirements for Zoom!');
}
ZoomMtg.setZoomJSLib('https://source.zoom.us/1.9.1/lib', '/av');
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
if (!signature) {
signature = ZoomMtg.generateSignature({
meetingNumber: configuration.meetingNumber,
apiKey: API_KEY,
apiSecret: API_SECRET,
role: configuration.role,
error: function (res) {
alert(`Failed to generate signature: ${JSON.stringify(res)}`);
}
});
}
ZoomMtg.init({
audioPanelAlwaysOpen: false,
disableCallOut: true,
disableInvite: true,
disableJoinAudio: false,
disableRecord: true,
disableReport: true,
disableVoIP: false,
leaveUrl: configuration.leaveUrl,
isLockBottom: true,
isShowJoiningErrorDialog: true,
isSupportAV: true,
isSupportBreakout: false,
isSupportChat: '%_ALLOW_CHAT_%',
isSupportCC: '%_ALLOW_CLOSED_CAPTIONS_%',
isSupportPolling: false,
isSupportQA: false,
isSupportNonverbal: false,
screenShare: false,
sharingMode: 'both',
showMeetingHeader: true,
showPureSharingContent: false,
videoDrag: true,
videoHeader: true,
meetingInfo: [
'topic',
'host',
'participant',
//'mn',
//'pwd',
//'telPwd',
//'invite',
//'dc'
],
error: function (res) {
alert(`Failed to initialize meeting: ${JSON.stringify(res)}`);
},
success: function () {
ZoomMtg.join({
apiKey: API_KEY,
meetingNumber: configuration.meetingNumber,
passWord: configuration.passWord,
signature: signature,
userName: configuration.userName,
error: function (res) {
alert(`Failed to join meeting: ${JSON.stringify(res)}`);
},
success: function (res) {
requestAnimationFrame(initializeUserInterface);
}
});
}
});
</script>
</body>
</html>