Exemple #1
0
 /**
  * callback for purchase event
  *
  * @see install/index.php
  * @param $order_id
  */
 public static function purchase($order_id)
 {
     $items = array();
     foreach (Data::getOrderItems($order_id) as $item) {
         $items[] = array('item_id' => $item['PRODUCT_ID'], 'amount' => $item['QUANTITY'], 'price' => $item['PRICE']);
     }
     Functions::cookiePushPurchase($items, $order_id);
 }
Exemple #2
0
 private static function getOrdersForExport()
 {
     $dbOrders = Data::getLatestOrders();
     $orders = array();
     while ($dbOrder = $dbOrders->Fetch()) {
         $order = array('id' => $dbOrder['ID'], 'date' => strtotime($dbOrder['DATE_INSERT']));
         if (!empty($dbOrder['USER_ID'])) {
             $order['user_id'] = $dbOrder['USER_ID'];
         }
         $dbItems = Data::getOrderItems($dbOrder['ID']);
         $items = array();
         foreach ($dbItems as $dbItem) {
             $item = $dbItem['DATA'];
             $item['amount'] = $dbItem['QUANTITY'];
             $item['id'] = strval($item['item_id']);
             unset($item['item_id']);
             $items[] = $item;
         }
         $order['items'] = $items;
         $orders[] = $order;
     }
     return $orders;
 }
Exemple #3
0
 /**
  * get item params for view or cart push from basket id
  *
  * @param $id
  * @return array|bool
  */
 public static function getBasketArray($id)
 {
     $libBasket = new \CSaleBasket();
     $item = $libBasket->GetByID($id);
     return Data::getItemArray($item['PRODUCT_ID']);
 }
Exemple #4
0
 /**
  * get real item id for complex product
  */
 public static function getRealItemID($item_id)
 {
     $arr = Data::getItemArray($item_id);
     if ($arr) {
         return $arr['item_id'];
     } else {
         return null;
     }
 }
    /**
     * handler for include/rees46-recommender.php, render recommenders
     */
    public static function run()
    {
        CModule::IncludeModule('catalog');
        CModule::IncludeModule('sale');
        CModule::IncludeModule("iblock");
        global $USER;
        $recommended_by = '';
        // get recommender name
        if (isset($_REQUEST['recommended_by'])) {
            $recommender = strval($_REQUEST['recommended_by']);
            $recommended_by = '?recommended_by=' . urlencode($recommender);
            switch ($recommender) {
                case 'buying_now':
                    $recommender_title = GetMessage('REES_INCLUDE_BUYING_NOW');
                    break;
                case 'see_also':
                    $recommender_title = GetMessage('REES_INCLUDE_SEE_ALSO');
                    break;
                case 'recently_viewed':
                    $recommender_title = GetMessage('REES_INCLUDE_RECENTLY_VIEWED');
                    break;
                case 'also_bought':
                    $recommender_title = GetMessage('REES_INCLUDE_ALSO_BOUGHT');
                    break;
                case 'similar':
                    $recommender_title = GetMessage('REES_INCLUDE_SIMILAR');
                    break;
                case 'interesting':
                    $recommender_title = GetMessage('REES_INCLUDE_INTERESTING');
                    break;
                case 'popular':
                    $recommender_title = GetMessage('REES_INCLUDE_POPULAR');
                    break;
                default:
                    $recommender_title = '';
            }
        }
        $libCatalogProduct = new CCatalogProduct();
        $libFile = new CFile();
        // render items
        if (isset($_REQUEST['recommended_items']) && is_array($_REQUEST['recommended_items']) && count($_REQUEST['recommended_items']) > 0) {
            $found_items = 0;
            // Currency to display
            $sale_currency = Data::getSaleCurrency();
            $html = '';
            $html .= '<div class="recommender-block-title">' . $recommender_title . '</div>';
            $html .= '<div class="recommended-items">';
            foreach ($_REQUEST['recommended_items'] as $item_id) {
                $item_id = intval($item_id);
                $item = $libCatalogProduct->GetByIDEx($item_id);
                // Get price
                $final_price = Data::getFinalPriceInCurrency($item_id, $sale_currency);
                // Check price
                if ($final_price == false) {
                    continue;
                }
                // Url to product with recommended_by attribute
                $link = $item['DETAIL_PAGE_URL'] . $recommended_by;
                // Get photo
                $picture_id = Data::getProductPhotoId($item_id);
                if ($picture_id === null) {
                    continue;
                }
                $file = $libFile->ResizeImageGet($picture_id, array('width' => Options::getImageWidth(), 'height' => Options::getImageHeight()), BX_RESIZE_IMAGE_PROPORTIONAL, true);
                $html .= '<div class="recommended-item">
					<div class="recommended-item-photo"><a href="' . $link . '"><img src="' . $file['src'] . '" class="item_img"/></a></div>
					<div class="recommended-item-title"><a href="' . $link . '">' . $item['NAME'] . '</a></div>
					' . ($final_price ? '<div class="recommended-item-price">' . CCurrencyLang::CurrencyFormat($final_price, $sale_currency, true) . '</div>' : '') . '
					<div class="recommended-item-action"><a href="' . $link . '">' . GetMessage('REES_INCLUDE_MORE') . '</a></div>
				</div>';
                $found_items++;
            }
            $html .= '</div>';
            if ($found_items > 0) {
                echo $html;
            }
        }
    }