. */ namespace SP\Util; use SP\Bootstrap; use SP\Config\ConfigData; use SP\Core\Acl\Acl; use SP\Http\Uri; /** * Class Link * * @package SP\Util */ final class Link { /** * @param int $itemId * @param int $actionId * @param ConfigData $configData * * @param bool $useUI * * @return string */ public static function getDeepLink( int $itemId, int $actionId, ConfigData $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()); } }