. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Repositories; use Espo\Entities\Portal as PortalEntity; use Espo\Core\Repositories\Database; use Espo\Core\Di; /** * @extends Database */ class Portal extends Database implements Di\ConfigAware { use Di\ConfigSetter; public function loadUrlField(PortalEntity $entity): void { if ($entity->get('customUrl')) { $entity->set('url', $entity->get('customUrl')); } $siteUrl = $this->config->get('siteUrl'); $siteUrl = rtrim($siteUrl , '/') . '/'; $url = $siteUrl . 'portal/'; if ($entity->getId() === $this->config->get('defaultPortalId')) { $entity->set('isDefault', true); $entity->setFetched('isDefault', true); } else { if ($entity->get('customId')) { $url .= $entity->get('customId') . '/'; } else { $url .= $entity->getId() . '/'; } $entity->set('isDefault', false); $entity->setFetched('isDefault', false); } if (!$entity->get('customUrl')) { $entity->set('url', $url); } } }