Rev 15342 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?php
declare(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\NetworkMapper;
class CurrentNetworkPlugin extends AbstractPlugin
{
/**
*
* @var \LeadersLinked\Plugin\CurrentNetworkPlugin
*/
private static $_instance;
/**
*
* @var boolean
*/
private $hasNetwork;
/**
*
* @return \LeadersLinked\Model\Network
*/
private $network;
/**
*
* @param AdapterInterface $adapter
* @return \LeadersLinked\Plugin\CurrentNetworkPlugin
*/
public static function getInstance($adapter)
{
if(self::$_instance == null) {
self::$_instance = new CurrentNetworkPlugin($adapter);
}
return self::$_instance;
}
/**
*
* @param AdapterInterface $adapter
*/
private function __construct($adapter)
{
$this->hasNetwork = false;
$hostname = empty($_SERVER['HTTP_HOST']) ? '' : $_SERVER['HTTP_HOST'];
$networkMapper = NetworkMapper::getInstance($adapter);
$this->network = $networkMapper->fetchOneByHostnameForBackend($hostname);
if($this->network) {
$this->hasNetwork = true;
}
}
/**
*
* @return \LeadersLinked\Model\Network
*/
public function getNetwork()
{
if($this->hasNetwork) {
return $this->network;
} else {
return null;
}
}
/**
*
* @return int
*/
public function getNetworkId()
{
if($this->hasNetwork) {
return $this->network->id;
} else {
return 0;
}
}
/**
*
* @return boolean
*/
public function hasNetwork()
{
return $this->hasNetwork;
}
}