public $webport = null;
public $channelbase = null;
public $stompserver = null;
+ public $stompport = null;
public $username = null;
public $password = null;
+ public $webuser = null;
+ public $webpass = null;
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();
- $root = 'http://'.$this->webserver.(($this->webport == 80) ? '':':'.$this->webport);
+
+ $port = (is_null($this->webport)) ? 8000 : $this->webport;
+
+ $server = (is_null($this->webserver)) ? common_config('site', 'server') : $this->webserver;
+
+ $root = 'http://'.$server.(($port == 80) ? '':':'.$port);
+
$scripts[] = $root.'/static/Orbited.js';
+ $scripts[] = 'plugins/Orbited/orbitedextra.js';
$scripts[] = $root.'/static/protocols/stomp/stomp.js';
- $scripts[] = common_path('plugins/Orbited/orbitedupdater.js');
+ $scripts[] = 'plugins/Orbited/orbitedupdater.js';
+
return $scripts;
}
function _updateInitialize($timeline, $user_id)
{
$script = parent::_updateInitialize($timeline, $user_id);
- return $script." OrbitedUpdater.init(\"$this->stompserver\", $this->stompport, \"{$timeline}\");";
+
+ $server = $this->_getStompServer();
+ $port = $this->_getStompPort();
+
+ return $script." OrbitedUpdater.init(\"$server\", $port, ".
+ "\"{$timeline}\", \"{$this->webuser}\", \"{$this->webpass}\");";
}
function _connect()
{
- require_once(INSTALLDIR.'/extlibs/Stomp.php');
+ require_once(INSTALLDIR.'/extlib/Stomp.php');
- $stompserver = (empty($this->stompserver)) ? "tcp://{$this->webserver}:61613/" : $this->stompserver;
+ $url = $this->_getStompUrl();
- $this->con = new Stomp($stompserver);
+ $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');
}
}
}
return '/' . implode('/', $path);
}
+
+ function _getStompServer()
+ {
+ return (!is_null($this->stompserver)) ? $this->stompserver :
+ (!is_null($this->webserver)) ? $this->webserver :
+ common_config('site', 'server');
+ }
+
+ function _getStompPort()
+ {
+ return (!is_null($this->stompport)) ? $this->stompport : 61613;
+ }
+
+ function _getStompUrl()
+ {
+ $server = $this->_getStompServer();
+ $port = $this->_getStompPort();
+ return "tcp://$server:$port/";
+ }
}