From 27ff66c9de64a60cb3219f6d823cb290d4f18c01 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sun, 4 Oct 2009 04:05:40 -0400 Subject: [PATCH] Some changes required from Orbited debugging --- plugins/Orbited/OrbitedPlugin.php | 18 ++++++++++++------ plugins/Orbited/orbitedextra.js | 2 ++ plugins/Orbited/orbitedupdater.js | 11 +++++++---- 3 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 plugins/Orbited/orbitedextra.js diff --git a/plugins/Orbited/OrbitedPlugin.php b/plugins/Orbited/OrbitedPlugin.php index ad7d1d2764..ba87b266a0 100644 --- a/plugins/Orbited/OrbitedPlugin.php +++ b/plugins/Orbited/OrbitedPlugin.php @@ -60,6 +60,12 @@ class OrbitedPlugin extends RealtimePlugin protected $con = null; + function onStartShowHeadElements($action) + { + // See http://orbited.org/wiki/Deployment#Cross-SubdomainDeployment + $action->element('script', null, ' document.domain = document.domain; '); + } + function _getScripts() { $scripts = parent::_getScripts(); @@ -71,6 +77,7 @@ class OrbitedPlugin extends RealtimePlugin $root = 'http://'.$server.(($port == 80) ? '':':'.$port); $scripts[] = $root.'/static/Orbited.js'; + $scripts[] = common_path('plugins/Orbited/orbitedextra.js'); $scripts[] = $root.'/static/protocols/stomp/stomp.js'; $scripts[] = common_path('plugins/Orbited/orbitedupdater.js'); @@ -90,16 +97,16 @@ class OrbitedPlugin extends RealtimePlugin function _connect() { - require_once(INSTALLDIR.'/extlibs/Stomp.php'); + require_once(INSTALLDIR.'/extlib/Stomp.php'); $url = $this->_getStompUrl(); $this->con = new Stomp($url); if ($this->con->connect($this->username, $this->password)) { - $this->_log(LOG_INFO, "Connected."); + $this->log(LOG_INFO, "Connected."); } else { - $this->_log(LOG_ERR, 'Failed to connect to queue server'); + $this->log(LOG_ERR, 'Failed to connect to queue server'); throw new ServerException('Failed to connect to queue server'); } } @@ -128,15 +135,14 @@ class OrbitedPlugin extends RealtimePlugin function _getStompServer() { - $server = (!is_null($this->stompserver)) ? $this->stompserver : + return (!is_null($this->stompserver)) ? $this->stompserver : (!is_null($this->webserver)) ? $this->webserver : common_config('site', 'server'); - return $server; } function _getStompPort() { - $port = (!is_null($this->stompport)) ? $this->stompport : 61613; + return (!is_null($this->stompport)) ? $this->stompport : 61613; } function _getStompUrl() diff --git a/plugins/Orbited/orbitedextra.js b/plugins/Orbited/orbitedextra.js new file mode 100644 index 0000000000..47e5c0c80e --- /dev/null +++ b/plugins/Orbited/orbitedextra.js @@ -0,0 +1,2 @@ +TCPSocket = Orbited.TCPSocket; + diff --git a/plugins/Orbited/orbitedupdater.js b/plugins/Orbited/orbitedupdater.js index d70f4a4fda..8c5ab3b732 100644 --- a/plugins/Orbited/orbitedupdater.js +++ b/plugins/Orbited/orbitedupdater.js @@ -9,13 +9,16 @@ var OrbitedUpdater = function() // set up stomp client. stomp = new STOMPClient(); - stomp.connect(server, port, username, password); - stomp.subscribe(timeline); - stomp.onmessageframe = function(frame) { RealtimeUpdate.receive(JSON.parse(frame.body)); }; - }; + + stomp.onconnectedframe = function() { + stomp.subscribe(timeline); + } + + stomp.connect(server, port, username, password); + } } }();