Proyectos de Subversion LeadersLinked - Backend

Rev

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