Proyectos de Subversion LeadersLinked - Backend

Rev

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