%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home2/vacivi36/intranet.vacivitta.com.br/protected/modules/linklist/
Upload File :
Create Path :
Current File : //home2/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,
            ));
        }
    }

}

Zerion Mini Shell 1.0