From effa19c467fda5138b601196b53d26a48ed963b1 Mon Sep 17 00:00:00 2001 From: loma-one Date: Tue, 20 Jun 2023 17:26:03 +0200 Subject: [PATCH] Audon Audio Chat based on the WebRTC Addon This Addon based on webrtc. Audon is a service of realtime audio chat. With small changes, the WebRTC addon could be adapted to Audon so that it can be loaded into an iframe. In the ifram, the Friendica handle can be connected and a room opened. Audio conversations between Friendica users are possible. https://github.com/friendica/friendica-addons/pull/1357 --- audon/README.md | 6 +++++ audon/admin.tpl | 2 ++ audon/audon.php | 68 +++++++++++++++++++++++++++++++++++++++++++++++ audon/messages.po | 53 ++++++++++++++++++++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 audon/README.md create mode 100644 audon/admin.tpl create mode 100644 audon/audon.php create mode 100644 audon/messages.po diff --git a/audon/README.md b/audon/README.md new file mode 100644 index 00000000..beb89a1e --- /dev/null +++ b/audon/README.md @@ -0,0 +1,6 @@ +Audon Addon +============= + +This is a quick and dirty addon to add a [Audon][1] website as an app. This Addon based on webrtc. Audon is a service of realtime audio chat + +[1]: https://codeberg.org/nmkj/audon diff --git a/audon/admin.tpl b/audon/admin.tpl new file mode 100644 index 00000000..917ebd67 --- /dev/null +++ b/audon/admin.tpl @@ -0,0 +1,2 @@ +{{include file="field_input.tpl" field=$audonurl}} +
diff --git a/audon/audon.php b/audon/audon.php new file mode 100644 index 00000000..10eeb514 --- /dev/null +++ b/audon/audon.php @@ -0,0 +1,68 @@ +< + * Author: Tobias Diekershoff + * Author: Matthias Ebers + */ + +use Friendica\Core\Hook; +use Friendica\Core\Renderer; +use Friendica\DI; + +function audon_install() +{ + Hook::register('app_menu', __FILE__, 'audon_app_menu'); +} + +function audon_app_menu(array &$b) +{ + $b['app_menu'][] = ''; +} + +function audon_addon_admin(string &$o) +{ + $t = Renderer::getMarkupTemplate('admin.tpl', 'addon/audon/'); + $o = Renderer::replaceMacros($t, [ + '$submit' => DI::l10n()->t('Save Settings'), + '$audonurl' => [ + 'audonurl', + DI::l10n()->t('audon Base URL'), + DI::config()->get('audon','audonurl'), + DI::l10n()->t('Page your users will create a audon Audio chat room on. For example you could use https://audon.space.'), + ], + ]); +} + +function audon_addon_admin_post() +{ + DI::config()->set('audon', 'audonurl', trim($_POST['audonurl'] ?? '')); +} + +/** + * 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 audon_module() {} + +function audon_content(): string +{ + $o = ''; + + /* landingpage to create chatrooms */ + $audonurl = DI::config()->get('audon','audonurl'); + + /* embedd the landing page in an iframe */ + $o .= '

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

'; + $o .= '

' . DI::l10n()->t('Audon is an audio conferencing tool. Connect your account to Audon and create a room. Share the generated link to talk to other participants.') . '

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

' . DI::l10n()->t('Please contact your friendica administrator to remind them to configure the Audon addon.') . '

'; + } else { + $o .= ''; + } + + return $o; +} diff --git a/audon/messages.po b/audon/messages.po new file mode 100644 index 00000000..ad233014 --- /dev/null +++ b/audon/messages.po @@ -0,0 +1,53 @@ +# ADDON webrtc +# Copyright (C) +# This file is distributed under the same license as the Friendica webrtc addon package. +# +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-29 15:56+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: webrtc.php:18 +msgid "WebRTC Videochat" +msgstr "" + +#: webrtc.php:24 +msgid "Save Settings" +msgstr "" + +#: webrtc.php:25 +msgid "WebRTC Base URL" +msgstr "" + +#: webrtc.php:25 +msgid "" +"Page your users will create a WebRTC chat room on. For example you could use " +"https://live.mayfirst.org ." +msgstr "" + +#: webrtc.php:44 +msgid "Video Chat" +msgstr "" + +#: webrtc.php:45 +msgid "" +"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." +msgstr "" + +#: webrtc.php:47 +msgid "" +"Please contact your friendica admin and send a reminder to configure the " +"WebRTC addon." +msgstr ""