. */ namespace SP\Util; use SP\Bootstrap; use SP\Config\ConfigDataInterface; use SP\Core\Acl\Acl; use SP\Http\Uri; /** * Class Link * * @package SP\Util */ final class Link { public static function getDeepLink( int $itemId, int $actionId, ConfigDataInterface $configData, bool $useUI = false ): string { $route = Acl::getActionRoute($actionId) . '/' . $itemId; if ($useUI) { $baseUrl = ($configData->getApplicationUrl() ?? Bootstrap::$WEBURI) . '/index.php'; } else { $baseUrl = ($configData->getApplicationUrl() ?? Bootstrap::$WEBURI) . Bootstrap::$SUBURI; } $uri = new Uri($baseUrl); $uri->addParam('r', $route); return $uri->getUriSigned($configData->getPasswordSalt()); } }