Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15342 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15342 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Plugin;
6
 
7
use Laminas\Mvc\Controller\Plugin\AbstractPlugin;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use Laminas\Authentication\AuthenticationService;
10
use LeadersLinked\Model\Device;
11
use LeadersLinked\Mapper\DeviceMapper;
12
use LeadersLinked\Model\UserType;
13
use LeadersLinked\Mapper\NetworkMapper;
14
 
15
 
16
class CurrentNetworkPlugin extends AbstractPlugin
17
{
18
 
19
    /**
17002 efrain 20
     *
21
     * @var \LeadersLinked\Plugin\CurrentNetworkPlugin
22
     */
23
    private static $_instance;
24
 
25
 
26
    /**
15342 efrain 27
     *
28
     * @var boolean
29
     */
17002 efrain 30
    private $hasNetwork;
15342 efrain 31
 
32
 
33
 
34
    /**
35
     *
36
     * @return \LeadersLinked\Model\Network
37
     */
17002 efrain 38
    private $network;
39
 
40
    /**
41
     *
42
     * @param AdapterInterface $adapter
43
     * @return \LeadersLinked\Plugin\CurrentNetworkPlugin
44
     */
45
    public static function getInstance($adapter)
46
    {
47
        if(self::$_instance == null) {
48
            self::$_instance = new CurrentNetworkPlugin($adapter);
49
        }
50
        return self::$_instance;
51
    }
52
 
15342 efrain 53
 
54
 
55
    /**
56
     *
57
     * @param AdapterInterface $adapter
58
     */
17002 efrain 59
    private function __construct($adapter)
15342 efrain 60
    {
61
 
62
        $this->hasNetwork = false;
63
        $hostname = empty($_SERVER['HTTP_HOST']) ?  '' : $_SERVER['HTTP_HOST'];
64
 
65
        $networkMapper = NetworkMapper::getInstance($adapter);
66
        $this->network = $networkMapper->fetchOneByHostnameForBackend($hostname);
67
        if($this->network) {
68
            $this->hasNetwork = true;
69
        }
70
 
71
    }
72
 
73
 
74
    /**
75
     *
76
     * @return \LeadersLinked\Model\Network
77
     */
78
    public function getNetwork()
79
    {
80
 
81
        if($this->hasNetwork) {
82
            return $this->network;
83
        } else {
84
 
85
            return null;
86
        }
87
    }
88
 
89
 
90
    /**
91
     *
92
     * @return int
93
     */
94
    public function getNetworkId()
95
    {
96
        if($this->hasNetwork) {
97
           return $this->network->id;
98
 
99
        } else {
100
            return 0;
101
        }
102
    }
103
 
104
 
105
    /**
106
     *
107
     * @return boolean
108
     */
109
    public function hasNetwork()
110
    {
111
        return $this->hasNetwork;
112
    }
113
 
114
 
115
 
116
 
117
}