Merge branch '3.6-rc'
[friendica-addons.git] / webrtc / webrtc.php
1 <?php
2 /*
3  * Name: WebRTC Application
4  * Description: add a webrtc instance for video/audio
5  * Version: 1.0
6  * Author: Stephen Mahood <https://friends.mayfirst.org/profile/marxistvegan>
7  * Author: Tobias Diekershoff <https://f.diekershoff.de/profile/tobias>
8  */
9 use Friendica\Core\Addon;
10 use Friendica\Core\Config;
11 use Friendica\Core\L10n;
12
13 function webrtc_install() {
14         Addon::registerHook('app_menu', 'addon/webrtc/webrtc.php', 'webrtc_app_menu');
15 }
16
17 function webrtc_uninstall() {
18         Addon::unregisterHook('app_menu', 'addon/webrtc/webrtc.php', 'webrtc_app_menu');
19
20 }
21
22 function webrtc_app_menu($a,&$b) {
23         $b['app_menu'][] = '<div class="app-title"><a href="webrtc">' . L10n::t('WebRTC Videochat') . '</a></div>';
24 }
25
26 function webrtc_addon_admin (&$a, &$o) {
27         $t = get_markup_template( "admin.tpl", "addon/webrtc/" );
28         $o = replace_macros( $t, [
29             '$submit' => L10n::t('Save Settings'),
30             '$webrtcurl' => ['webrtcurl', L10n::t('WebRTC Base URL'), Config::get('webrtc','webrtcurl' ), L10n::t('Page your users will create a WebRTC chat room on. For example you could use https://live.mayfirst.org .')],
31         ]);
32 }
33 function webrtc_addon_admin_post (&$a) {
34         $url = ((x($_POST, 'webrtcurl')) ? notags(trim($_POST['webrtcurl'])) : '');
35             Config::set('webrtc', 'webrtcurl', $url);
36             info(L10n::t('Settings updated.'). EOL);
37 }
38
39 function webrtc_module() {
40         return;
41 }
42
43 function webrtc_content(&$a) {
44         $o = '';
45
46         /* landingpage to create chatrooms */
47         $webrtcurl = get_config('webrtc','webrtcurl');
48
49         /* embedd the landing page in an iframe */
50         $o .= '<h2>'.L10n::t('Video Chat').'</h2>';
51         $o .= '<p>'.L10n::t('WebRTC is a video and audio conferencing tool that works with Firefox (version 21 and above) and Chrome/Chromium (version 25 and above). Just create a new chat room and send the link to someone you want to chat with.').'</p>';
52         if ($webrtcurl == '') {
53             $o .= '<p>'.L10n::t('Please contact your friendica admin and send a reminder to configure the WebRTC addon.').'</p>';
54         } else {
55             $o .= '<iframe src="'.$webrtcurl.'" width="600px" height="600px"></iframe>';
56         }
57
58
59         return $o;
60 }
61 ?>