Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/skyweb24.sharebasket/lib/
Upload File :
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'];
    }

}

?>