Rev 4842 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpnamespace LeadersLinked\Helper;use Laminas\View\Helper\AbstractHelper;use Laminas\Db\Adapter\AdapterInterface;use LeadersLinked\Mapper\UserMapper;use LeadersLinked\Model\UserType;use LeadersLinked\Mapper\ConnectionMapper;use LeadersLinked\Mapper\LocationMapper;use LeadersLinked\Mapper\ProfileVisitMapper;use LeadersLinked\Model\SelfEvaluationFormUser;use LeadersLinked\Mapper\SelfEvaluationFormUserMapper;use LeadersLinked\Mapper\QueryMapper;use Laminas\Db\Sql\Expression;use LeadersLinked\Mapper\SelfEvaluationFormMapper;use LeadersLinked\Model\SelfEvaluationForm;use LeadersLinked\Mapper\NetworkMapper;use LeadersLinked\Model\Network;use LeadersLinked\Mapper\CompanyMapper;use LeadersLinked\Mapper\CompanyUserMapper;use LeadersLinked\Model\CompanyUser;class MenuHelper extends AbstractHelper{/**** @var AdapterInterface*/private $adapter;/**** @var array*/private $config;/**** @param AdapterInterface $adapter* @param array $config*/public function __construct($adapter, $config){$this->adapter = $adapter;$this->config = $config;}/**** @param int $user_id* @return string*/public function __invoke($user_id){$userMapper = UserMapper::getInstance($this->adapter);$user = $userMapper->fetchOne($user_id);$pages = [];if($user) {$networkMapper = NetworkMapper::getInstance($this->adapter);$network = $networkMapper->fetchOne($user->network_id);if($network->default == Network::DEFAULT_YES) {if($network->relationship_user_mode == Network::RELATIONSHIP_USER_MODE_USER_2_USER) {$pages = getAclMenuDefaultNetworkConnectionUser2User();} else {$pages = getAclMenuDefaultNetworkConnectionAll2All();}} else {if($network->relationship_user_mode == Network::RELATIONSHIP_USER_MODE_USER_2_USER) {$pages = getAclMenuNonDefaulNetworkConnectionUser2User();} else {$pages = getAclMenuNonDefaultNetworkConnectionAll2All();}}/*$queryMapper = QueryMapper::getInstance($this->adapter);$select = $queryMapper->getSql()->select();$select->columns(['total' => new Expression('COUNT(*)')]);$select->from(['u' => SelfEvaluationFormUserMapper::_TABLE]);$select->join(['f' => SelfEvaluationFormMapper::_TABLE], 'u.form_id = f.id');$select->where->equalTo('u.user_i', $user_id);$select->where->equalTo('f.status', SelfEvaluationForm::STATUS_ACTIVE);$record = $queryMapper->fetchOne($select);$access_for_self_evaluation = $record['total'] > 0;*/$user_uuid = $user->uuid;$fullname = trim($user->first_name . ' ' . $user->last_name);$profileVisitMapper = ProfileVisitMapper::getInstance($this->adapter);$visits = $profileVisitMapper->getTotalByVisitedId($user->id);$connectionMapper = ConnectionMapper::getInstance($this->adapter);$connections = $connectionMapper->fetchTotalConnectionByUser($user->id);if($user->location_id) {$locationMapper = LocationMapper::getInstance($this->adapter);$location = $locationMapper->fetchOne($user->location_id);$country = $location->country;} else {$country = '';}$userMapper = UserMapper::getInstance($this->adapter);$user = $userMapper->fetchOne($user_id);if($user && $user->usertype_id == UserType::ADMIN) {$link_admin = '/backend/signin-admin';} else {$link_admin = '';}$link_company = '';if($network->default != Network::DEFAULT_YES) {$companyMapper = CompanyMapper::getInstance($this->adapter);$company = $companyMapper->fetchDefaultForNetworkByNetworkId($network->id);if($company) {$companyUserMapper = CompanyUserMapper::getInstance($this->adapter);$companyUser = $companyUserMapper->fetchOneByCompanyIdAndUserId($company->id, $user->id);if($companyUser) {if($companyUser && $companyUser->status == CompanyUser::STATUS_ACCEPTED && $companyUser->backend == CompanyUser::BACKEND_YES ) {$link_company = ['route' => 'backend/signin-company', 'id' => $company->uuid ];}}}}} else {$user_uuid= '';$fullname = '';$country = '';$visits = 0;$connections = 0;$link_admin = '';$link_company = '';}$data = ['user_uuid' => $user_uuid,'fullname' => $fullname,'country' => $country,'visits' => $visits,'connections' => $connections,'link_admin' => $link_admin,'link_company' => $link_company,'pages' => $pages];return $this->getView()->render('helpers/menu.phtml', $data);}}