Proyectos de Subversion LeadersLinked - Services

Rev

Rev 186 | Rev 188 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 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
    /**
20
     *
21
     * @var boolean
22
     */
23
    protected $hasNetwork;
24
 
25
 
26
 
27
    /**
28
     *
29
     * @return \LeadersLinked\Model\Network
30
     */
31
    protected $network;
32
 
33
 
34
    /**
35
     *
36
     * @var string
37
     */
38
    protected $hostname;
39
 
40
    /**
41
     *
42
     * @param AdapterInterface $adapter
43
     */
44
    public function __construct($adapter)
45
    {
164 efrain 46
 
1 efrain 47
 
164 efrain 48
 
49
 
50
 
51
 
1 efrain 52
        $this->hasNetwork = false;
53
 
20 efrain 54
 
185 efrain 55
        $request_uri = empty($_SERVER['REQUEST_URI']) ? '' : $_SERVER['REQUEST_URI'];
187 efrain 56
        if($request_uri) {
57
 
58
            if(substr($request_uri, 0, 1) == '/') {
59
                $request_uri = substr($request_uri, 1);
60
            }
61
 
185 efrain 62
        $parts = explode('/', $request_uri);
164 efrain 63
 
187 efrain 64
 
186 efrain 65
        echo $request_uri . '<br>';
66
 
185 efrain 67
        print_r($parts); exit;
68
 
187 efrain 69
        }
185 efrain 70
 
71
 
72
 
73
 
187 efrain 74
 
154 efrain 75
        $hostname = empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN'];
76
 
18 efrain 77
        if(empty($hostname)) {
154 efrain 78
 
79
            $hostname = empty($_SERVER['HTTP_REFERER']) ?  '' : $_SERVER['HTTP_REFERER'];
80
 
81
            if(empty($hostname)) {
82
                $hostname = empty($_SERVER['HTTP_HOST']) ?  '' : $_SERVER['HTTP_HOST'];
83
 
84
            }
18 efrain 85
        }
9 efrain 86
 
18 efrain 87
        $hostname = trim(str_replace(['https://', 'http://'], '', $hostname));
161 efrain 88
 
177 efrain 89
 
90
        //echo $hostname; exit;
91
 
43 efrain 92
 
18 efrain 93
        $parts = explode('/', $hostname);
184 efrain 94
 
95
 
185 efrain 96
 
164 efrain 97
        $hostname = $parts > 1 ? $parts[0] : $hostname;
17 efrain 98
 
1 efrain 99
        $networkMapper = NetworkMapper::getInstance($adapter);
100
        $this->network = $networkMapper->fetchOneByHostnameForFrontend($hostname);
101
 
161 efrain 102
 
1 efrain 103
        if($this->network) {
104
 
105
            $this->hostname = $this->network->main_hostname == $hostname ?  $this->network->main_hostname : $this->network->alternative_hostname;
106
            $this->hasNetwork = true;
107
        }
108
    }
109
 
110
    /**
111
     *
112
     * @return \LeadersLinked\Model\Network
113
     */
114
    public function getNetwork()
115
    {
116
        if($this->hasNetwork) {
117
            return $this->network;
118
        } else {
119
            return null;
120
        }
121
    }
122
 
123
    /**
124
     *
125
     * @return int
126
     */
127
    public function getNetworkId()
128
    {
129
        if($this->hasNetwork) {
130
           return $this->network->id;
131
 
132
        } else {
133
            return 0;
134
        }
135
    }
136
 
137
 
138
    /**
139
     *
140
     * @return boolean
141
     */
142
    public function hasNetwork()
143
    {
144
        return $this->hasNetwork;
145
    }
146
 
147
 
148
    public function getHostname() : string
149
    {
150
        return  $this->hostname;
151
    }
152
 
153
 
154
 
155
}