PageSourceSearch

https://justizopfer.at/wp-content/plugins/meetinghub/assets/js/jitsi-meet.js?ver=2.0.1

js justizopfer.at collected 2026-10-10 01:19:52 UTC 8,500 bytes, 280 lines download raw bytes

1var mhub_jitsi_settings =  mhub_frontend.mhub_jitsi_settings;
2
3const initFreeAPI = () => {
4  let api;
5  const meetingContainer = jQuery('#meetinghub_meeting');
6
7  if (meetingContainer.length) {
8    var domain                   = meetingContainer.data('random-domain');
9    const roomName               = meetingContainer.data('random-room-name');
10    const currentUserName        = meetingContainer.data('user-name');
11    const width                  = meetingContainer.data('width');
12    const height                 = meetingContainer.data('height');
13    const start_with_audio_muted = meetingContainer.data('start-with-audio-muted');
14    const start_with_video_muted = meetingContainer.data('start-with-video-muted');
15    const screen_sharing         = meetingContainer.data('screen-sharing');
16    const enable_inviting        = meetingContainer.data('enable-inviting');
17    const mhub_jitsi_elementor   = meetingContainer.data('elementor');
18
19    // Define toolbar buttons
20    let toolbarButtons = [
21      'camera',
22      'chat',
23      'closedcaptions',
24      'download',
25      'embedmeeting',
26      'etherpad',
27      'feedback',
28      'filmstrip',
29      'fullscreen',
30      'hangup',
31      'help',
32      'livestreaming',
33      'microphone',
34      'mute-everyone',
35      'mute-video-everyone',
36      'participants-pane',
37      'profile',
38      'raisehand',
39      'recording',
40      'security',
41      'select-background',
42      'settings',
43      'shareaudio',
44      'sharedvideo',
45      'shortcuts',
46      'stats',
47      'tileview',
48      'toggle-camera',
49      'videoquality',
50      '__end',
51    ];
52
53    if (enable_inviting) {
54      toolbarButtons.push('invite');
55    }
56
57    if (screen_sharing) {
58      toolbarButtons.push('desktop');
59    }
60
61    const options = {
62      roomName: roomName,
63      width: width ? width : 1080,
64      height: height ? height : '700',
65      parentNode: meetingContainer[0],
66      userInfo: {
67        displayName: currentUserName ? currentUserName : '',
68      },
69      configOverwrite: {
70        defaultLanguage: 'en',
71        startWithAudioMuted: start_with_audio_muted ? true : false,
72        startWithVideoMuted: start_with_video_muted ? true : false,
73        toolbarButtons: toolbarButtons,
74      },
75      interfaceConfigOverwrite: {
76        SHOW_CHROME_EXTENSION_BANNER: false,
77        SHOW_PROMOTIONAL_CLOSE_PAGE: false,
78      },
79    };
80
81    // Create JitsiMeetExternalAPI only if the meeting container is found
82    api = new JitsiMeetExternalAPI(domain, options);
83  } else {
84    console.warn('Meeting container not found. API initialization skipped.');
85  }
86};
87
88const initJassAPI = () => {
89  let api;
90  const meetingContainer = jQuery('#meetinghub_meeting');
91
92  if (meetingContainer.length) {
93    const domain                 = '8x8.vc';
94    const roomName               = meetingContainer.data('random-room-name');
95    const currentUserName        = meetingContainer.data('user-name');
96    const width                  = meetingContainer.data('width');
97    const height                 = meetingContainer.data('height');
98    const start_with_audio_muted = meetingContainer.data('start-with-audio-muted');
99    const start_with_video_muted = meetingContainer.data('start-with-video-muted');
100    const screen_sharing         = meetingContainer.data('screen-sharing');
101    const enable_inviting        = meetingContainer.data('enable-inviting');
102    
103    // Define toolbar buttons
104    let toolbarButtons = [
105      'camera',
106      'chat',
107      'closedcaptions',
108      'download',
109      'embedmeeting',
110      'etherpad',
111      'feedback',
112      'filmstrip',
113      'fullscreen',
114      'hangup',
115      'help',
116      'livestreaming',
117      'microphone',
118      'mute-everyone',
119      'mute-video-everyone',
120      'participants-pane',
121      'profile',
122      'raisehand',
123      'recording',
124      'security',
125      'select-background',
126      'settings',
127      'shareaudio',
128      'sharedvideo',
129      'shortcuts',
130      'stats',
131      'tileview',
132      'toggle-camera',
133      'videoquality',
134      '__end',
135    ];
136
137    if (enable_inviting) {
138      toolbarButtons.push('invite');
139    }
140
141    if (screen_sharing) {
142      toolbarButtons.push('desktop');
143    }
144
145    const options = {
146      roomName: mhub_jitsi_settings.app_id + '/' + roomName,
147      width: width ? width : 1080,
148      height: height ? height : '700',
149      parentNode: meetingContainer[0],
150      jwt: mhub_frontend.jwt,
151      userInfo: {
152        displayName: currentUserName ? currentUserName : '',
153      },
154      configOverwrite: {
155        defaultLanguage: 'en',
156        startWithAudioMuted: start_with_audio_muted ? true : false,
157        startWithVideoMuted: start_with_video_muted ? true : false,
158        toolbarButtons: toolbarButtons,
159      },
160      interfaceConfigOverwrite: {
161        SHOW_CHROME_EXTENSION_BANNER: false,
162        SHOW_PROMOTIONAL_CLOSE_PAGE: false,
163      },
164      devices: {
165        audioOutput: 'default', // Change this to the desired output device label
166      },
167    };
168
169    // Create JitsiMeetExternalAPI only if the meeting container is found
170    api = new JitsiMeetExternalAPI(domain, options);
171  } else {
172    console.warn('Meeting container not found. API initialization skipped.');
173  }
174};
175
176const initCustomAPI = () => {
177  let api;
178  const meetingContainer = jQuery('#meetinghub_meeting');
179
180  if (meetingContainer.length) {
181    const domain                 = mhub_jitsi_settings.custom_domain;
182    const roomName               = meetingContainer.data('random-room-name');
183    const currentUserName        = meetingContainer.data('user-name');
184    const width                  = meetingContainer.data('width');
185    const height                 = meetingContainer.data('height');
186    const start_with_audio_muted = meetingContainer.data('start-with-audio-muted');
187    const start_with_video_muted = meetingContainer.data('start-with-video-muted');
188    const screen_sharing         = meetingContainer.data('screen-sharing');
189    const enable_inviting        = meetingContainer.data('enable-inviting');
190
191    // Define toolbar buttons
192    let toolbarButtons = [
193      'camera',
194      'chat',
195      'closedcaptions',
196      'download',
197      'embedmeeting',
198      'etherpad',
199      'feedback',
200      'filmstrip',
201      'fullscreen',
202      'hangup',
203      'help',
204      'livestreaming',
205      'microphone',
206      'mute-everyone',
207      'mute-video-everyone',
208      'participants-pane',
209      'profile',
210      'raisehand',
211      'recording',
212      'security',
213      'select-background',
214      'settings',
215      'shareaudio',
216      'sharedvideo',
217      'shortcuts',
218      'stats',
219      'tileview',
220      'toggle-camera',
221      'videoquality',
222      '__end',
223    ];
224
225    if (enable_inviting) {
226      toolbarButtons.push('invite');
227    }
228
229    if (screen_sharing) {
230      toolbarButtons.push('desktop');
231    }
232
233    const options = {
234      roomName: roomName,
235      width: width ? width : 1080,
236      height: height ? height : '700',
237      parentNode: meetingContainer[0],
238      userInfo: {
239        displayName: currentUserName ? currentUserName : '',
240      },
241      configOverwrite: {
242        defaultLanguage: 'en',
243        startWithAudioMuted: start_with_audio_muted ? true : false,
244        startWithVideoMuted: start_with_video_muted ? true : false,
245        toolbarButtons: toolbarButtons,
246      },
247      interfaceConfigOverwrite: {
248        SHOW_CHROME_EXTENSION_BANNER: false,
249        SHOW_PROMOTIONAL_CLOSE_PAGE: false,
250      },
251    };
252
253    // Create JitsiMeetExternalAPI only if the meeting container is found
254    api = new JitsiMeetExternalAPI(domain, options);
255  } else {
256    console.warn('Meeting container not found. API initialization skipped.');
257  }
258};
259
260
261
262// Check if the DOM has fully loaded
263jQuery(document).ready(() => {
264  if (jQuery('#meetinghub_meeting').length) {
265     if( 'jitsi_random_public' === mhub_jitsi_settings.domain_type ) {
266      initFreeAPI();
267     } else if( 'jitsi_jass_premium' === mhub_jitsi_settings.domain_type ) {
268        if (mhub_frontend.jwt) {
269          initJassAPI();
270        } else {
271          initFreeAPI();
272        }
273     } else if ( 'jitsi_self_hosted' === mhub_jitsi_settings.domain_type ){
274       initCustomAPI();
275     }else{
276      initFreeAPI();
277     }
278   
279  }
280});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.