diff --git a/webrtc.tgz b/webrtc.tgz new file mode 100644 index 00000000..01a67823 Binary files /dev/null and b/webrtc.tgz differ diff --git a/webrtc/README b/webrtc/README new file mode 100644 index 00000000..75797f18 --- /dev/null +++ b/webrtc/README @@ -0,0 +1,22 @@ +Webrtc Plugin +==================== + +This is a quick and dirty addon to add a webrtc website as an app. As webrtc +advances so rapidly there is s a chance this plugin will be obsolete. Webrtc is +a new video and audio conferencing tool that is browser to browser +communication, no need to download specific software for just conferencing. +There are many different webrtc instances and because of the technology it is +really a person 2 person communication, using the server to only signal who +wants to talk to who, the actual transfer of the audio and video is directly +between the participants. + +If you would like to try this plugin please download one of the following +either Chrome/Chromium 25 or higher or Firefox 21 or higher. Then test it by +visiting a known webrtc instance (i.e. https://live.mayfirst.org) create a +room, you should be asked to share your camera and microphone (firefox will let +you choose one or the other, whereas chrome/chromium asks for both in one +question). + +If the test is successful then proceed with copying the webrtc instance you +would like to use and place it in the config window and save. Now when you +opent he app it will load the webrtc instance for you to use. diff --git a/webrtc/templates/admin.tpl b/webrtc/templates/admin.tpl new file mode 100644 index 00000000..d56de10b --- /dev/null +++ b/webrtc/templates/admin.tpl @@ -0,0 +1,2 @@ +{{include file="field_input.tpl" field=$webrtcurl}} +
diff --git a/webrtc/webrtc.php b/webrtc/webrtc.php new file mode 100644 index 00000000..7a4e8cf7 --- /dev/null +++ b/webrtc/webrtc.php @@ -0,0 +1,58 @@ + + * Author: Tobias Diekershoff + */ + +function webrtc_install() { + register_hook('app_menu', 'addon/webrtc/webrtc.php', 'webrtc_app_menu'); +} + +function webrtc_uninstall() { + unregister_hook('app_menu', 'addon/webrtc/webrtc.php', 'webrtc_app_menu'); + +} + +function webrtc_app_menu($a,&$b) { + $b['app_menu'][] = '
' . t('WebRTC Videochat') . '
'; +} + +function webrtc_plugin_admin (&$a, &$o) { + $t = get_markup_template( "admin.tpl", "addon/webrtc/" ); + $o = replace_macros( $t, array( + '$submit' => t('Submit'), + '$webrtcurl' => array('webrtcurl', t('WebRTC Base URL'), get_config('webrtc','webrtcurl' ), t('Page your users will create a WebRTC chat room on. For example you could use https://live.mayfirst.org .')), + )); +} +function webrtc_plugin_admin_post (&$a) { + $url = ((x($_POST, 'webrtcurl')) ? notags(trim($_POST['webrtcurl'])) : ''); + set_config('webrtc', 'webrtcurl', $url); + info( t('Settings updated.'). EOL); +} + +function webrtc_module() { + return; +} + +function webrtc_content(&$a) { + $o = ''; + + /* landingpage to create chatrooms */ + $webrtcurl = get_config('webrtc','webrtcurl'); + + /* embedd the landing page in an iframe */ + $o .= '

'.t('Video Chat').'

'; + $o .= '

'.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.').'

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

'.t('Please contact your friendica admin and send a reminder to configure the WebRTC addon.').'

'; + } else { + $o .= ''; + } + + + return $o; +} +?>