Browse Source

Display Gateway rooms with an icon in the list

pull/865/head^2
Timothée Jaussoin 6 years ago
parent
commit
8b88de20a6
  1. 5
      app/Conference.php
  2. 3
      app/widgets/Rooms/Rooms.php
  3. 7
      app/widgets/Rooms/_rooms.tpl

5
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);

3
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'));

7
app/widgets/Rooms/_rooms.tpl

@ -87,7 +87,7 @@
{if="$value->info && !$value->info->mucsemianonymous"}
<i class="material-icons">wifi_tethering</i>
{/if}
</span>
</span> –
{elseif="isset($info) && $info->occupants > 0"}
<span title="{$c->__('communitydata.sub', $info->occupants)}"
{if="$connected && $connected->mucrole == 'moderator'"}
@ -97,7 +97,10 @@
{if="$value->info && !$value->info->mucsemianonymous"}
<i class="material-icons">wifi_tethering</i>
{/if}
</span> –
</span> –
{/if}
{if="$servers->has($value->server) && $servers->get($value->server)->type != 'text'"}
<i class="material-icons" title="{$c->__('rooms.gateway_room')}">swap_horiz</i> –
{/if}
{if="$connected"}
{if="isset($info) && $info->description"}

Loading…
Cancel
Save