Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.56 KB | None | 0 0
  1. <?php
  2. define('STOP_STATISTICS', true);
  3. require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
  4.  
  5.  
  6. CModule::IncludeModule('catalog');
  7. CModule::IncludeModule('sale');
  8.  
  9.  
  10. //регистрация пользователя
  11. if ($USER->IsAuthorized()){
  12.     $user = $USER->GetID();
  13. }
  14. else{
  15.     $pass = crc32(time());
  16.     $USER->Register($_REQUEST['email'], $_REQUEST['name'], "", $pass, $pass, $_REQUEST['email']);
  17.     $user = $USER->GetID();
  18.     $USER->Authorize($user);
  19.    
  20.     CEvent::Send("NEWREG", SITE_ID, array(
  21.         "EMAIL" => $_REQUEST['email'],
  22.         "LOGIN" => $_REQUEST['email'],
  23.         "PASSWORD" => $pass,
  24.     ));
  25. }
  26.  
  27. //Получение корзины
  28. $fuser = CSaleBasket::GetBasketUserID();
  29. $dbBaket = CSaleBasket::GetList(
  30.    array("NAME" => "ASC"),
  31.    array("FUSER_ID" => $fuser, "LID" => SITE_ID, "ORDER_ID" => "NULL")
  32. );
  33. $arItems = array();
  34. while ($arBasket = $dbBaket->GetNext()){
  35.  
  36.    if ($arBasket["DELAY"]=="N" && $arBasket["CAN_BUY"]=="Y")
  37.    {
  38.       $arBasket["PRICE_FORMATED"] = SaleFormatCurrency($arBasket["PRICE"], $arBasket["CURRENCY"]);
  39.       $tmp[$arBasket["ID"]] = $arBasket;
  40.    }            
  41. }
  42.  
  43. //Стоимость заказа
  44. if (!empty($tmp) && CModule::IncludeModule("currency"))
  45. {
  46.    $baseCurrency = CCurrency::GetBaseCurrency();
  47.  
  48.    foreach ($tmp as $arBasketItem)
  49.    {
  50.  
  51.       if ($arBasketItem["CURRENCY"] != $baseCurrency)
  52.          $arBasket["PRICE"] = CCurrencyRates::ConvertCurrency($arBasketItem["PRICE"], $arBasketItem["CURRENCY"], $baseCurrency);
  53.  
  54.       if ($arBasketItem["DISCOUNT_PRICE"] > 0)
  55.          $totalSumDiscount += $arBasketItem["QUANTITY"] * $arBasketItem["DISCOUNT_PRICE"];
  56.       else
  57.          $totalSumDiscount += $arBasketItem["QUANTITY"] * $arBasketItem["PRICE"];
  58.    }
  59. }
  60.  
  61.  
  62. //Создание заказа
  63. $arFields = array(
  64.     "LID" => SITE_ID,
  65.     "PERSON_TYPE_ID" => 1,
  66.     "PAYED" => "N",
  67.     "CANCELED" => "N",
  68.     "STATUS_ID" => "N",
  69.     "PRICE" => $totalSumDiscount,
  70.     "CURRENCY" => "RUB",
  71.     "USER_ID" => $user,
  72.     "PAY_SYSTEM_ID" => 1,
  73.     "DELIVERY_ID" => 1,
  74.     "USER_DESCRIPTION" => $_REQUEST['comment']
  75. );
  76.  
  77. $id = CSaleOrder::Add($arFields);
  78. CSaleBasket::OrderBasket($id, $fuser, SITE_ID);
  79.  
  80. //свойства заказа
  81. $props = [
  82.     '1' => 'name',
  83.     '2' => 'company',
  84.     '3' => 'phone',
  85.     '4' => 'email',
  86.     '5' => 'address',
  87. ];
  88.  
  89. for ($i = 1; $i < 6; $i++){
  90.     $arFields = array(
  91.         "ORDER_ID" => $id,
  92.         "NAME" => 'Имя',
  93.         "ORDER_PROPS_ID" => $i,
  94.         "VALUE" => $_REQUEST[$props[$i]]
  95.     );
  96.     CSaleOrderPropsValue::Add($arFields);
  97. }
  98.  
  99. //E-mail для оповещений
  100. $res = CSite::GetList($by="sort", $order="desc", array('ACTIVE'=>'Y'));
  101. if($arSite = $res->Fetch()){
  102.     $defaultEmail = $arSite['EMAIL'];
  103. }
  104.  
  105. //оповещения для покупателя
  106. CEvent::Send("SALE_NEW_ORDER", SITE_ID, array(
  107.     "ORDER_ID" => $id,
  108.     "ORDER_DATE" => FormatDate('j F Y', time()),
  109.     "ORDER_USER" => htmlspecialchars($_REQUEST['name']),
  110.     "PRICE" => $totalSumDiscount,
  111.     "EMAIL" => $_REQUEST['email'],
  112.     "SALE_EMAIL" => $defaultEmail,
  113.     "SITE_NAME" => 'mirmetizov.ru',
  114.     "SERVER_NAME" => 'mirmetizov.ru',
  115. ));
  116.  
  117.  
  118. //оповещения для администрации
  119. CEvent::Send("NEWORDER", SITE_ID, array(
  120.     "ORDER_ID" => $id,
  121.     "ORDER_DATE" => FormatDate('j F Y', time()),
  122.     "NAME" => htmlspecialchars($_REQUEST['name']),
  123.     "COMPANY" => htmlspecialchars($_REQUEST['company']),
  124.     "PRICE" => $totalSumDiscount,
  125.     "EMAIL" => $_REQUEST['email'],
  126.     "SALE_EMAIL" => $defaultEmail,
  127.     "PHONE" => htmlspecialchars($_REQUEST['phone']),
  128.     "ADDRESS" => htmlspecialchars($_REQUEST['address']),
  129.     "COMMENT" => htmlspecialchars($_REQUEST['comment']),
  130. ));
  131.  
  132. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement