Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
 
3
/**
4
 * Global Configuration Override
5
 *
6
 * You can use this file for overriding configuration values from modules, etc.
7
 * You would place values in here that are agnostic to the environment and not
8
 * sensitive to security.
9
 *
10
 * NOTE: In practice, this file will typically be INCLUDED in your source
11
 * control, so do not include passwords or other sensitive information in this
12
 * file.
13
 */
14
use Laminas\Session\Storage\SessionArrayStorage;
15
use Laminas\Session\Validator\RemoteAddr;
16
use Laminas\Session\Validator\HttpUserAgent;
17
use LeadersLinked\Handler\SessionHandler;
18
use Laminas\Session\SessionManager;
19
use Laminas\Session\Container;
20
use Laminas\Session\Config\SessionConfig;
21
use Laminas\Db\TableGateway\TableGateway;
22
use LeadersLinked\Mapper\SessionMapper;
23
use Laminas\Session\SaveHandler\DbTableGateway;
24
use Laminas\Session\SaveHandler\DbTableGatewayOptions;
112 efrain 25
use Laminas\Session\Storage\SessionStorage;
1 www 26
 
27
return [
28
 'session' => [
29
        'config' => [
30
            'class' => 'Laminas\Session\Config\SessionConfig',
31
            'options' => [
169 efrain 32
                'name'              => 'LeadersLinked',
33
                'use_cookies'       => true,
34
                'cookie_lifetime'   => 60*60*24,
258 efrain 35
                //'cookie_httponly'   => true,
36
                //'cookie_secure'     => true,
37
                //'cookie_domain'     => 'leaderslinked.com',
169 efrain 38
                'gc_maxlifetime'    => 60*60*24*30,
1 www 39
            ],
40
        ],
41
        'storage' => SessionArrayStorage::class,
42
        'validators' => [
43
            RemoteAddr::class,
44
            HttpUserAgent::class,
45
        ],
46
    ],
47
 
48
    'caches' => [
49
        'leaders-linked-cache' => [
50
            'adapter' => [
51
                'name'     =>'filesystem',
52
                'options'  => [
53
                    'ttl' => 7200,
54
                ],
55
            ],
56
            /*'adapter' => [
57
                'name'     =>'memcached',
58
                'options' => [
59
                    'ttl' => 7200,
60
                    'servers' => [
61
                        [
62
                            'host' => '127.0.0.1',
63
                            'port' =>11211
64
                        ]
65
                    ],
66
                    'namespace'  => 'LL',
67
                    'liboptions' => [
68
                        'COMPRESSION' => true,
69
                        'binary_protocol' => true,
70
                        'no_block' => true,
71
                        'connect_timeout' => 100
72
                    ]
73
                ],
74
 
75
            ],*/
76
            'plugins' => [
77
                'exception_handler' => [
78
                    'throw_exceptions' => false
79
                ],
80
            ],
81
        ]
82
    ],
83
   /* 'db' => [
84
        'adapters' => [
85
            'leaders-linked-db' => [
86
                'driver'         	=> 'Pdo',
87
                'dsn'           	=> 'mysql:dbname=leaderslinked;host=localhost',
88
                'username'			=> 'test',
89
                'password'			=> 'T3st001-',
90
                'driver_options' 	=> array(
91
                    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
92
                ),
93
            ],
94
 
95
        ]
96
    ],*/
97
    'service_manager' => [
98
        'factories' => [
99
            //'Laminas\Db\Adapter\Adapter'  => 'Laminas\Db\Adapter\AdapterServiceFactory',
100
 
101
            'leaders-linked-db' => function ($sm) {
102
                $config = $sm->get('config');
103
 
104
                $sandbox = $config['leaderslinked.runmode.sandbox'];
105
                if($sandbox) {
106
                    $host       = $config['leaderslinked.database.sandbox_host'];
107
                    $port       = $config['leaderslinked.database.sandbox_port'];
108
                    $dbname     = $config['leaderslinked.database.sandbox_dbname'];
109
                    $user       = $config['leaderslinked.database.sandbox_user'];
110
                    $password   = $config['leaderslinked.database.sandbox_password'];
111
                } else {
112
                    $host       = $config['leaderslinked.database.production_host'];
113
                    $port       = $config['leaderslinked.database.production_port'];
114
                    $dbname     = $config['leaderslinked.database.production_dbname'];
115
                    $user       = $config['leaderslinked.database.production_user'];
116
                    $password   = $config['leaderslinked.database.production_password'];
117
                }
118
 
119
 
120
               $adapter = new \Laminas\Db\Adapter\Adapter([
121
                    'driver'         	=> 'Pdo',
122
                    'dsn'           	=> 'mysql:dbname=' . $dbname . ';host=' . $host . ';port=' . $port,
123
                    'username'			=> $user,
124
                    'password'			=> $password,
125
                    'driver_options' 	=> [
126
                        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
127
                    ],
128
                ]);
129
 
130
                return $adapter;
131
 
132
            },
133
            'leaders-linked-log' => function($sm) {
134
                $formatter = new \Laminas\Log\Formatter\Base();
135
                $formatter->setDateTimeFormat('Y-m-d H:i:s');
136
 
137
                $mapping = array(
138
                    'timestamp'     => 'added_on',
139
                    'priority'      => 'priority_level',
140
                    'priorityName'  => 'priority_name',
141
                    'message'       => 'message',
142
                    'extra'       => [
143
                        'user_id'    => 'user_id',
144
                        'ip' => 'ip'
145
                    ]
146
                );
147
 
112 efrain 148
 
149
 
150
                /*
151
                $writer = new Laminas\Log\Writer\Stream('logs/leaderslinked.log');
152
                $logger = new Laminas\Log\Logger();
153
                $logger->addWriter($writer);
154
                */
155
 
1 www 156
                $adapter = $sm->get('leaders-linked-db');
112 efrain 157
 
1 www 158
                $writer = new \Laminas\Log\Writer\Db($adapter, 'tbl_logs', $mapping);
159
                $writer->setFormatter($formatter);
160
 
161
                $logger = new \Laminas\Log\Logger();
162
                $logger->addWriter($writer);
112 efrain 163
 
1 www 164
 
165
 
166
                return $logger;
167
            },
168
            /*'leaders-linked-session' => function ($sm) {
169
                $adapter    = $sm->get('leaders-linked-db');
170
                //$logger     = $sm->get('leaders-linked-log');
171
 
172
                $config = $sm->get('config');
173
                if (! isset($config['session'])) {
174
                    $sessionManager = new SessionManager();
175
                    Container::setDefaultManager($sessionManager);
176
                    return $sessionManager;
177
                }
178
 
179
                $session = $config['session'];
180
 
181
                $sessionConfig = null;
182
                if (isset($session['config'])) {
183
                    $class = isset($session['config']['class'])
184
                    ?  $session['config']['class']
185
                    : SessionConfig::class;
186
 
187
                    $options = isset($session['config']['options'])
188
                    ?  $session['config']['options']
189
                    : [];
190
 
191
                    $options['remember_me_seconds'] = 31536000;  // 365 * 24 * 60 * 60
192
                   // $options['use_cookies'] = false;
193
 
194
                    $sessionConfig = new $class();
195
                    $sessionConfig->setOptions($options);
196
                }
197
 
198
 
199
                $sessionStorage = null;
200
                if (isset($session['storage'])) {
201
                    $class = $session['storage'];
202
                    $sessionStorage = new $class();
203
                }
204
 
205
                $sessionSaveHandler = null;
206
                if (isset($session['save_handler'])) {
207
                    // class should be fetched from service manager
208
                    // since it will require constructor arguments
209
                    $sessionSaveHandler = $sm->get($session['save_handler']);
210
                }
211
 
212
                $tableGateway = new TableGateway(SessionMapper::_TABLE, $adapter);
213
                $sessionSaveHandler  = new DbTableGateway($tableGateway, new DbTableGatewayOptions());
214
 
215
                $sessionManager = new SessionManager(
216
                    $sessionConfig,
217
                    $sessionStorage,
218
                    $sessionSaveHandler
219
                );
220
 
221
                Container::setDefaultManager($sessionManager);
222
                return $sessionManager;
223
             },*/
224
 
225
            'leaders-linked-session' => function ($sm) {
226
                $config = $sm->get('config');
227
                if (isset($config['session'])) {
228
 
229
                    $session = $config['session'];
230
 
231
 
232
                    $sessionConfig = null;
233
                    if (isset($session['config'])) {
234
                        $class = isset($session['config']['class'])  ? $session['config']['class'] : 'Laminas\Session\Config\SessionConfig';
235
                        $options = isset($session['config']['options']) ? $session['config']['options'] : [];
236
 
237
 
238
                        $options['remember_me_seconds'] = 7200;  // 60 * 60 * 2seconds
239
                        $options['use_cookies'] = true;
240
                        $sessionConfig = new $class();
241
                        $sessionConfig->setOptions($options);
242
                    }
243
 
112 efrain 244
                    $sessionStorage = new SessionStorage();
1 www 245
                    if (isset($session['storage'])) {
246
                        $class = $session['storage'];
247
                        $sessionStorage = new $class();
248
                    }
249
 
112 efrain 250
 
1 www 251
                    $sessionManager = new \Laminas\Session\SessionManager();
252
                    $sessionManager->setConfig($sessionConfig);
253
                    $sessionManager->setStorage($sessionStorage);
254
 
255
 
256
                    $adapter    = $sm->get('leaders-linked-db');
257
                    $logger     = $sm->get('leaders-linked-log');
258
                    $saveHandler= new SessionHandler($adapter, $logger, $sessionConfig->getCookieLifetime());
259
 
260
                    $sessionManager->setSaveHandler($saveHandler);
112 efrain 261
 
262
 
263
                    /*
264
                    $sessionManager = new \Laminas\Session\SessionManager();
265
                    $sessionManager->setConfig($sessionConfig);
266
                    $sessionManager->setStorage($sessionStorage);
267
                    */
268
 
269
 
270
 
1 www 271
                } else {
272
                    $sessionManager = new \Laminas\Session\SessionManager();
273
                }
274
 
275
                \Laminas\Session\Container::setDefaultManager($sessionManager);
276
                return $sessionManager;
277
            },
278
        ],
279
        'abstract_factories' => [
280
            'Laminas\Cache\Service\StorageCacheAbstractServiceFactory',
281
        ]
282
    ],
283
 
284
 
285
];