| Current Path : /var/www/homesaver/www/bitrix/modules/skyweb24.sharebasket/lib/ |
| Current File : /var/www/homesaver/www/bitrix/modules/skyweb24.sharebasket/lib/shorturimanager.php |
<?
namespace Skyweb24\Sharebasket;
class ShortUriManager
{
private $id;
private $root_url;
private $shortId;
public $full_url;
function __construct($id)
{
$this->id = $id;
$this->root_url = $this->urlSite();
$this->full_url = $this->root_url . "/shareBasket.php?id=" . md5($this->id);
}
public function getFullUri()
{
return $this->full_url;
}
public function getURI()
{
if ($short_uri = $this->isExistShortUri()) {
return $this->root_url . "/" . $short_uri;
} else {
return $this->createShortUrl();
}
}
/*public function deleteShortUri()
{
$rsData = \CBXShortUri::GetList(Array(), Array('URI' => $this->full_url));
if ($arRes = $rsData->Fetch()) {
\CBXShortUri::Delete($arRes['ID']);
}
}*/
private function createShortUrl()
{
$str_SHORT_URI = \CBXShortUri::GenerateShortUri();
$arFields = Array(
"URI" => $this->full_url,
"SHORT_URI" => $str_SHORT_URI,
"STATUS" => "301",
);
$this->setShortId(\CBXShortUri::Add($arFields));
return $this->root_url . "/" . $str_SHORT_URI;
}
private function setShortId($id)
{
$this->shortId = $id;
}
private function setFullUrl()
{
$this->full_url = $this->root_url . "/shareBasket.php?id=" . md5($this->id);
}
public function getShortId()
{
return $this->shortId;
}
private function isExistShortUri()
{
$rsData = \CBXShortUri::GetList(Array(), Array());
while ($arRes = $rsData->Fetch()) {
if ($arRes["URI"] == $this->full_url) {
return $arRes["SHORT_URI"];
}
}
return false;
}
private function urlSite()
{
$protocol = (\CMain::IsHTTPS()) ? "https://" : "http://";
return $protocol . $_SERVER['HTTP_HOST'];
}
}
?>