Proyectos de Subversion LeadersLinked - Backend

Rev

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