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