Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.23 KB | None | 0 0
  1. <?php
  2. namespace dektrium\user;
  3.  
  4. use Yii;
  5. use yii\authclient\Collection;
  6. use yii\base\BootstrapInterface;
  7. use yii\console\Application as ConsoleApplication;
  8. use yii\i18n\PhpMessageSource;
  9.  
  10. class Bootstrap implements BootstrapInterface
  11. {
  12.     private $_modelMap = [
  13.         'User'             => 'dektrium\user\models\User',
  14.         'Account'          => 'dektrium\user\models\Account',
  15.         'Profile'          => 'dektrium\user\models\Profile',
  16.         'Token'            => 'dektrium\user\models\Token',
  17.         'RegistrationForm' => 'dektrium\user\models\RegistrationForm',
  18.         'ResendForm'       => 'dektrium\user\models\ResendForm',
  19.         'LoginForm'        => 'dektrium\user\models\LoginForm',
  20.         'SettingsForm'     => 'dektrium\user\models\SettingsForm',
  21.         'RecoveryForm'     => 'dektrium\user\models\RecoveryForm',
  22.         'UserSearch'       => 'dektrium\user\models\UserSearch',
  23.     ];
  24.  
  25.     /** @inheritdoc */
  26.     public function bootstrap($app)
  27.     {
  28.         /** @var Module $module */
  29.         /** @var \yii\db\ActiveRecord $modelName */
  30.         if ($app->hasModule('user') && ($module = $app->getModule('user')) instanceof Module) {
  31.             $this->_modelMap = array_merge($this->_modelMap, $module->modelMap);
  32.             foreach ($this->_modelMap as $name => $definition) {
  33.                 $class = "dektrium\\user\\models\\" . $name;
  34.                 Yii::$container->set($class, $definition);
  35.                 $modelName = is_array($definition) ? $definition['class'] : $definition;
  36.                 $module->modelMap[$name] = $modelName;
  37.                 if (in_array($name, ['User', 'Profile', 'Token', 'Account'])) {
  38.                     Yii::$container->set($name . 'Query', function () use ($modelName) {
  39.                         return $modelName::find();
  40.                     });
  41.                 }
  42.             }
  43.  
  44.             Yii::$container->setSingleton(Finder::className(), [
  45.                 'userQuery'    => Yii::$container->get('UserQuery'),
  46.                 'profileQuery' => Yii::$container->get('ProfileQuery'),
  47.                 'tokenQuery'   => Yii::$container->get('TokenQuery'),
  48.                 'accountQuery' => Yii::$container->get('AccountQuery'),
  49.             ]);
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement