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/get.php

<?
namespace Skyweb24\Sharebasket;

use \Bitrix\Main\Mail\Event;

class Get
{
    function __construct()
    {
        $this->globalSettings = Settings::getInstance();
    }

    // public function getCaptchaOption()
    // {
    //   return \Bitrix\Main\Config\Option::get($this->globalSettings->getModuleId(), "captcha_email_".SITE_ID);
    // }

    public function sendEmail($friendEmail, $userName, $url)
    {
        Event::send(array(
            "EVENT_NAME" => "SKYWEB24_SHARE_BASKET",
            "LID" => SITE_ID,
            "C_FIELDS" => array(
                "EMAIL_TO" => $friendEmail,
                "USER" => $userName,
                "BASKET_URL" => $url
            )
        ));
    }

    public function setBasket($basket)
    {
        $arProducts = array();
        $i = 0;

        foreach ($basket as $basketItem) {
            if($basketItem->isDelay())
                continue;

            $i++;
            $result = \CSaleBasket::GetPropsList(
                ["SORT" => "ASC", "NAME" => "ASC"],
                ["BASKET_ID" => $basketItem->getId()]
            );

            while ($row = $result->Fetch())
            {
                $arProducts[$i]['PROPERTIES'][] = $row;
            }

            $arProducts[$i]['PRODUCT_ID'] = $basketItem->getField("PRODUCT_ID");
            $arProducts[$i]['QUANTITY'] = $basketItem->getField("QUANTITY");
            $arProducts[$i]['PRICE']    = $basketItem->getField("PRICE");
            $arProducts[$i]['CURRENCY'] = $basketItem->getField("CURRENCY");
            $arProducts[$i]['LID']      = $basketItem->getField("LID");
            $arProducts[$i]['NAME']     = $basketItem->getField("NAME");
            $arProducts[$i]['MODULE']   = $basketItem->getField("MODULE");
            $arProducts[$i]['WEIGHT']   = $basketItem->getField("WEIGHT");
            $arProducts[$i]['PRODUCT_PROVIDER_CLASS']   = str_replace("\\", "/", $basketItem->getField("PRODUCT_PROVIDER_CLASS"));



        }
        $idForShortUri = $this->createItemsSharebasketDB($arProducts);

        return $idForShortUri;
    }

    private function createItemsSharebasketDB($data)
    {
        global $DB;
        global $USER;

        $result = $DB->Query("SELECT `id` FROM `{$this->globalSettings->getTableShareBasket()}` ORDER BY `id` DESC LIMIT 1");

        $id = $result->Fetch()['id'];
        $id = ($id) ? ++$id : 1;


        return $DB->Insert($this->globalSettings->getTableShareBasket(), [
            'serialized_basket' => "'" . $DB->ForSql(serialize($data)) . "'",
            // 'code' => "'" . md5($id) . "'",
            'user_id' => "'" . $USER->GetID() .  "'",
            'date' => 'NOW()',
        ], $err_mess . __LINE__);
    }

    public function setShortLinkId($id, $shortId)
    {
        global $DB;
        return $DB->Update(
            $this->globalSettings->getTableShareBasket(),
            [
                'short_link_id' => "'". $shortId ."'",
            ],
            "WHERE id = '{$id}'"
        );
    }

    public function setShortCode($id)
    {
        global $DB;
        return $DB->Update(
            $this->globalSettings->getTableShareBasket(),
            [
                'code' => "'". md5($id) ."'",
            ],
            "WHERE id = '{$id}'"
        );
    }

    public function removeBasketItem($id)
    {
        global $DB;
        return $DB->Query("DELETE FROM `{$this->globalSettings->getTableShareBasket()}` WHERE id = '{$id}'");
    }

}

?>