* Author: Tobias Diekershoff */ use Friendica\App; use Friendica\Core\Hook; use Friendica\Core\Renderer; use Friendica\DI; function webrtc_install() { Hook::register('app_menu', 'addon/webrtc/webrtc.php', 'webrtc_app_menu'); } function webrtc_app_menu(App $a, array &$b) { $b['app_menu'][] = '
' . DI::l10n()->t('WebRTC Videochat') . '
'; } function webrtc_addon_admin (App $a, string &$o) { $t = Renderer::getMarkupTemplate('admin.tpl', 'addon/webrtc/' ); $o = Renderer::replaceMacros($t, [ '$submit' => DI::l10n()->t('Save Settings'), '$webrtcurl' => [ 'webrtcurl', DI::l10n()->t('WebRTC Base URL'), DI::config()->get('webrtc','webrtcurl' ), DI::l10n()->t('Page your users will create a WebRTC chat room on. For example you could use https://live.mayfirst.org .'), ], ]); } function webrtc_addon_admin_post (App $a) { DI::config()->set('webrtc', 'webrtcurl', trim($_POST['webrtcurl'] ?? '')); } /** * This is a statement rather than an actual function definition. The simple * existence of this method is checked to figure out if the addon offers a * module. */ function webrtc_module() {} function webrtc_content(App $a): string { $o = ''; /* landingpage to create chatrooms */ $webrtcurl = DI::config()->get('webrtc','webrtcurl'); /* embedd the landing page in an iframe */ $o .= '

'.DI::l10n()->t('Video Chat').'

'; $o .= '

'.DI::l10n()->t('WebRTC is a video and audio conferencing tool that works in all modern browsers. Just create a new chat room and send the link to someone you want to chat with.').'

'; if ($webrtcurl == '') { $o .= '

'.DI::l10n()->t('Please contact your friendica admin and send a reminder to configure the WebRTC addon.').'

'; } else { $o .= ''; } return $o; }