%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/widgets/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/widgets/ContainerConfigMenu.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2017 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*
*/
/**
* Created by PhpStorm.
* User: buddha
* Date: 17.07.2017
* Time: 21:02
*/
namespace humhub\modules\calendar\widgets;
use humhub\modules\calendar\helpers\Url;
use humhub\modules\calendar\permissions\ManageEntry;
use humhub\modules\content\components\ContentContainerActiveRecord;
use humhub\modules\content\helpers\ContentContainerHelper;
use humhub\modules\user\models\User;
use Yii;
use humhub\modules\calendar\interfaces\CalendarService;
use humhub\widgets\SettingsTabs;
class ContainerConfigMenu extends SettingsTabs
{
/**
* @var ContentContainerActiveRecord
*/
public $contentContainer;
public function getFirstVisibleItem()
{
foreach ($this->items as $item) {
if(!isset($item['visible']) || $item['visible'] === true) {
return $item;
}
}
return null;
}
/**
* @inheritdoc
*/
public function init()
{
$this->contentContainer = ContentContainerHelper::getCurrent();
if(!$this->contentContainer && !Yii::$app->user->isGuest) {
$this->contentContainer = Yii::$app->user->identity;
}
if($this->contentContainer) {
$this->initItems();
}
parent::init();
}
public function initItems()
{
/* @var $calendarService CalendarService */
$calendarService = Yii::$app->getModule('calendar')->get(CalendarService::class);
$canConfigure = $this->contentContainer->can(ManageEntry::class);
$this->items = [
[
'label' => Yii::t('CalendarModule.widgets_GlobalConfigMenu', 'Defaults'),
'url' => Url::toConfig($this->contentContainer),
'active' => $this->isCurrentRoute('calendar', 'container-config', 'index'),
'visible' => $canConfigure
],
[
'label' => Yii::t('CalendarModule.widgets_GlobalConfigMenu', 'Event Types'),
'url' => Url::toConfigTypes($this->contentContainer),
'active' => $this->isCurrentRoute('calendar', 'container-config', 'types'),
'visible' => $canConfigure
],
];
if(!empty($calendarService->getCalendarItemTypes($this->contentContainer))) {
$this->items[] = [
'label' => Yii::t('CalendarModule.widgets_GlobalConfigMenu', 'Calendars'),
'url' => Url::toConfigCalendars($this->contentContainer),
'active' => $this->isCurrentRoute('calendar', 'container-config', 'calendars'),
'visible' => $canConfigure
];
}
}
}