Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4283 | Rev 5765 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
namespace LeadersLinked\Helper;
3
 
4
use Laminas\View\Helper\AbstractHelper;
5
use Laminas\Db\Adapter\AdapterInterface;
6
use LeadersLinked\Mapper\UserMapper;
7
use LeadersLinked\Model\UserType;
1445 efrain 8
use LeadersLinked\Mapper\ConnectionMapper;
9
use LeadersLinked\Mapper\LocationMapper;
10
use LeadersLinked\Mapper\ProfileVisitMapper;
4283 efrain 11
use LeadersLinked\Model\SelfEvaluationFormUser;
12
use LeadersLinked\Mapper\SelfEvaluationFormUserMapper;
4113 efrain 13
use LeadersLinked\Mapper\QueryMapper;
14
use Laminas\Db\Sql\Expression;
4283 efrain 15
use LeadersLinked\Mapper\SelfEvaluationFormMapper;
16
use LeadersLinked\Model\SelfEvaluationForm;
4842 efrain 17
use LeadersLinked\Mapper\NetworkMapper;
18
use LeadersLinked\Model\Network;
19
use LeadersLinked\Mapper\CompanyMapper;
20
use LeadersLinked\Mapper\CompanyUserMapper;
21
use LeadersLinked\Model\CompanyUser;
1 www 22
 
23
class MenuHelper extends AbstractHelper
24
{
25
    /**
26
     *
27
     * @var AdapterInterface
28
     */
29
    private $adapter;
30
 
31
    /**
32
     *
33
     * @var array
34
     */
35
    private $config;
36
 
37
 
38
    /**
39
     *
40
     * @param AdapterInterface $adapter
41
     * @param array $config
42
     */
43
    public function __construct($adapter, $config)
44
    {
45
        $this->adapter = $adapter;
46
        $this->config = $config;
47
    }
48
 
49
    /**
50
     *
51
     * @param int $user_id
52
     * @return string
53
     */
54
    public function __invoke($user_id)
55
    {
1445 efrain 56
        $userMapper = UserMapper::getInstance($this->adapter);
57
        $user = $userMapper->fetchOne($user_id);
1 www 58
 
1662 efrain 59
        if($user) {
4113 efrain 60
 
4842 efrain 61
            $networkMapper = NetworkMapper::getInstance($this->adapter);
62
            $network = $networkMapper->fetchOne($user->network_id);
63
 
64
 
65
 
66
            if($network->default == Network::DEFAULT_YES) {
67
                if($network->relationship_user_mode == Network::RELATIONSHIP_USER_MODE_USER_2_USER)  {
68
                    $pages = getAclMenuDefaultNetworkConnectionUser2User();
69
                } else {
70
                    $pages = getAclMenuDefaultNetworkConnectionAll2All();
71
                }
72
            } else {
73
                if($network->relationship_user_mode == Network::RELATIONSHIP_USER_MODE_USER_2_USER)  {
74
 
75
                    $pages = getAclMenuNonDefaulNetworkConnectionUser2User();
76
 
77
                } else {
78
                    $pages = getAclMenuNonDefaultNetworkConnectionAll2All();
79
                }
80
            }
81
 
82
 
4114 efrain 83
            /*
4113 efrain 84
            $queryMapper = QueryMapper::getInstance($this->adapter);
85
 
86
            $select = $queryMapper->getSql()->select();
87
            $select->columns(['total' => new Expression('COUNT(*)')]);
4283 efrain 88
            $select->from(['u' => SelfEvaluationFormUserMapper::_TABLE]);
89
            $select->join(['f' => SelfEvaluationFormMapper::_TABLE], 'u.form_id  = f.id');
4113 efrain 90
            $select->where->equalTo('u.user_i', $user_id);
4283 efrain 91
            $select->where->equalTo('f.status', SelfEvaluationForm::STATUS_ACTIVE);
4113 efrain 92
 
93
 
94
            $record = $queryMapper->fetchOne($select);
95
            $access_for_self_evaluation = $record['total'] > 0;
96
 
4114 efrain 97
            */
4113 efrain 98
 
1662 efrain 99
            $user_uuid = $user->uuid;
100
            $fullname = trim($user->first_name . ' ' . $user->last_name);
1445 efrain 101
 
1662 efrain 102
            $profileVisitMapper = ProfileVisitMapper::getInstance($this->adapter);
103
            $visits = $profileVisitMapper->getTotalByVisitedId($user->id);
104
 
105
            $connectionMapper = ConnectionMapper::getInstance($this->adapter);
106
            $connections = $connectionMapper->fetchTotalConnectionByUser($user->id);
107
 
108
 
109
            if($user->location_id) {
110
                $locationMapper = LocationMapper::getInstance($this->adapter);
111
                $location = $locationMapper->fetchOne($user->location_id);
112
 
113
                $country = $location->country;
114
            } else {
115
                $country = '';
116
            }
117
 
118
 
119
 
120
            $userMapper = UserMapper::getInstance($this->adapter);
121
            $user = $userMapper->fetchOne($user_id);
122
            if($user && $user->usertype_id == UserType::ADMIN) {
123
                $link_admin = '/backend/signin-admin';
124
            } else {
125
                $link_admin = '';
126
            }
4842 efrain 127
 
128
            $link_company = '';
129
            if($network->default != Network::DEFAULT_YES) {
130
                $companyMapper = CompanyMapper::getInstance($this->adapter);
131
                $company = $companyMapper->fetchDefaultForNetworkByNetworkId($network->id);
132
                if($company) {
133
                    $companyUserMapper = CompanyUserMapper::getInstance($this->adapter);
134
                    $companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($company->id, $user->id);
135
                    if($companyUser) {
136
                        if($companyUser && $companyUser->status == CompanyUser::STATUS_ACCEPTED && $companyUser->backend == CompanyUser::BACKEND_YES ) {
137
                            $link_company = ['route' => 'backend/signin-company', 'id' => $company->uuid ];
138
                        }
139
                    }
140
                }
141
            }
142
 
1445 efrain 143
        } else {
1662 efrain 144
            $user_uuid= '';
145
            $fullname = '';
1445 efrain 146
            $country = '';
1662 efrain 147
            $visits = 0;
148
            $connections = 0;
149
            $link_admin = '';
4842 efrain 150
            $link_company = '';
1445 efrain 151
        }
152
 
153
        $data = [
1662 efrain 154
            'user_uuid' =>  $user_uuid,
155
            'fullname' => $fullname,
1445 efrain 156
            'country' => $country,
157
            'visits' => $visits,
158
            'connections' => $connections,
4842 efrain 159
            'link_admin' => $link_admin,
160
            'link_company' => $link_company,
161
            'pages' => $pages
1445 efrain 162
        ];
163
 
164
        return $this->getView()->render('helpers/menu.phtml', $data);
1 www 165
    }
166
}