2013-05-12 19:46:29 +02:00
< ? php
/*
* Name : WebRTC Application
* Description : add a webrtc instance for video / audio
* Version : 1.0
2013-06-14 19:40:10 +02:00
* Author : Stephen Mahood < https :// friends . mayfirst . org / profile / marxistvegan >
* Author : Tobias Diekershoff < https :// f . diekershoff . de / profile / tobias >
2013-05-12 19:46:29 +02:00
*/
2018-01-17 01:51:12 +01:00
use Friendica\Core\Addon ;
2017-11-07 00:55:24 +01:00
use Friendica\Core\Config ;
2018-01-22 20:03:11 +01:00
use Friendica\Core\L10n ;
2017-11-07 00:55:24 +01:00
2013-05-12 19:46:29 +02:00
function webrtc_install () {
2018-01-17 01:51:12 +01:00
Addon :: registerHook ( 'app_menu' , 'addon/webrtc/webrtc.php' , 'webrtc_app_menu' );
2013-05-12 19:46:29 +02:00
}
2013-05-12 21:23:04 +02:00
function webrtc_uninstall () {
2018-01-17 01:51:12 +01:00
Addon :: unregisterHook ( 'app_menu' , 'addon/webrtc/webrtc.php' , 'webrtc_app_menu' );
2013-05-12 19:46:29 +02:00
}
function webrtc_app_menu ( $a , & $b ) {
2018-01-22 20:03:11 +01:00
$b [ 'app_menu' ][] = '<div class="app-title"><a href="webrtc">' . L10n :: t ( 'WebRTC Videochat' ) . '</a></div>' ;
2013-05-12 19:46:29 +02:00
}
2018-01-20 14:57:41 +01:00
function webrtc_addon_admin ( & $a , & $o ) {
2013-05-12 19:46:29 +02:00
$t = get_markup_template ( " admin.tpl " , " addon/webrtc/ " );
2018-01-15 14:15:33 +01:00
$o = replace_macros ( $t , [
2018-01-22 20:03:11 +01:00
'$submit' => L10n :: t ( 'Save Settings' ),
'$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 .' )],
2018-01-15 14:15:33 +01:00
]);
2013-05-12 19:46:29 +02:00
}
2018-01-20 14:57:41 +01:00
function webrtc_addon_admin_post ( & $a ) {
2013-05-12 19:46:29 +02:00
$url = (( x ( $_POST , 'webrtcurl' )) ? notags ( trim ( $_POST [ 'webrtcurl' ])) : '' );
2017-11-07 00:55:24 +01:00
Config :: set ( 'webrtc' , 'webrtcurl' , $url );
2018-01-22 20:03:11 +01:00
info ( L10n :: t ( 'Settings updated.' ) . EOL );
2013-05-12 19:46:29 +02:00
}
function webrtc_module () {
return ;
}
function webrtc_content ( & $a ) {
$o = '' ;
/* landingpage to create chatrooms */
2017-11-07 00:55:24 +01:00
$webrtcurl = Config :: get ( 'webrtc' , 'webrtcurl' );
2013-05-12 19:46:29 +02:00
/* embedd the landing page in an iframe */
2018-01-22 20:03:11 +01:00
$o .= '<h2>' . L10n :: t ( 'Video Chat' ) . '</h2>' ;
$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>' ;
2013-05-12 20:19:23 +02:00
if ( $webrtcurl == '' ) {
2018-01-22 20:03:11 +01:00
$o .= '<p>' . L10n :: t ( 'Please contact your friendica admin and send a reminder to configure the WebRTC addon.' ) . '</p>' ;
2013-05-12 20:19:23 +02:00
} else {
$o .= '<iframe src="' . $webrtcurl . '" width="600px" height="600px"></iframe>' ;
}
2013-05-12 19:46:29 +02:00
return $o ;
}
?>