Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 14507 | Rev 16285 | 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;
14506 efrain 17
use Laminas\Session\SaveHandler\Cache;
1 www 18
 
19
return [
20
 'session' => [
21
        'config' => [
22
            'class' => 'Laminas\Session\Config\SessionConfig',
23
            'options' => [
14508 efrain 24
                //'name'              => 'LeadersLinked',
28 efrain 25
                'use_cookies'       => true,
26
                'cookie_lifetime'   => 60*60*24,
133 efrain 27
                //'cookie_httponly'   => true,
28
                //'cookie_secure'     => true,
29
                //'cookie_domain'     => 'leaderslinked.com',
28 efrain 30
                'gc_maxlifetime'    => 60*60*24*30,
1 www 31
            ],
32
        ],
33
        'storage' => SessionArrayStorage::class,
34
        'validators' => [
35
            RemoteAddr::class,
36
            HttpUserAgent::class,
37
        ],
38
    ],
39
 
40
    'caches' => [
41
        'leaders-linked-cache' => [
42
            'adapter' => [
43
                'name'     =>'filesystem',
44
                'options'  => [
45
                    'ttl' => 7200,
46
                ],
47
            ],
48
            /*'adapter' => [
49
                'name'     =>'memcached',
50
                'options' => [
51
                    'ttl' => 7200,
52
                    'servers' => [
53
                        [
54
                            'host' => '127.0.0.1',
55
                            'port' =>11211
56
                        ]
57
                    ],
58
                    'namespace'  => 'LL',
59
                    'liboptions' => [
60
                        'COMPRESSION' => true,
61
                        'binary_protocol' => true,
62
                        'no_block' => true,
63
                        'connect_timeout' => 100
64
                    ]
65
                ],
66
 
67
            ],*/
68
            'plugins' => [
69
                'exception_handler' => [
70
                    'throw_exceptions' => false
71
                ],
72
            ],
73
        ]
74
    ],
75
   /* 'db' => [
76
        'adapters' => [
77
            'leaders-linked-db' => [
78
                'driver'         	=> 'Pdo',
79
                'dsn'           	=> 'mysql:dbname=leaderslinked;host=localhost',
80
                'username'			=> 'test',
81
                'password'			=> 'T3st001-',
82
                'driver_options' 	=> array(
83
                    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
84
                ),
85
            ],
86
 
87
        ]
88
    ],*/
89
    'service_manager' => [
90
        'factories' => [
91
            //'Laminas\Db\Adapter\Adapter'  => 'Laminas\Db\Adapter\AdapterServiceFactory',
92
 
93
            'leaders-linked-db' => function ($sm) {
94
                $config = $sm->get('config');
95
 
96
                $sandbox = $config['leaderslinked.runmode.sandbox'];
97
                if($sandbox) {
98
                    $host       = $config['leaderslinked.database.sandbox_host'];
99
                    $port       = $config['leaderslinked.database.sandbox_port'];
100
                    $dbname     = $config['leaderslinked.database.sandbox_dbname'];
101
                    $user       = $config['leaderslinked.database.sandbox_user'];
102
                    $password   = $config['leaderslinked.database.sandbox_password'];
103
                } else {
104
                    $host       = $config['leaderslinked.database.production_host'];
105
                    $port       = $config['leaderslinked.database.production_port'];
106
                    $dbname     = $config['leaderslinked.database.production_dbname'];
107
                    $user       = $config['leaderslinked.database.production_user'];
108
                    $password   = $config['leaderslinked.database.production_password'];
109
                }
110
 
111
 
112
               $adapter = new \Laminas\Db\Adapter\Adapter([
113
                    'driver'         	=> 'Pdo',
114
                    'dsn'           	=> 'mysql:dbname=' . $dbname . ';host=' . $host . ';port=' . $port,
115
                    'username'			=> $user,
116
                    'password'			=> $password,
117
                    'driver_options' 	=> [
118
                        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
119
                    ],
120
                ]);
121
 
122
                return $adapter;
123
 
124
            },
125
            'leaders-linked-log' => function($sm) {
126
                $formatter = new \Laminas\Log\Formatter\Base();
127
                $formatter->setDateTimeFormat('Y-m-d H:i:s');
128
 
129
                $mapping = array(
130
                    'timestamp'     => 'added_on',
131
                    'priority'      => 'priority_level',
132
                    'priorityName'  => 'priority_name',
133
                    'message'       => 'message',
134
                    'extra'       => [
135
                        'user_id'    => 'user_id',
136
                        'ip' => 'ip'
137
                    ]
138
                );
139
 
140
                $adapter = $sm->get('leaders-linked-db');
141
                $writer = new \Laminas\Log\Writer\Db($adapter, 'tbl_logs', $mapping);
142
                $writer->setFormatter($formatter);
143
 
144
                $logger = new \Laminas\Log\Logger();
145
                $logger->addWriter($writer);
146
 
147
 
148
                return $logger;
149
            },
14508 efrain 150
 
1 www 151
            'leaders-linked-session' => function ($sm) {
152
                $config = $sm->get('config');
153
                if (isset($config['session'])) {
154
 
155
                    $session = $config['session'];
156
 
157
 
158
                    $sessionConfig = null;
159
                    if (isset($session['config'])) {
160
                        $class = isset($session['config']['class'])  ? $session['config']['class'] : 'Laminas\Session\Config\SessionConfig';
161
                        $options = isset($session['config']['options']) ? $session['config']['options'] : [];
162
 
163
 
164
                        $options['remember_me_seconds'] = 7200;  // 60 * 60 * 2seconds
165
                        $options['use_cookies'] = true;
166
                        $sessionConfig = new $class();
167
                        $sessionConfig->setOptions($options);
168
                    }
169
 
14508 efrain 170
                    $sessionStorage = null;
1 www 171
                    if (isset($session['storage'])) {
172
                        $class = $session['storage'];
173
                        $sessionStorage = new $class();
174
                    }
175
 
14508 efrain 176
 
1 www 177
                    $sessionManager = new \Laminas\Session\SessionManager();
178
                    $sessionManager->setConfig($sessionConfig);
179
                    $sessionManager->setStorage($sessionStorage);
180
 
181
 
14505 efrain 182
                    $cache = $sm->get('leaders-linked-cache');
183
 
184
                    $saveHandler = new Cache($cache);
185
                    $sessionManager->setSaveHandler($saveHandler);
1 www 186
                } else {
187
                    $sessionManager = new \Laminas\Session\SessionManager();
188
                }
189
 
190
                \Laminas\Session\Container::setDefaultManager($sessionManager);
191
                return $sessionManager;
192
            },
193
        ],
194
        'abstract_factories' => [
195
            'Laminas\Cache\Service\StorageCacheAbstractServiceFactory',
196
        ]
197
    ],
198
 
199
 
200
];
14508 efrain 201