/** * @param bool $performValidation * * @return bool */ public function changePassword($performValidation = true) { if ($performValidation and !$this->validate()) { return false; } $this->user->password = $this->password; $this->user->removeConfirmationToken(); return $this->user->save(); }
/** * @param bool $performValidation * * @return bool */ public function sendEmail($performValidation = true) { if ($performValidation and !$this->validate()) { return false; } $this->user->generateConfirmationToken(); $this->user->save(false); return Yii::$app->mailer->compose(Yii::$app->getModule('user-management')->mailerOptions['passwordRecoveryFormViewFile'], ['user' => $this->user])->setFrom(Yii::$app->getModule('user-management')->mailerOptions['from'])->setTo($this->email)->setSubject(UserManagementModule::t('front', 'Password reset for') . ' ' . Yii::$app->name)->send(); }
/** * Check if user has access to current route * * @param Action $action the action to be executed. * * @return boolean whether the action should continue to be executed. */ public function beforeAction($action) { if ($action->id == 'captcha') { return true; } $route = '/' . $action->uniqueId; if (Route::isFreeAccess($route, $action)) { return true; } if (Yii::$app->user->isGuest) { $this->denyAccess(); } // If user has been deleted, then destroy session and redirect to home page if (!Yii::$app->user->isGuest and Yii::$app->user->identity === null) { Yii::$app->getSession()->destroy(); $this->denyAccess(); } // Superadmin owns everyone if (Yii::$app->user->isSuperadmin) { return true; } if (Yii::$app->user->identity and Yii::$app->user->identity->status != User::STATUS_ACTIVE) { Yii::$app->user->logout(); Yii::$app->getResponse()->redirect(Yii::$app->getHomeUrl()); } if (User::canRoute($route)) { return true; } if (isset($this->denyCallback)) { call_user_func($this->denyCallback, null, $action); } else { $this->denyAccess(); } return false; }
public function safeDown() { $user = User::findByUsername('superadmin'); if ($user) { $user->delete(); } }
/** * Finds user by [[username]] * @return User|null */ public function getUser() { if ($this->_user === false) { $this->_user = User::findByUsername($this->username); } return $this->_user; }
/** * Hide link if user hasn't access to it * * @inheritdoc */ public static function a($text, $url = null, $options = []) { if (in_array($url, [null, '', '#'])) { return parent::a($text, $url, $options); } return User::canRoute($url) ? parent::a($text, $url, $options) : ''; }
/** * Finds user by [[username]] * @return User|null */ public function getUser() { if ($this->_user === false) { $u = new \Yii::$app->user->identityClass(); $this->_user = $u instanceof User ? $u->findByUsername($this->username) : User::findByUsername($this->username); } return $this->_user; }
/** * List of items for backend side menu * * @return array */ public static function getSideMenuItems() { $output = ['17' => ['label' => '<i class="fa fa-pagelines"></i> ' . ContentModule::t('app', 'Page templates'), 'url' => ['/content/content-template/index'], 'visible' => Yii::$app->getModule('content')->enableTemplates && User::canRoute(['/content/content-template/index'])], '18' => ['label' => '<i class="fa fa-code-fork"></i> ' . ContentModule::t('app', 'Template widgets'), 'url' => ['/content/content-template-widget/index'], 'visible' => Yii::$app->getModule('content')->enableTemplates && User::canRoute(['/content/content-template-widget/index'])], '19' => ['label' => '<i class="fa fa-table"></i> ' . ContentModule::t('app', 'Manage menus'), 'url' => ['/content/content-menu/index']]]; $menus = ContentMenu::getListOfMenus(); krsort($menus); foreach ($menus as $menu) { array_unshift($output, $menu); } return $output; }
/** * @param int $id User ID * * @throws \yii\web\NotFoundHttpException * @return string */ public function actionChangePassword($id) { $model = User::findOne($id); if (!$model) { throw new NotFoundHttpException('User not found'); } $model->scenario = 'changePassword'; if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } return $this->renderIsAjax('changePassword', compact('model')); }
public function search($params) { $query = User::find(); $query->with(['roles']); if (!Yii::$app->user->isSuperadmin) { $query->where(['superadmin' => 0]); } $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => Yii::$app->request->cookies->getValue('_grid_page_size', 20)], 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } if ($this->gridRoleSearch) { $query->joinWith(['roles']); } $query->andFilterWhere(['id' => $this->id, 'superadmin' => $this->superadmin, 'status' => $this->status, Yii::$app->getModule('user-management')->auth_item_table . '.name' => $this->gridRoleSearch, 'registration_ip' => $this->registration_ip, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'email_confirmed' => $this->email_confirmed]); $query->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'email', $this->email]); return $dataProvider; }
/** * @param array $items * * @return bool */ protected function ensureVisibility(&$items) { $allVisible = false; foreach ($items as &$item) { if (isset($item['url']) and !in_array($item['url'], ['', '#']) and !isset($item['visible'])) { $item['visible'] = User::canRoute($item['url']); } if (isset($item['items'])) { // If not children are visible - make invisible this node if (!$this->ensureVisibility($item['items']) and !isset($item['visible'])) { $item['visible'] = false; } } if (isset($item['label']) and (!isset($item['visible']) or $item['visible'] === true)) { $allVisible = true; } } return $allVisible; }
/** * @param int $id - User ID * * @return \yii\web\Response */ public function actionSetRoles($id) { if (!Yii::$app->user->isSuperadmin and Yii::$app->user->id == $id) { Yii::$app->session->setFlash('error', UserManagementModule::t('back', 'You can not change own permissions')); return $this->redirect(['set', 'id' => $id]); } $oldAssignments = array_keys(Role::getUserRoles($id)); // To be sure that user didn't attempt to assign himself some unavailable roles $newAssignments = array_intersect(Role::getAvailableRoles(Yii::$app->user->isSuperAdmin, true), Yii::$app->request->post('roles', [])); $toAssign = array_diff($newAssignments, $oldAssignments); $toRevoke = array_diff($oldAssignments, $newAssignments); foreach ($toRevoke as $role) { User::revokeRole($id, $role); } foreach ($toAssign as $role) { User::assignRole($id, $role); } Yii::$app->session->setFlash('success', UserManagementModule::t('back', 'Saved')); return $this->redirect(['set', 'id' => $id]); }
public function search($params) { $query = UserVisitLog::find(); $query->joinWith(['user']); // Don't let non-superadmin view superadmin activity if (!Yii::$app->user->isSuperadmin) { $query->andWhere([User::tableName() . '.superadmin' => 0]); } $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => Yii::$app->request->cookies->getValue('_grid_page_size', 20)], 'sort' => ['defaultOrder' => ['id' => SORT_DESC]]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } if ($this->visit_time) { $tmp = explode(' - ', $this->visit_time); if (isset($tmp[0], $tmp[1])) { $query->andFilterWhere(['between', static::tableName() . '.visit_time', strtotime($tmp[0]), strtotime($tmp[1])]); } } $query->andFilterWhere([$this->tableName() . '.id' => $this->id]); $query->andFilterWhere(['like', User::tableName() . '.username', $this->user_id])->andFilterWhere(['like', static::tableName() . '.ip', $this->ip])->andFilterWhere(['like', static::tableName() . '.os', $this->os])->andFilterWhere(['like', static::tableName() . '.browser', $this->browser])->andFilterWhere(['like', static::tableName() . '.language', $this->language]); return $dataProvider; }
?> </div> </div> <?php Pjax::begin(['id' => 'user-grid-pjax']); ?> <?php echo GridView::widget(['id' => 'user-grid', 'dataProvider' => $dataProvider, 'pager' => ['options' => ['class' => 'pagination pagination-sm'], 'hideOnSinglePage' => true, 'lastPageLabel' => '>>', 'firstPageLabel' => '<<'], 'filterModel' => $searchModel, 'layout' => '{items}<div class="row"><div class="col-sm-8">{pager}</div><div class="col-sm-4 text-right">{summary}' . GridBulkActions::widget(['gridId' => 'user-grid', 'actions' => [Url::to(['bulk-activate', 'attribute' => 'status']) => GridBulkActions::t('app', 'Activate'), Url::to(['bulk-deactivate', 'attribute' => 'status']) => GridBulkActions::t('app', 'Deactivate'), '----' => [Url::to(['bulk-delete']) => GridBulkActions::t('app', 'Delete')]]]) . '</div></div>', 'columns' => [['class' => 'yii\\grid\\SerialColumn', 'options' => ['style' => 'width:10px']], ['class' => 'webvimark\\components\\StatusColumn', 'attribute' => 'superadmin', 'visible' => Yii::$app->user->isSuperadmin], ['attribute' => 'username', 'value' => function (User $model) { return Html::a($model->username, ['view', 'id' => $model->id], ['data-pjax' => 0]); }, 'format' => 'raw'], ['attribute' => 'email', 'format' => 'raw', 'visible' => User::hasPermission('viewUserEmail')], ['class' => 'webvimark\\components\\StatusColumn', 'attribute' => 'email_confirmed', 'visible' => User::hasPermission('viewUserEmail')], ['attribute' => 'gridRoleSearch', 'filter' => ArrayHelper::map(Role::getAvailableRoles(Yii::$app->user->isSuperAdmin), 'name', 'description'), 'value' => function (User $model) { return implode(', ', ArrayHelper::map($model->roles, 'name', 'description')); }, 'format' => 'raw', 'visible' => User::hasPermission('viewUserRoles')], ['attribute' => 'registration_ip', 'value' => function (User $model) { return Html::a($model->registration_ip, "http://ipinfo.io/" . $model->registration_ip, ["target" => "_blank"]); }, 'format' => 'raw', 'visible' => User::hasPermission('viewRegistrationIp')], ['value' => function (User $model) { return GhostHtml::a(UserManagementModule::t('back', 'Roles and permissions'), ['/user-management/user-permission/set', 'id' => $model->id], ['class' => 'btn btn-sm btn-primary', 'data-pjax' => 0]); }, 'format' => 'raw', 'visible' => User::canRoute('/user-management/user-permission/set'), 'options' => ['width' => '10px']], ['value' => function (User $model) { return GhostHtml::a(UserManagementModule::t('back', 'Change password'), ['change-password', 'id' => $model->id], ['class' => 'btn btn-sm btn-default', 'data-pjax' => 0]); }, 'format' => 'raw', 'options' => ['width' => '10px']], ['class' => 'webvimark\\components\\StatusColumn', 'attribute' => 'status', 'optionsArray' => [[User::STATUS_ACTIVE, UserManagementModule::t('back', 'Active'), 'success'], [User::STATUS_INACTIVE, UserManagementModule::t('back', 'Inactive'), 'warning'], [User::STATUS_BANNED, UserManagementModule::t('back', 'Banned'), 'danger']]], ['class' => 'yii\\grid\\CheckboxColumn', 'options' => ['style' => 'width:10px']], ['class' => 'yii\\grid\\ActionColumn', 'contentOptions' => ['style' => 'width:70px; text-align:center;']]]]); ?> <?php Pjax::end(); ?> </div> </div> </div>
public function actionAction() { if (User::hasRole('admin')) { //\Yii::trace('### ### ### Тест лога'); //Проверяем был ли выбрана комманда $ids = Yii::$app->request->post('ActionForm'); //\Yii::trace(Yii::$app->request->post('ActionForm')); //Проверяем, выбран ли пустой id, если да, то как будто только открыли if ($ids and ArrayHelper::isIn('', $ids)) { $ids = null; } //Для проверки отправки запроса получаем значение $page = Yii::$app->request->post('adr'); if ($ids) { //Если выбран ID $model = $this->findModel($ids); return $this->render('action', ['model' => $model, 'ghide' => 1, 'gadr' => '10.24.2.188', 'guser' => '', 'gpass' => '', 'gid' => $model->id, 'gcommand' => $model->actionstring, 'gparams' => $model->params, 'pagein' => '', 'pageout' => '']); } elseif ($page) { //Если отправлен запрос $ids = Yii::$app->request->post('id'); $model = $this->findModel($ids); $vagon = new Vagon(); $pagein = 'http://' . Yii::$app->request->post('adr') . '/crq?req=' . Yii::$app->request->post('string') . '&' . Yii::$app->request->post('params'); $user = Yii::$app->request->post('user'); $pass = Yii::$app->request->post('pass'); return $this->render('action', ['model' => $model, 'ghide' => 2, 'gadr' => Yii::$app->request->post('adr'), 'guser' => $user, 'gpass' => $pass, 'gid' => $model->id, 'gcommand' => Yii::$app->request->post('string'), 'gparams' => Yii::$app->request->post('params'), 'pagein' => $pagein, 'pageout' => $vagon->getCurlOut($pagein, $user, $pass)]); } else { //Если форму только открыли return $this->render('action', ['model' => new ActionForm(), 'ghide' => 0, 'gadr' => '', 'guser' => '', 'gpass' => '', 'gid' => '', 'gcommand' => '', 'gparams' => '', 'pagein' => '', 'pageout' => '']); } } else { throw new NotFoundHttpException('Страница не найдена.'); } }
/** * Check that there is no such confirmed E-mail in the system */ public function validateEmailConfirmedUnique() { if ($this->email) { $exists = User::findOne(['email' => $this->email, 'email_confirmed' => 1]); if ($exists and $exists->id != $this->id) { $this->addError('email', UserManagementModule::t('front', 'This E-mail already exists')); } } }
protected function changeRoleAction($model) { if (!($user = User::findOne(['username' => $model->profile_id]))) { return; } switch ($model->role) { case 'admin': User::assignRole($user->id, 'unicredQuestionListSystemAdmin'); User::revokeRole($user->id, 'unicredQuestionListSystemCommercialDirector'); User::revokeRole($user->id, 'unicredQuestionListSystemManager'); break; case 'manager': User::assignRole($user->id, 'unicredQuestionListSystemManager'); User::revokeRole($user->id, 'unicredQuestionListSystemCommercialDirector'); User::revokeRole($user->id, 'unicredQuestionListSystemAdmin'); break; case 'empl': User::assignRole($user->id, 'unicredQuestionListSystemManager'); User::revokeRole($user->id, 'unicredQuestionListSystemCommercialDirector'); User::revokeRole($user->id, 'unicredQuestionListSystemAdmin'); break; case 'comdir': User::assignRole($user->id, 'unicredQuestionListSystemCommercialDirector'); User::revokeRole($user->id, 'unicredQuestionListSystemManager'); User::revokeRole($user->id, 'unicredQuestionListSystemAdmin'); break; } }
/** * @return \yii\db\ActiveQuery */ public function getUser() { return $this->hasOne(User::className(), ['id' => 'user_id']); }
<div class="pull-left info"> <p><?php echo Yii::$app->user->identity->username; ?> </p> <?php echo Html::a('<i class="fa fa-circle text-success"></i>' . Yii::t('app', 'Online'), ['/user/profile']); ?> </div> </div> <?php } ?> <?php $adminSiteMenu[0] = ['label' => 'MAIN NAVIGATION', 'options' => ['class' => 'header'], 'template' => '{label}']; $adminSiteMenu[1] = ['label' => 'Dashboard', 'icon' => 'fa fa-dashboard', 'items' => [['icon' => 'fa fa-circle-o', 'label' => 'Home', 'url' => ['/site/index']]]]; $adminSiteMenu[2] = ['label' => 'BADGE AND MULTILEVEL', 'options' => ['class' => 'header'], 'template' => '{label}']; $adminSiteMenu[3] = ['label' => 'Multilevel', 'icon' => 'fa fa-share', 'options' => ['class' => 'treeview'], 'items' => [['icon' => 'fa fa-circle-o', 'label' => 'Level One', 'url' => '#'], ['icon' => 'fa fa-circle-o', 'label' => 'Level One', 'url' => '#', 'items' => [['icon' => 'fa fa-circle-o', 'label' => 'Badge', 'url' => '#', 'badge' => '2'], ['icon' => 'fa fa-circle-o', 'label' => 'Badge red', 'url' => '#', 'badge' => '2', 'badgeBgClass' => 'bg-red'], ['icon' => 'fa fa-circle-o', 'label' => 'Badge options', 'url' => '#', 'badge' => '2', 'badgeOptions' => ['class' => 'label pull-right bg-yellow']]]], ['icon' => 'fa fa-circle-o', 'label' => 'Level One', 'url' => '#']]]; $adminSiteMenu[4] = ['label' => Yii::t('app', 'Security'), 'icon' => 'fa fa-shield', 'options' => ['class' => 'treeview'], 'items' => [['icon' => 'fa fa-users', 'label' => Yii::t('app', 'Users'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/user'), 'active' => Yii::$app->controller->id == 'user' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewUsers', true)], ['icon' => 'fa fa-circle-o', 'label' => Yii::t('app', 'Roles'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/role'), 'active' => Yii::$app->controller->id == 'role' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewRoles', true)], ['icon' => 'fa fa-key', 'label' => Yii::t('app', 'Permissions'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/permission'), 'active' => Yii::$app->controller->id == 'permission' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewPermissions', true)], ['icon' => 'fa fa-circle-o', 'label' => Yii::t('app', 'Visit Log'), 'options' => ['class' => 'treeview'], 'url' => Yii::$app->urlManager->createUrl('/user-management/user-visit-log'), 'active' => Yii::$app->controller->id == 'user-visit-log' && Yii::$app->controller->action->id == 'index' ? true : false, 'visible' => User::hasPermission('viewVisitLog', true)]]]; $adminSiteMenu[5] = ['label' => 'LABELS', 'options' => ['class' => 'header'], 'template' => '{label}']; $adminSiteMenu[6] = ['icon' => 'fa fa-circle-o text-aqua', 'label' => 'Information', 'url' => '#']; $adminSiteMenu[7] = ['icon' => 'fa fa-circle-o text-yellow', 'label' => 'Warning', 'url' => '#']; $adminSiteMenu[8] = ['icon' => 'fa fa-circle-o text-red', 'label' => 'Important', 'url' => '#']; // Sort the menu ksort($adminSiteMenu); echo MainSidebar::widget(['items' => $adminSiteMenu]); ?> </section> </aside>
/** * Creates a default header view of an log entry * * @param $logModel * the log entry * @param $behavior * the LoggableBehavior instance of this log entry * @return string * default header view of an log entry * @throws Exception * if a param is null */ public static function createLogEntryHeader($behavior, $logModel) { if (!is_null($behavior) && !is_null($logModel)) { $user = User::findOne(["id" => $logModel->created_by]); $action = $logModel->action; $date = $logModel->created_at; $action = $behavior->getActionType($action); $output = self::$icons[$action]; switch ($action) { case self::ACTION_CREATE: $output .= ' Erstellt'; break; case self::ACTION_UPDATE: $output .= ' Bearbeitet'; break; case self::ACTION_VIEW: $output .= ' Angesehen'; break; case self::ACTION_DELETE: $output .= ' Gelöscht'; break; } $output .= ' von <b>' . $user->username . '</b><div class="pull-right">' . date('d.m.y, H:i', $date) . '</div>'; return $output; } throw new Exception('Params are null!'); }
/** * Updates an existing AnswerList model. * For ajax request will return json object * and for non-ajax request if update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $request = Yii::$app->request; $model = $this->findModel($id); $modelsQuestionList = QuestionList::find()->all(); $questionLists = ArrayHelper::map($modelsQuestionList, 'id', 'title'); $statusList = $model->statusList; $viewName = 'update'; // коммерческий директор может только менять статус опросного листа if (!User::hasRole(['unicredQuestionListSystemAdmin'])) { $viewName = 'update_status'; unset($statusList['answered']); } $modelsOffice = Office::find()->all(); $DoList = ArrayHelper::map($modelsOffice, 'id', 'name'); if ($request->isAjax) { /* * Process for ajax request */ Yii::$app->response->format = Response::FORMAT_JSON; if ($request->isGet) { return ['title' => "Update AnswerList #" . $id, 'content' => $this->renderAjax($viewName, ['model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'statusList' => $statusList]), 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Save', ['class' => 'btn btn-primary', 'type' => "submit"])]; } else { if ($model->load($request->post())) { $model->list_name = $model->questionList->title; if ($model->save()) { return $this->redirect(['index']); } /*if ($model->save()) return [ 'forceReload'=>'#crud-datatable-pjax', 'title'=> "AnswerList #".$id, 'content'=>$this->renderAjax('view', [ 'model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'answersDataProvider' => new ArrayDataProvider([ 'allModels' => $model->answers, ]), ]), 'footer'=> Html::button('Close',['class'=>'btn btn-default pull-left','data-dismiss'=>"modal"]). Html::a('Edit',['update','id'=>$id],['class'=>'btn btn-primary','role'=>'modal-remote']) ];*/ } else { return ['title' => "Update AnswerList #" . $id, 'content' => $this->renderAjax($viewName, ['model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'statusList' => $statusList]), 'footer' => Html::button('Close', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Save', ['class' => 'btn btn-primary', 'type' => "submit"])]; } } } else { /* * Process for non-ajax request */ if ($model->load($request->post())) { $model->list_name = $model->questionList->title; if ($model->save()) { return $this->redirect(['view', 'id' => $model->id]); } } else { return $this->render($viewName, ['model' => $model, 'questionLists' => $questionLists, 'DoList' => $DoList, 'statusList' => $statusList]); } } }
* @var $widget webvimark\ybc\content\models\ContentTemplateWidget */ use webvimark\modules\UserManagement\models\User; use yii\helpers\Html; ?> <div class="widget-element" data-widget-id="<?php echo $widget->id; ?> "> <div class="panel panel-warning"> <div class="panel-heading"> <strong> <?php if ($widget->has_settings == 1 && $widget->link_to_settings && User::canRoute(Yii::$app->homeUrl . ltrim($widget->link_to_settings, '/'))) { ?> <?php echo Html::a("<i class='fa fa-cogs'></i>", Yii::$app->homeUrl . ltrim($widget->link_to_settings, '/'), ['target' => '_blank', 'class' => 'tn']); ?> <?php } else { ?> <i class='fa fa-th'></i> <?php } ?> <span>
/** * Receive token, find user by it and confirm email * * @param string $token * * @throws \yii\web\NotFoundHttpException * @return string|\yii\web\Response */ public function actionConfirmEmailReceive($token) { $user = User::findByConfirmationToken($token); if (!$user) { throw new NotFoundHttpException(UserManagementModule::t('front', 'Token not found. It may be expired')); } $user->email_confirmed = 1; $user->removeConfirmationToken(); $user->save(false); return $this->renderIsAjax('confirmEmailSuccess', compact('user')); }
<?php if (User::hasPermission('bindUserToIp')) { ?> <?php echo $form->field($model, 'bind_to_ip')->textInput(['maxlength' => 255])->hint(UserManagementModule::t('back', 'For example: 123.34.56.78, 168.111.192.12')); ?> <?php } ?> <?php if (User::hasPermission('editUserEmail')) { ?> <?php echo $form->field($model, 'email')->textInput(['maxlength' => 255]); ?> <?php echo $form->field($model, 'email_confirmed')->checkbox(); ?> <?php } ?> <div class="form-group">
echo $this->title; ?> </h2> <div class="panel panel-default"> <div class="panel-body"> <p> <?php echo GhostHtml::a(UserManagementModule::t('back', 'Edit'), ['update', 'id' => $model->id], ['class' => 'btn btn-sm btn-primary']); ?> <?php echo GhostHtml::a(UserManagementModule::t('back', 'Create'), ['create'], ['class' => 'btn btn-sm btn-success']); ?> <?php echo GhostHtml::a(UserManagementModule::t('back', 'Roles and permissions'), ['/user-management/user-permission/set', 'id' => $model->id], ['class' => 'btn btn-sm btn-default']); ?> <?php echo GhostHtml::a(UserManagementModule::t('back', 'Delete'), ['delete', 'id' => $model->id], ['class' => 'btn btn-sm btn-danger pull-right', 'data' => ['confirm' => UserManagementModule::t('back', 'Are you sure you want to delete this user?'), 'method' => 'post']]); ?> </p> <?php echo DetailView::widget(['model' => $model, 'attributes' => ['id', ['attribute' => 'status', 'value' => User::getStatusValue($model->status)], 'username', ['attribute' => 'email', 'value' => $model->email, 'format' => 'email', 'visible' => User::hasPermission('viewUserEmail')], ['attribute' => 'email_confirmed', 'value' => $model->email_confirmed, 'format' => 'boolean', 'visible' => User::hasPermission('viewUserEmail')], ['label' => UserManagementModule::t('back', 'Roles'), 'value' => implode('<br>', ArrayHelper::map(Role::getUserRoles($model->id), 'name', 'description')), 'visible' => User::hasPermission('viewUserRoles'), 'format' => 'raw'], ['attribute' => 'bind_to_ip', 'visible' => User::hasPermission('bindUserToIp')], array('attribute' => 'registration_ip', 'value' => Html::a($model->registration_ip, "http://ipinfo.io/" . $model->registration_ip, ["target" => "_blank"]), 'format' => 'raw', 'visible' => User::hasPermission('viewRegistrationIp')), 'created_at:datetime', 'updated_at:datetime']]); ?> </div> </div> </div>
/** * Check received confirmation token and if user found - activate it, set username, roles and log him in * * @param string $token * * @return bool|User */ public function checkConfirmationToken($token) { $user = User::findInactiveByConfirmationToken($token); if ($user) { $user->username = $user->email; $user->status = User::STATUS_ACTIVE; $user->email_confirmed = 1; $user->removeConfirmationToken(); $user->save(false); $roles = (array) Yii::$app->getModule(\Yii::$app->user->moduleAliasName)->rolesAfterRegistration; foreach ($roles as $role) { User::assignRole($user->id, $role); } Yii::$app->user->login($user); return $user; } return false; }
?> <title><?php echo Html::encode($this->title); ?> </title> <?php $this->head(); ?> </head> <body> <div class="wrap"> <?php $this->beginBody(); NavBar::begin(['brandLabel' => 'TisBOX', 'brandUrl' => Yii::$app->homeUrl, 'renderInnerContainer' => FALSE, 'options' => ['class' => 'navbar-inverse navbar-fixed-top']]); echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right', 'style' => 'padding-right: 40px'], 'items' => [User::hasRole('admin') ? ['label' => 'Админка', 'items' => [['label' => 'Test', 'url' => ['system/test']], ['label' => 'УСПД', 'url' => ['system/action']], ['label' => 'Данные', 'url' => ['system/out']], ['label' => 'Получить', 'url' => ['system/in']], ['label' => 'Дерево', 'url' => ['/tree']]]] : '', ['label' => Yii::$app->user->identity->username, 'items' => [['label' => 'Выход', 'url' => ['/user-management/auth/logout']]]]]]); echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right', 'style' => 'padding-right: 40px'], 'items' => [User::hasRole('admin') ? ['label' => 'Таблица', 'items' => [['label' => 'Сборщики', 'url' => ['/table/usd']], ['label' => 'Приборы', 'url' => ['/table/device']], ['label' => 'Каналы', 'url' => ['/table/data-list']]]] : '']]); NavBar::end(); ?> <div class="container-fluid" style="padding-top: 60px"> <div class="row"> <div class="sidebar col-md-2"> <?php /* Sidebar content */ echo Nav::widget(['encodeLabels' => false, 'options' => ['class' => 'nav-pills nav-stacked'], 'items' => [['label' => '<span class="glyphicon glyphicon-tasks"></span> Данные', 'url' => ['system/data']], ['label' => '<span class="glyphicon glyphicon-print"></span> Отчеты', 'url' => ['#']], ['label' => '<span class="glyphicon glyphicon-import"></span> Импорт', 'url' => ['system/import']], ['label' => '<span class="glyphicon glyphicon-export"></span> Экспорт', 'url' => ['system/export']], ['label' => '<span class="glyphicon glyphicon-wrench"></span> Настройки', 'url' => ['#']]]]); ?> <p></p> <?php /* //Строка поиска ActiveForm::begin(