Source of file SubsiteLinkExtension.php
Size: 1,715 Bytes - Last Modified: 2021-12-23T10:09:40+00:00
/var/www/docs.ssmods.com/process/src/src/extensions/SubsiteLinkExtension.php
12345678910111213141516171819202122232425262728293031323334353637383940414243 | <?php namespace OP; use SilverStripe\Subsites\Model\SubsiteDomain; use SilverStripe\Forms\TextField; use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\LiteralField; use SilverStripe\Control\Director; use SilverStripe\ORM\DataExtension; use SilverStripe\Forms\FieldList; use SilverStripe\Core\Environment; class SubsiteLinkExtension extends DataExtension { private static $has_one = [ 'TestDomain' => SubsiteDomain::class, 'DevDomain' => SubsiteDomain::class ]; public function updateCMSFields(FieldList $fields) { if ($this->owner->ID != 0) { $domains = $this->owner->Domains()->map('ID', 'Domain'); if (Director::isDev() || Director::isTest()) { if (Environment::getEnv('DEV_SUBSITE_' . $this->owner->ID)) { $subsiteurl = 'DEV_SUBSITE_' . $this->owner->ID; $wardingfield = LiteralField::create("WarningDomain", "<p class=\"message warning\">While running in dev or test mode," . " the current domain will be used: <strong>" . Environment::getEnv($subsiteurl) . "</strong></p>"); $fields->addFieldToTab("Root.DomainEnvironments", $wardingfield); } } $fields->addFieldToTab('Root.DomainEnvironments', TextField::create('Live', 'Live', $this->owner->domain())->setReadonly(true)); $fields->addFieldToTab('Root.DomainEnvironments', DropdownField::create('TestDomainID', 'Test', $domains)); $fields->addFieldToTab('Root.DomainEnvironments', DropdownField::create('DevDomainID', 'Dev', $domains)); $fields->makeFieldReadonly('Live'); } } } |