Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Bauch <bauch@struktur.de>2017-07-21 10:22:28 +0300
committerJoachim Bauch <bauch@struktur.de>2017-11-02 13:23:10 +0300
commite083e7225670443f06bc4bfb7f84b86f98c0fb39 (patch)
tree6fbb32467003a2914d376d09743255b78a8bd81e
parent0f3d5926604fad18aeaacd7fa35e0b9c20a8078a (diff)
Pass all signaling-related settings as JSON object to frontend.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
-rw-r--r--js/signaling.js22
-rw-r--r--lib/Controller/PageController.php12
-rw-r--r--templates/index-public.php5
-rw-r--r--templates/index.php5
4 files changed, 30 insertions, 14 deletions
diff --git a/js/signaling.js b/js/signaling.js
index cb598dc98..efaf86762 100644
--- a/js/signaling.js
+++ b/js/signaling.js
@@ -3,7 +3,8 @@
OCA.SpreedMe = OCA.SpreedMe || {};
- function SignalingBase() {
+ function SignalingBase(settings) {
+ this.settings = settings;
this.sessionId = '';
this.currentCallToken = null;
this.handlers = {};
@@ -110,7 +111,7 @@
};
// Connection to the internal signaling server provided by the app.
- function InternalSignaling() {
+ function InternalSignaling(/*settings*/) {
SignalingBase.prototype.constructor.apply(this, arguments);
this.spreedArrayConnection = [];
@@ -431,7 +432,7 @@
}.bind(this));
};
- function StandaloneSignaling(url) {
+ function StandaloneSignaling(settings, url) {
SignalingBase.prototype.constructor.apply(this, arguments);
// Make sure we are using websocket urls.
if (url.indexOf("https://") === 0) {
@@ -601,7 +602,6 @@
} else {
var user = OC.getCurrentUser();
var url = OC.generateUrl("/apps/spreed/signalling/backend");
- var ticket = $("#app").attr("data-signalingticket");
msg = {
"type": "hello",
"hello": {
@@ -610,7 +610,7 @@
"url": OC.getProtocol() + "://" + OC.getHost() + url,
"params": {
"userid": user.uid,
- "ticket": ticket,
+ "ticket": this.settings.ticket
}
}
}
@@ -753,11 +753,17 @@
};
OCA.SpreedMe.createSignalingConnection = function() {
- var url = $("#app").attr("data-signalingserver");
+ var settings = $("#app #signaling-settings").text();
+ if (settings) {
+ settings = JSON.parse(settings);
+ } else {
+ settings = {};
+ }
+ var url = settings['server'];
if (url) {
- return new StandaloneSignaling(url);
+ return new StandaloneSignaling(settings, url);
} else {
- return new InternalSignaling();
+ return new InternalSignaling(settings);
}
};
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index bcb972f64..c24be0bad 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -162,8 +162,10 @@ class PageController extends Controller {
$params = [
'token' => $token,
- 'signaling-server' => $this->config->getSignalingServer(),
- 'signaling-ticket' => $this->config->getSignalingTicket($this->userId),
+ 'signaling-settings' => [
+ 'server' => $this->config->getSignalingServer(),
+ 'ticket' => $this->config->getSignalingTicket($this->userId),
+ ],
];
$response = new TemplateResponse($this->appName, 'index', $params);
$csp = new ContentSecurityPolicy();
@@ -202,8 +204,10 @@ class PageController extends Controller {
$params = [
'token' => $token,
- 'signaling-server' => $this->config->getSignalingServer(),
- 'signaling-ticket' => $this->config->getSignalingTicket($this->userId),
+ 'signaling-settings' => [
+ 'server' => $this->config->getSignalingServer(),
+ 'ticket' => $this->config->getSignalingTicket($this->userId),
+ ],
];
$response = new TemplateResponse($this->appName, 'index-public', $params, 'base');
$csp = new ContentSecurityPolicy();
diff --git a/templates/index-public.php b/templates/index-public.php
index 2b909976c..44dc370d3 100644
--- a/templates/index-public.php
+++ b/templates/index-public.php
@@ -33,7 +33,10 @@ script(
<div id="notification-container">
<div id="notification" style="display: none;"></div>
</div>
-<div id="app" class="nc-enable-screensharing-extension" data-token="<?php p($_['token']) ?>" data-signalingServer="<?php p($_['signaling-server']) ?>" data-signalingTicket="<?php p($_['signaling-ticket']) ?>">
+<div id="app" class="nc-enable-screensharing-extension" data-token="<?php p($_['token']) ?>">
+ <script type="text/json" id="signaling-settings">
+ <?php echo json_encode($_['signaling-settings']) ?>
+ </script>
<div id="app-content" class="participants-1">
<header>
diff --git a/templates/index.php b/templates/index.php
index b53d2cba6..b392cd01c 100644
--- a/templates/index.php
+++ b/templates/index.php
@@ -33,7 +33,10 @@ script(
);
?>
-<div id="app" class="nc-enable-screensharing-extension" data-token="<?php p($_['token']) ?>" data-signalingServer="<?php p($_['signaling-server']) ?>" data-signalingTicket="<?php p($_['signaling-ticket']) ?>">
+<div id="app" class="nc-enable-screensharing-extension" data-token="<?php p($_['token']) ?>">
+ <script type="text/json" id="signaling-settings">
+ <?php echo json_encode($_['signaling-settings']) ?>
+ </script>
<div id="app-navigation" class="icon-loading">
<form id="oca-spreedme-add-room">
<input id="select-participants" class="select2-offscreen" type="text" placeholder="<?php p($l->t('Choose person …')) ?>"/>