%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/linklist/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/linklist/Module.php |
<?php
namespace humhub\modules\linklist;
use Yii;
use humhub\modules\linklist\models\Link;
use humhub\modules\linklist\models\Category;
use humhub\modules\space\models\Space;
use humhub\modules\user\models\User;
use humhub\modules\content\components\ContentContainerActiveRecord;
use humhub\modules\content\components\ContentContainerModule;
class Module extends ContentContainerModule
{
/**
* @inheritdoc
*/
public function getContentContainerTypes()
{
return [
User::className(),
Space::className(),
];
}
/**
* @inheritdoc
*/
public function getContentContainerConfigUrl(ContentContainerActiveRecord $container)
{
return $container->createUrl('/linklist/linklist/config');
}
/**
* @inheritdoc
*/
public function disable()
{
foreach (Category::find()->all() as $category) {
$category->delete();
}
parent::disable();
}
/**
* @inheritdoc
*/
public function enableContentContainer(ContentContainerActiveRecord $container)
{
/** @var Module $module */
$module = Yii::$app->getModule('linklist');
$module->settings->contentContainer($container)->set('enableDeadLinkValidation', 0);
$module->settings->contentContainer($container)->set('enableWidget', 0);
parent::enableContentContainer($container);
}
/**
* @inheritdoc
*/
public function disableContentContainer(ContentContainerActiveRecord $container)
{
parent::disableContentContainer($container);
foreach (Category::find()->contentContainer($container)->all() as $content) {
$content->delete();
}
foreach (Link::find()->contentContainer($container)->all() as $content) {
$content->delete();
}
}
/**
* Defines what to do if a spaces sidebar is initialzed.
*
* @param type $event
*/
public static function onSpaceSidebarInit($event)
{
$space = $event->sender->space;
if ($space->moduleManager->isEnabled('linklist')) {
$event->sender->addWidget(widgets\Sidebar::className(), array('contentContainer' => $space), array(
'sortOrder' => 200,
));
}
}
/**
* On build of a Space Navigation, check if this module is enabled.
* When enabled add a menu item
*
* @param type $event
*/
public static function onSpaceMenuInit($event)
{
$space = $event->sender->space;
if ($space->moduleManager->isEnabled('linklist') && $space->isMember()) {
$event->sender->addItem(array(
'label' => Yii::t('LinklistModule.base', 'Linklist'),
'group' => 'modules',
'url' => $space->createUrl('/linklist/linklist'),
'icon' => '<i class="fa fa-link"></i>',
'isActive' => (Yii::$app->controller->module && Yii::$app->controller->module->id == 'linklist')
));
}
}
/**
* On build of a Profile Navigation, check if this module is enabled.
* When enabled add a menu item
*
* @param type $event
*/
public static function onProfileMenuInit($event)
{
$user = $event->sender->user;
// Is Module enabled on this workspace?
if ($user->moduleManager->isEnabled('linklist') && !Yii::$app->user->isGuest && $user->id == Yii::$app->user->id) {
$event->sender->addItem(array(
'label' => Yii::t('LinklistModule.base', 'Linklist'),
'url' => $user->createUrl('/linklist/linklist'),
'icon' => '<i class="fa fa-link"></i>',
'isActive' => (Yii::$app->controller->module && Yii::$app->controller->module->id == 'linklist'),
));
}
}
/**
* Defines what to do if a spaces sidebar is initialzed.
*
* @param type $event
*/
public static function onProfileSidebarInit($event)
{
$user = $event->sender->user;
if ($user->moduleManager->isEnabled('linklist')) {
$event->sender->addWidget(widgets\Sidebar::className(), array('contentContainer' => $user), array(
'sortOrder' => 200,
));
}
}
}