X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FMeteor%2FMeteorPlugin.php;h=64c2fd3d6902b39e3c36e89a683ce3c6fae02ba4;hb=1e5232502571dcb1e8f107b9d27c54d91f0b8692;hp=cbc280a498d97888f25afa6cff9a73fc2c67b99e;hpb=85ea41ea4651ca480979859624fd3b256e19b36b;p=quix0rs-gnu-social.git diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php index cbc280a498..64c2fd3d69 100644 --- a/plugins/Meteor/MeteorPlugin.php +++ b/plugins/Meteor/MeteorPlugin.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { +if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); } @@ -49,10 +49,11 @@ class MeteorPlugin extends RealtimePlugin public $controlport = null; public $controlserver = null; public $channelbase = null; + public $protocol = null; public $persistent = true; protected $_socket = null; - function __construct($webserver=null, $webport=4670, $controlport=4671, $controlserver=null, $channelbase='') + function __construct($webserver=null, $webport=4670, $controlport=4671, $controlserver=null, $channelbase='', $protocol='http') { global $config; @@ -61,7 +62,8 @@ class MeteorPlugin extends RealtimePlugin $this->controlport = $controlport; $this->controlserver = (empty($controlserver)) ? $webserver : $controlserver; $this->channelbase = $channelbase; - + $this->protocol = $protocol; + parent::__construct(); } @@ -74,7 +76,8 @@ class MeteorPlugin extends RealtimePlugin 'webport', 'controlport', 'controlserver', - 'channelbase'); + 'channelbase', + 'protocol'); foreach ($settings as $name) { $val = common_config('meteor', $name); if ($val !== false) { @@ -88,15 +91,24 @@ class MeteorPlugin extends RealtimePlugin function _getScripts() { $scripts = parent::_getScripts(); - $scripts[] = 'http://'.$this->webserver.(($this->webport == 80) ? '':':'.$this->webport).'/meteor.js'; - $scripts[] = $this->path('meteorupdater.min.js'); + if ($this->protocol == 'https') { + $scripts[] = 'https://'.$this->webserver.(($this->webport == 443) ? '':':'.$this->webport).'/meteor.js'; + } else { + $scripts[] = 'http://'.$this->webserver.(($this->webport == 80) ? '':':'.$this->webport).'/meteor.js'; + } + $scripts[] = $this->path('js/meteorupdater.js'); return $scripts; } function _updateInitialize($timeline, $user_id) { $script = parent::_updateInitialize($timeline, $user_id); - return $script." MeteorUpdater.init(\"$this->webserver\", $this->webport, \"{$timeline}\");"; + $ours = sprintf("MeteorUpdater.init(%s, %s, %s, %s);", + json_encode($this->webserver), + json_encode($this->webport), + json_encode($this->protocol), + json_encode($timeline)); + return $script." ".$ours; } function _connect() @@ -148,10 +160,10 @@ class MeteorPlugin extends RealtimePlugin return implode('-', $path); } - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'Meteor', - 'version' => STATUSNET_VERSION, + 'version' => GNUSOCIAL_VERSION, 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:Meteor', 'rawdescription' =>