forked from HipsterCreative/yii2-user-mongo
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathModule.php
98 lines (84 loc) · 2.42 KB
/
Module.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/*
* This file is part of the Dektrium project.
*
* (c) Dektrium project <http://github.com/dektrium/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace hipstercreative\user;
use yii\base\Module as BaseModule;
/**
* This is the main module class for the Yii2-user-mongo.
*
* @property ModelManager $manager
* @property Mailer $mailer
*
* @author Dmitry Erofeev <[email protected]>
*/
class Module extends BaseModule
{
const VERSION = '0.7.0-dev';
/**
* @var bool Whether to allow login without confirmation.
*/
public $allowUnconfirmedLogin = false;
/**
* @var int The time you want the user will be remembered without asking for credentials.
*/
public $rememberFor = 1209600; // two weeks
/**
* @var bool Whether user have to confirm his account.
*/
public $confirmable = true;
/**
* @var int The time before a confirmation token becomes invalid.
*/
public $confirmWithin = 86400; // 24 hours
/**
* @var int The time before a recovery token becomes invalid.
*/
public $recoverWithin = 21600; // 6 hours
/**
* @var int Cost parameter used by the Blowfish hash algorithm.
*/
public $cost = 10;
/**
* @var string|null Role that will be assigned to user on creation.
*/
public $defaultRole = null;
/**
* @var array An array of administrator's usernames.
*/
public $admins = [];
/**
* @inheritdoc
*/
public function __construct($id, $parent = null, $config = [])
{
foreach ($this->getModuleComponents() as $name => $component) {
if (!isset($config['components'][$name])) {
$config['components'][$name] = $component;
} elseif (is_array($config['components'][$name]) && !isset($config['components'][$name]['class'])) {
$config['components'][$name]['class'] = $component['class'];
}
}
parent::__construct($id, $parent, $config);
}
/**
* Returns module components.
* @return array
*/
protected function getModuleComponents()
{
return [
'manager' => [
'class' => 'hipstercreative\user\ModelManager'
],
'mailer' => [
'class' => 'hipstercreative\user\Mailer'
]
];
}
}