Rev 4114 | Rev 5765 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
namespace 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;
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);
if($user) {
/*
$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 = '';
}
} else {
$user_uuid= '';
$fullname = '';
$country = '';
$visits = 0;
$connections = 0;
$link_admin = '';
}
$data = [
'user_uuid' => $user_uuid,
'fullname' => $fullname,
'country' => $country,
'visits' => $visits,
'connections' => $connections,
'link_admin' => $link_admin
];
return $this->getView()->render('helpers/menu.phtml', $data);
}
}