%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 14.207.165.8 / Your IP : 216.73.216.26 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/var/www/html/ppaobm/vendor/dektrium/yii2-user/ |
Upload File : |
<?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 dektrium\user;
use Yii;
use yii\authclient\Collection;
use yii\base\BootstrapInterface;
use yii\console\Application as ConsoleApplication;
use yii\i18n\PhpMessageSource;
/**
* Bootstrap class registers module and user application component. It also creates some url rules which will be applied
* when UrlManager.enablePrettyUrl is enabled.
*
* @author Dmitry Erofeev <dmeroff@gmail.com>
*/
class Bootstrap implements BootstrapInterface
{
/** @var array Model's map */
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'),
]);
if ($app instanceof ConsoleApplication) {
$module->controllerNamespace = 'dektrium\user\commands';
} else {
Yii::$container->set('yii\web\User', [
'enableAutoLogin' => true,
'loginUrl' => ['/user/security/login'],
'identityClass' => $module->modelMap['User'],
]);
$configUrlRule = [
'prefix' => $module->urlPrefix,
'rules' => $module->urlRules,
];
if ($module->urlPrefix != 'user') {
$configUrlRule['routePrefix'] = 'user';
}
$configUrlRule['class'] = 'yii\web\GroupUrlRule';
$rule = Yii::createObject($configUrlRule);
$app->urlManager->addRules([$rule], false);
if (!$app->has('authClientCollection')) {
$app->set('authClientCollection', [
'class' => Collection::className(),
]);
}
}
if (!isset($app->get('i18n')->translations['user*'])) {
$app->get('i18n')->translations['user*'] = [
'class' => PhpMessageSource::className(),
'basePath' => __DIR__ . '/messages',
'sourceLanguage' => 'en-US'
];
}
Yii::$container->set('dektrium\user\Mailer', $module->mailer);
$module->debug = $this->ensureCorrectDebugSetting();
}
}
/** Ensure the module is not in DEBUG mode on production environments */
public function ensureCorrectDebugSetting()
{
if (!defined('YII_DEBUG')) {
return false;
}
if (!defined('YII_ENV')) {
return false;
}
if (defined('YII_ENV') && YII_ENV !== 'dev') {
return false;
}
if (defined('YII_DEBUG') && YII_DEBUG !== true) {
return false;
}
return Yii::$app->getModule('user')->debug;
}
}