| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace ThurData\Servers\KerioEmail\App\UI\Client\Home\Pages;
- use ThurData\Servers\KerioEmail\App\Enums\ControllerEnums;
- use ThurData\Servers\KerioEmail\App\Helpers\BuildUrlExtended;
- use ThurData\Servers\KerioEmail\App\Libs\Product\ProductManager;
- use ThurData\Servers\KerioEmail\App\UI\Client\Home\Fields\FeatureField;
- use ThurData\Servers\KerioEmail\Core\UI\Builder\BaseContainer;
- use ThurData\Servers\KerioEmail\Core\UI\Interfaces\ClientArea;
- /**
- *
- * Created by PhpStorm.
- * User: Tomasz Bielecki ( tomasz.bi@thurdata.com )
- * Date: 10.09.19
- * Time: 10:09
- * Class Dashboard
- */
- class Dashboard extends BaseContainer implements ClientArea
- {
- /**
- * @var array
- */
- protected $featureContainer = [];
- public function initContent()
- {
- $this->initFeatures();
- }
- /**
- *
- */
- protected function initFeatures()
- {
- /**
- * product manager
- */
- $productManager = new ProductManager();
- $productManager->loadByHostingId($this->getRequestValue('id'));
- /**
- *
- * check if email account page is enabled
- */
- if($productManager->isControllerAccessible(ControllerEnums::EMAIL_ACCOUNT_PAGE))
- {
- $feature = new FeatureField('emailAccount');
- $feature->setUrl(BuildUrlExtended::getProvisioningUrl('emailAccount'));
- $this->addFeature($feature);
- }
- /**
- *
- * check if email alias page is enabled
- */
- if($productManager->isControllerAccessible(ControllerEnums::EMAIL_ALIAS_PAGE))
- {
- $feature = new FeatureField('emailAlias');
- $feature->setUrl(BuildUrlExtended::getProvisioningUrl('emailAlias'));
- $this->addFeature($feature);
- }
- /**
- *
- * check if ressource page is enabled
- */
- if($productManager->isControllerAccessible(ControllerEnums::RESSOURCE_PAGE))
- {
- $feature = new FeatureField('ressource');
- $feature->setUrl(BuildUrlExtended::getProvisioningUrl('ressource'));
- $this->addFeature($feature);
- }
- /**
- *
- * check if distribution list page is enabled
- */
- if($productManager->isControllerAccessible(ControllerEnums::DISTRIBUTION_MAIL_PAGE))
- {
- $feature = new FeatureField('distributionList');
- $feature->setUrl(BuildUrlExtended::getProvisioningUrl('distributionList'));
- $this->addFeature($feature);
- }
- /**
- *
- * check if domain alias page is enabled
- */
- if($productManager->isControllerAccessible(ControllerEnums::DOMAIN_ALIAS_PAGE)) {
- $feature = new FeatureField('domainAlias');
- $feature->setUrl(BuildUrlExtended::getProvisioningUrl('domainAlias'));
- $this->addFeature($feature);
- }
- /**
- *
- * check if webmail is enabled
- */
- if($productManager->isControllerAccessible(ControllerEnums::WEBMAIL_PAGE)) {
- $feature = new FeatureField('goWebmail');
- $feature->setTargetBlank(true);
- $feature->setUrl(BuildUrlExtended::getProvisioningUrl('webmail'));
- $this->addFeature($feature);
- }
- }
- /**
- * @param FeatureField $feature
- * @return $this
- */
- protected function addFeature(FeatureField $feature)
- {
- $this->featureContainer[$feature->getId()] = $feature;
- return $this;
- }
- /**
- * @return array
- */
- public function getFeatures()
- {
- return $this->featureContainer;
- }
- }
|