Merge pull request #120 from tobiasd/webrtc

WebRTC
This commit is contained in:
Tobias Diekershoff 2013-05-14 09:58:57 -07:00
commit 13a7ae302a
4 changed files with 82 additions and 0 deletions

BIN
webrtc.tgz Normal file

Binary file not shown.

22
webrtc/README Normal file
View file

@ -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.

View file

@ -0,0 +1,2 @@
{{include file="field_input.tpl" field=$webrtcurl}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>

58
webrtc/webrtc.php Normal file
View file

@ -0,0 +1,58 @@
<?php
/*
* Name: WebRTC Application
* Description: add a webrtc instance for video/audio
* Version: 1.0
* Author: stephen mahood <https://friends.mayfirst.org/profile/marxistvegan>
* Author: Tobias Diekershoff <http://diekershoff.homeunix.net/friendica/profile/tobias>
*/
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'][] = '<div class="app-title"><a href="webrtc">' . t('WebRTC Videochat') . '</a></div>';
}
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 .= '<h2>'.t('Video Chat').'</h2>';
$o .= '<p>'.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>';
if ($webrtcurl == '') {
$o .= '<p>'.t('Please contact your friendica admin and send a reminder to configure the WebRTC addon.').'</p>';
} else {
$o .= '<iframe src="'.$webrtcurl.'" width="600px" height="600px"></iframe>';
}
return $o;
}
?>