Proyectos de Subversion LeadersLinked - Services

Rev

Rev 154 | Rev 164 | 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
    {
46
 
47
        $this->hasNetwork = false;
48
 
20 efrain 49
 
154 efrain 50
        $hostname = empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN'];
51
 
18 efrain 52
        if(empty($hostname)) {
154 efrain 53
 
54
            $hostname = empty($_SERVER['HTTP_REFERER']) ?  '' : $_SERVER['HTTP_REFERER'];
55
 
56
            if(empty($hostname)) {
57
                $hostname = empty($_SERVER['HTTP_HOST']) ?  '' : $_SERVER['HTTP_HOST'];
58
 
59
            }
18 efrain 60
        }
9 efrain 61
 
18 efrain 62
        $hostname = trim(str_replace(['https://', 'http://'], '', $hostname));
161 efrain 63
 
64
 
43 efrain 65
 
25 efrain 66
 
18 efrain 67
        $parts = explode('/', $hostname);
68
        $hostname = $parts > 1 ? $parts[0] : $hostname;
17 efrain 69
 
153 efrain 70
       // $hostname = 'dev-spa.leaderslinked.com';
122 efrain 71
 
71 efrain 72
        //$hostname = 'dev.leaderslinked.com';
119 efrain 73
        //$hostname = 'leaderslinked.example.com';
48 efrain 74
 
46 efrain 75
       // error_log('hostname :  '  . $hostname .  ' session ID : ' . session_id() . ' request URI : ' . $_SERVER['REQUEST_URI']);
20 efrain 76
 
161 efrain 77
 
78
 
79
 
80
 
1 efrain 81
        $networkMapper = NetworkMapper::getInstance($adapter);
82
        $this->network = $networkMapper->fetchOneByHostnameForFrontend($hostname);
83
 
161 efrain 84
 
85
 
1 efrain 86
        if($this->network) {
87
 
88
            $this->hostname = $this->network->main_hostname == $hostname ?  $this->network->main_hostname : $this->network->alternative_hostname;
89
            $this->hasNetwork = true;
90
        }
91
    }
92
 
93
    /**
94
     *
95
     * @return \LeadersLinked\Model\Network
96
     */
97
    public function getNetwork()
98
    {
99
        if($this->hasNetwork) {
100
            return $this->network;
101
        } else {
102
            return null;
103
        }
104
    }
105
 
106
    /**
107
     *
108
     * @return int
109
     */
110
    public function getNetworkId()
111
    {
112
        if($this->hasNetwork) {
113
           return $this->network->id;
114
 
115
        } else {
116
            return 0;
117
        }
118
    }
119
 
120
 
121
    /**
122
     *
123
     * @return boolean
124
     */
125
    public function hasNetwork()
126
    {
127
        return $this->hasNetwork;
128
    }
129
 
130
 
131
    public function getHostname() : string
132
    {
133
        return  $this->hostname;
134
    }
135
 
136
 
137
 
138
}