Rev 15342 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Plugin;use Laminas\Mvc\Controller\Plugin\AbstractPlugin;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Authentication\AuthenticationService;use LeadersLinked\Model\Device;use LeadersLinked\Mapper\DeviceMapper;use LeadersLinked\Model\UserType;use LeadersLinked\Mapper\CompanyMapper;class CurrentUserPlugin extends AbstractPlugin{/**** @var AuthenticationService*/protected $auth;/**** @var boolean*/protected $hasIdentity;/**** @return \LeadersLinked\Model\User*/protected $user;/***** @var \LeadersLinked\Model\Company*/protected $company;/**** @param AdapterInterface $adapter*/public function __construct($adapter){$this->auth = new \Laminas\Authentication\AuthenticationService();$this->hasIdentity = false;if($this->auth->hasIdentity()) {$identity = $this->auth->getIdentity();$userMapper = \LeadersLinked\Mapper\UserMapper::getInstance($adapter);$this->user = $userMapper->fetchOne($identity['user_id']);if($this->user) {$this->hasIdentity = true;if($identity['company_id']) {$companyMapper = CompanyMapper::getInstance($adapter);$this->company = $companyMapper->fetchOne($identity['company_id']);}}}}/**** @return \LeadersLinked\Model\User*/public function getUser(){return $this->user;}/**** @return string*/public function getDeviceId(){return $this->deviceId;}/**** @return int*/public function getUserId(){if($this->hasIdentity) {return $this->user->id;} else {return 0;}}/*** @return string*/public function getUserTypeId(){if($this->hasIdentity) {return $this->user->usertype_id;} else {return UserType::GUEST;}}/**** @return \LeadersLinked\Model\Company*/public function getCompany(){return $this->company;}public function getCompanyId(){if($this->company) {} else {return 0;}}/**** @return boolean*/public function hasIdentity(){return $this->user ? true : false;}public function clearIdentity(){$this->auth->clearIdentity();}}