|
|
|
@ -1,5 +1,7 @@ |
|
|
|
<?php |
|
|
|
|
|
|
|
use Illuminate\Database\Capsule\Manager as DB; |
|
|
|
|
|
|
|
class ContactDisco extends \Movim\Widget\Base |
|
|
|
{ |
|
|
|
public function load() |
|
|
|
@ -20,7 +22,20 @@ class ContactDisco extends \Movim\Widget\Base |
|
|
|
$query->select('id') |
|
|
|
->from('users') |
|
|
|
->where('public', true); |
|
|
|
})->limit(40)->get(); |
|
|
|
}) |
|
|
|
->join(DB::raw('( |
|
|
|
select min(value) as value, jid |
|
|
|
from presences |
|
|
|
group by jid) as presences |
|
|
|
'), 'presences.jid', '=', 'contacts.id') |
|
|
|
->whereNotIn('id', function ($query) { |
|
|
|
$query->select('jid') |
|
|
|
->from('rosters') |
|
|
|
->where('session_id', $this->user->session->id); |
|
|
|
}) |
|
|
|
->where('id', '!=', $this->user->id) |
|
|
|
->orderBy('presences.value') |
|
|
|
->limit(40)->get(); |
|
|
|
|
|
|
|
$view->assign('presencestxt', getPresencesTxt()); |
|
|
|
$view->assign('users', $users); |
|
|
|
|