%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/user/widgets/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/user/widgets/AccountTopMenu.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2015 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\user\widgets;
use humhub\modules\admin\widgets\AdminMenu;
use humhub\modules\ui\menu\DropdownDivider;
use humhub\modules\ui\menu\MenuLink;
use humhub\modules\ui\menu\widgets\Menu;
use humhub\modules\user\models\User;
use humhub\widgets\ModalButton;
use Yii;
use yii\helpers\Url;
/**
* AccountTopMenu Widget
*
* @author luke
*/
class AccountTopMenu extends Menu
{
public $id = 'account-top-menu';
/**
* @var boolean show user name
*/
public $showUserName = true;
/**
* @inheritdoc
*/
public $template = "@humhub/modules/user/widgets/views/accountTopMenu";
/**
* @inheritdoc
*/
public function init()
{
if (Yii::$app->user->isGuest) {
$signUpText = Yii::$app->getModule('user')->settings->get('auth.anonymousRegistration')
? Yii::t('UserModule.base', 'Sign in / up')
: Yii::t('UserModule.base', 'Sign in');
$this->addEntry(new MenuLink([
'link' => ModalButton::primary($signUpText)->load(Url::toRoute('/user/auth/login'))->cssClass('btn-enter'),
'sortOrder' => 100
]));
parent::init();
return;
}
$user = Yii::$app->user->getIdentity();
$this->addEntry(new MenuLink([
'label' => Yii::t('base', 'My profile'),
'icon' => 'user',
'url' => $user->createUrl('/user/profile/home'),
'sortOrder' => 100]));
$this->addEntry(new MenuLink([
'label' => Yii::t('base', 'Account settings'),
'icon' => 'edit',
'url' => Url::toRoute('/user/account/edit'),
'sortOrder' => 200,
]));
if (AdminMenu::canAccess()) {
$this->addEntry(new DropdownDivider(['sortOrder' => 300]));
$this->addEntry(new MenuLink([
'label' => Yii::t('base', 'Administration'),
'icon' => 'cogs',
'url' => Url::toRoute('/admin'),
'sortOrder' => 400,
]));
}
$this->addEntry(new DropdownDivider(['sortOrder' => 600]));
$this->addEntry(new MenuLink([
'label' => Yii::t('base', 'Logout'),
'id' => 'account-logout',
'icon' => 'sign-out',
'pjaxEnabled' => false,
'url' => Url::toRoute('/user/auth/logout'),
'htmlOptions' => ['data-method' => 'POST'],
'sortOrder' => 700,
]));
if (Yii::$app->user->isImpersonated) {
$this->addEntry(new MenuLink([
'label' => Yii::t('base', 'Stop impersonation'),
'id' => 'account-login',
'icon' => 'sign-in',
'pjaxEnabled' => false,
'url' => Url::toRoute('/user/auth/stop-impersonation'),
'htmlOptions' => ['data-method' => 'POST'],
'sortOrder' => 800,
]));
}
parent::init();
}
/**
* @inheritdoc
*/
public function getAttributes()
{
return [
'class' => 'nav'
];
}
}