]> git.mxchange.org Git - friendica-addons.git/commitdiff
Audon Audio Chat based on the WebRTC Addon
authorloma-one <loma-one@noreply.git.friendi.ca>
Tue, 20 Jun 2023 15:26:03 +0000 (17:26 +0200)
committerHypolite Petovan <hypolite@mrpetovan.com>
Fri, 18 Aug 2023 16:41:32 +0000 (18:41 +0200)
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 [new file with mode: 0644]
audon/admin.tpl [new file with mode: 0644]
audon/audon.php [new file with mode: 0644]
audon/messages.po [new file with mode: 0644]

diff --git a/audon/README.md b/audon/README.md
new file mode 100644 (file)
index 0000000..beb89a1
--- /dev/null
@@ -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 (file)
index 0000000..917ebd6
--- /dev/null
@@ -0,0 +1,2 @@
+{{include file="field_input.tpl" field=$audonurl}}
+<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
diff --git a/audon/audon.php b/audon/audon.php
new file mode 100644 (file)
index 0000000..10eeb51
--- /dev/null
@@ -0,0 +1,68 @@
+<<?php
+/*
+ * Name: audon Application
+ * Description: add a audon instance for audio. Based on webRTC Addon
+ * Version: 0.1
+ * Author: Stephen Mahood <https://friends.mayfirst.org/profile/marxistvegan>
+ * Author: Tobias Diekershoff <https://f.diekershoff.de/profile/tobias>
+ * Author: Matthias Ebers <https://loma.ml/profile/feb>
+ */
+
+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'][] = '<div class="app-title"><a href="audon">' . DI::l10n()->t('audon Audiochat') . '</a></div>';
+}
+
+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 .= '<h2>' . DI::l10n()->t('Audio Chat') . '</h2>';
+       $o .= '<p>' . 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.') . '</p>';
+       if ($audonurl == '') {
+               $o .= '<p>' . DI::l10n()->t('Please contact your friendica administrator to remind them to configure the Audon addon.') . '</p>';
+       } else {
+               $o .= '<iframe src="' . $audonurl . '" width="740px" height="600px"></iframe>';
+       }
+
+       return $o;
+}
diff --git a/audon/messages.po b/audon/messages.po
new file mode 100644 (file)
index 0000000..ad23301
--- /dev/null
@@ -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 <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\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 ""