Proyectos de Subversion LeadersLinked - Services

Rev

Rev 301 | | Comparar con el anterior | Ultima modificación | Ver Log |

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