%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/custom_pages/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/custom_pages/Module.php |
<?php namespace humhub\modules\custom_pages; use humhub\modules\content\components\ContentContainerModule; use humhub\modules\content\models\Content; use humhub\modules\user\models\User; use Yii; use humhub\modules\custom_pages\models\Snippet; use humhub\modules\custom_pages\helpers\Url; use humhub\modules\custom_pages\models\Page; use humhub\modules\custom_pages\models\ContainerPage; use humhub\modules\space\models\Space; use humhub\modules\content\components\ContentContainerActiveRecord; use yii\base\Exception; class Module extends ContentContainerModule { const ICON = 'fa-file-text-o'; const SETTING_MIGRATION_KEY = 'global_pages_migrated_visibility'; public $resourcesPath = 'resources'; public function checkOldGlobalContent() { if(!Yii::$app->user->isAdmin()) { return; } if(!$this->settings->get(static::SETTING_MIGRATION_KEY, 0)) { foreach (Page::find()->all() as $page) { $page->content->visibility = $page->admin_only ? Content::VISIBILITY_PRIVATE : Content::VISIBILITY_PUBLIC; $page->content->save(); } foreach (Snippet::find()->all() as $snippet) { $snippet->content->visibility = $snippet->admin_only ? Content::VISIBILITY_PRIVATE : Content::VISIBILITY_PUBLIC; $snippet->content->save(); } $this->settings->set(static::SETTING_MIGRATION_KEY, 1); } } /** * @inheritdoc */ public function getConfigUrl() { return Url::toModuleConfig(); } /** * @inheritdoc */ public function disable() { foreach (Page::find()->all() as $page) { $page->delete(); } foreach (ContainerPage::find()->all() as $page) { $page->delete(); } foreach (models\Snippet::find()->all() as $page) { $page->delete(); } foreach (models\ContainerSnippet::find()->all() as $page) { $page->delete(); } parent::disable(); } /** * @inheritdoc */ public function getContentContainerTypes() { return [ Space::class, ]; } /** * @inheritdoc */ public function getContentContainerName(ContentContainerActiveRecord $container) { return Yii::t('CustomPagesModule.base', 'Custom pages'); } public function getContentContainerDescription(ContentContainerActiveRecord $container) { if ($container instanceof Space) { return Yii::t('CustomPagesModule.base', 'Allows to add pages (markdown, iframe or links) to the space navigation'); } } /** * @inheritdoc */ public function disableContentContainer(ContentContainerActiveRecord $container) { parent::disableContentContainer($container); foreach (ContainerPage::find()->contentContainer($container)->all() as $page) { $page->delete(); } foreach (models\ContainerSnippet::find()->contentContainer($container)->all() as $page) { $page->delete(); } } /** * @inheritdoc */ public function getPermissions($contentContainer = null) { if (!$contentContainer) { return [ new permissions\ManagePages(), ]; } return []; } }