Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Helper;
6
 
7
use Laminas\View\Helper\AbstractHelper;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use LeadersLinked\Mapper\UserMapper;
10
use LeadersLinked\Mapper\QueryMapper;
11
use LeadersLinked\Model\GroupMember;
12
use LeadersLinked\Mapper\GroupMemberMapper;
13
use LeadersLinked\Model\User;
14
 
15
class GroupMembersHelper extends AbstractHelper
16
{
17
 
18
    /**
19
     *
20
     * @var AdapterInterface
21
     */
22
    private $adapter;
23
 
24
 
25
    /**
26
     *
27
     * @param AdapterInterface $adapter
28
     */
29
    public function __construct($adapter)
30
    {
31
        $this->adapter      = $adapter;
32
    }
33
 
34
    public function __invoke($group_id, $current_user_id = 0)
35
    {
36
 
37
        $mapper = QueryMapper::getInstance($this->adapter);
38
        $select = $mapper->getSql()->select();
39
        $select->columns(['id', 'uuid', 'first_name', 'last_name', 'image']);
40
        $select->from(['u' => UserMapper::_TABLE]);
41
        $select->join(['gm' => GroupMemberMapper::_TABLE], 'gm.user_id = u.id ', []);
42
        $select->where->equalTo('gm.group_id', $group_id);
43
        $select->where->in('gm.status', GroupMember::STATUS_ACCEPTED);
44
        $select->where->equalTo('u.status', User::STATUS_ACTIVE);
45
        $select->order(['last_name', 'first_name']);
46
 
47
        //echo $select->getSqlString($this->adapter->platform); exit;
48
 
49
        $items = $mapper->fetchAll($select);
50
        return $this->getView()->render('helpers/group-members.phtml', ['items' => $items]);
51
    }
52
}
53