diff --git a/app/Conference.php b/app/Conference.php
index 1654504d3..1d0922519 100644
--- a/app/Conference.php
+++ b/app/Conference.php
@@ -60,6 +60,11 @@ class Conference extends Model
return $this->hasOne('App\Contact', 'id', 'conference');
}
+ public function getServerAttribute()
+ {
+ return \explodeJid($this->conference)['server'];
+ }
+
public function getConnectedAttribute()
{
return isset($this->presence);
diff --git a/app/widgets/Rooms/Rooms.php b/app/widgets/Rooms/Rooms.php
index 58a132a78..ad2b6c774 100644
--- a/app/widgets/Rooms/Rooms.php
+++ b/app/widgets/Rooms/Rooms.php
@@ -562,8 +562,10 @@ class Rooms extends Base
->withCount('unreads')
->get();
$connected = new Collection;
+ $servers = [];
foreach ($conferences as $key => $conference) {
+ array_push($servers, $conference->server);
if ($conference->connected) {
$connected->push($conferences->pull($key));
}
@@ -573,6 +575,7 @@ class Rooms extends Base
$view = $this->tpl();
$view->assign('edit', $edit);
+ $view->assign('servers', App\Info::whereIn('server', array_unique($servers))->get()->keyBy('server'));
$view->assign('conferences', $conferences);
$view->assign('room', $this->get('r'));
diff --git a/app/widgets/Rooms/_rooms.tpl b/app/widgets/Rooms/_rooms.tpl
index a68956622..909ec514b 100644
--- a/app/widgets/Rooms/_rooms.tpl
+++ b/app/widgets/Rooms/_rooms.tpl
@@ -87,7 +87,7 @@
{if="$value->info && !$value->info->mucsemianonymous"}
wifi_tethering
{/if}
- –
+ –
{elseif="isset($info) && $info->occupants > 0"}
mucrole == 'moderator'"}
@@ -97,7 +97,10 @@
{if="$value->info && !$value->info->mucsemianonymous"}
wifi_tethering
{/if}
- –
+ –
+ {/if}
+ {if="$servers->has($value->server) && $servers->get($value->server)->type != 'text'"}
+ swap_horiz –
{/if}
{if="$connected"}
{if="isset($info) && $info->description"}