Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace dektrium\user;
- use Yii;
- use yii\authclient\Collection;
- use yii\base\BootstrapInterface;
- use yii\console\Application as ConsoleApplication;
- use yii\i18n\PhpMessageSource;
- class Bootstrap implements BootstrapInterface
- {
- private $_modelMap = [
- 'User' => 'dektrium\user\models\User',
- 'Account' => 'dektrium\user\models\Account',
- 'Profile' => 'dektrium\user\models\Profile',
- 'Token' => 'dektrium\user\models\Token',
- 'RegistrationForm' => 'dektrium\user\models\RegistrationForm',
- 'ResendForm' => 'dektrium\user\models\ResendForm',
- 'LoginForm' => 'dektrium\user\models\LoginForm',
- 'SettingsForm' => 'dektrium\user\models\SettingsForm',
- 'RecoveryForm' => 'dektrium\user\models\RecoveryForm',
- 'UserSearch' => 'dektrium\user\models\UserSearch',
- ];
- /** @inheritdoc */
- public function bootstrap($app)
- {
- /** @var Module $module */
- /** @var \yii\db\ActiveRecord $modelName */
- if ($app->hasModule('user') && ($module = $app->getModule('user')) instanceof Module) {
- $this->_modelMap = array_merge($this->_modelMap, $module->modelMap);
- foreach ($this->_modelMap as $name => $definition) {
- $class = "dektrium\\user\\models\\" . $name;
- Yii::$container->set($class, $definition);
- $modelName = is_array($definition) ? $definition['class'] : $definition;
- $module->modelMap[$name] = $modelName;
- if (in_array($name, ['User', 'Profile', 'Token', 'Account'])) {
- Yii::$container->set($name . 'Query', function () use ($modelName) {
- return $modelName::find();
- });
- }
- }
- Yii::$container->setSingleton(Finder::className(), [
- 'userQuery' => Yii::$container->get('UserQuery'),
- 'profileQuery' => Yii::$container->get('ProfileQuery'),
- 'tokenQuery' => Yii::$container->get('TokenQuery'),
- 'accountQuery' => Yii::$container->get('AccountQuery'),
- ]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement