Proyectos de Subversion LeadersLinked - Backend

Rev

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