예제 #1
0
 function TransferBasket($FROM_FUSER_ID, $TO_FUSER_ID)
 {
     $FROM_FUSER_ID = (int) $FROM_FUSER_ID;
     $TO_FUSER_ID = (int) $TO_FUSER_ID;
     if ($TO_FUSER_ID > 0 && $FROM_FUSER_ID > 0) {
         $_SESSION["SALE_BASKET_NUM_PRODUCTS"][SITE_ID] = 0;
         $dbTmp = CSaleUser::GetList(array("ID" => $TO_FUSER_ID));
         if (!empty($dbTmp)) {
             $arOldBasket = array();
             $dbBasket = CSaleBasket::GetList(array(), array("FUSER_ID" => $TO_FUSER_ID, "ORDER_ID" => false));
             while ($arBasket = $dbBasket->Fetch()) {
                 $arOldBasket[$arBasket["PRODUCT_ID"]] = $arBasket;
                 $_SESSION["SALE_BASKET_NUM_PRODUCTS"][SITE_ID]++;
             }
             $dbBasket = CSaleBasket::GetList(array(), array("FUSER_ID" => $FROM_FUSER_ID, "ORDER_ID" => false));
             while ($arBasket = $dbBasket->Fetch()) {
                 $arUpdate = array("FUSER_ID" => $TO_FUSER_ID);
                 if (!empty($arOldBasket[$arBasket["PRODUCT_ID"]])) {
                     $arUpdate["QUANTITY"] = $arBasket["QUANTITY"] + $arOldBasket[$arBasket["PRODUCT_ID"]]["QUANTITY"];
                     CSaleBasket::Delete($arBasket["ID"]);
                     CSaleBasket::_Update($arOldBasket[$arBasket["PRODUCT_ID"]]["ID"], $arUpdate);
                 } else {
                     $_SESSION["SALE_BASKET_NUM_PRODUCTS"][SITE_ID]++;
                     CSaleBasket::_Update($arBasket["ID"], $arUpdate);
                 }
             }
             return true;
         }
     }
     return false;
 }