Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6749 | | Comparar con el anterior | 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;
6849 efrain 9
 
1 www 10
use Laminas\Log\LoggerInterface;
11
use Laminas\Authentication\AuthenticationService;
12
use LeadersLinked\Mapper\UserMapper;
13
use LeadersLinked\Library\Functions;
14
use LeadersLinked\Plugin\CurrentUserPlugin;
15
use Laminas\Paginator\Adapter\DbSelect;
16
use LeadersLinked\Mapper\QueryMapper;
17
use LeadersLinked\Mapper\ProfileVisitMapper;
18
use LeadersLinked\Mapper\CompanyFollowerMapper;
19
use LeadersLinked\Model\User;
20
 
21
class  CompanyFollowerHelper extends AbstractHelper
22
{
23
 
24
    /**
25
     *
26
     * @var AdapterInterface
27
     */
28
    private $adapter;
29
 
30
 
31
    /**
32
     *
33
     * @param AdapterInterface $adapter
34
     */
35
    public function __construct($adapter)
36
    {
37
        $this->adapter      = $adapter;
38
    }
39
 
40
    public function __invoke($company_id)
41
    {
42
        $companyFollowerMapper = CompanyFollowerMapper::getInstance($this->adapter);
43
        $records = $companyFollowerMapper->fetchAllByCompanyId($company_id);
44
 
45
        $ids = [];
46
        foreach($records as $record)
47
        {
48
            if(!in_array($record->follower_id, $ids)) {
49
                array_push($ids, $record->follower_id);
50
            }
51
        }
52
 
53
        $items = [];
54
        if($ids) {
55
 
56
            $mapper = QueryMapper::getInstance($this->adapter);
57
            $select = $mapper->getSql()->select(UserMapper::_TABLE);
58
            $select->columns(['uuid','first_name', 'last_name', 'image']);
59
            $select->where->in('id',$ids);
60
            $select->where->equalTo('status',User::STATUS_ACTIVE);
61
            $select->order(['last_name','first_name']);
62
 
63
            //echo $select->getSqlString($this->adapter->platform);
64
 
65
            $items = $mapper->fetchAll($select);
66
        }
67
        return $this->getView()->render('helpers/company-followers.phtml', ['items' => $items]);
68
    }
69
}
70