/**
  * Create Order by array
  *
  * @param mixed $data
  * @return bool|int|null|string
  */
 public function createOrder($data)
 {
     global $db;
     $newID = $db->insertFromArray(TABLE_SHOP_ORDERS, $data);
     if ($newID) {
         //Create bitcoin transaction
         BuckysBitcoinTransaction::addTransaction($data['sellerID'], $data['buyerID'], BuckysBitcoinTransaction::ACTIVITY_TYPE_PRODUCT_PURCHASE, $newID, $data['totalPrice']);
         $shopProdIns = new BuckysShopProduct();
         $product = $shopProdIns->getProductById($data['productID']);
         if (!$product['isDownloadable']) {
             $shopProdIns->updateProduct($data['productID'], ['status' => BuckysShopProduct::STATUS_SOLD]);
         }
         //Send notification if the seller wants to get notification
         $notificationIns = new BuckysShopNotification();
         $notificationIns->createNotification($data['sellerID'], $data['buyerID'], BuckysShopNotification::ACTION_TYPE_PRODUCT_SOLD, $newID);
         return $newID;
     }
     return false;
 }
 /**
  * Make payment for listing trade items.
  *
  * @param mixed $userID
  * @param mixed $itemID
  * @param mixed $paymentType
  * @return bool|int|null|string|void
  */
 public function payListingFee($userID, $itemID, $paymentType = BuckysTradeItem::LIST_FEE_PAYMENT_TYPE_BTC)
 {
     $flag = false;
     if ($paymentType == BuckysTradeItem::LIST_FEE_PAYMENT_TYPE_CREDIT) {
         $transactionIns = new BuckysTransaction();
         $flag = $transactionIns->useCreditsInTrade($userID, TRADE_ITEM_LISTING_FEE_IN_CREDIT);
     } else {
         if ($paymentType == BuckysTradeItem::LIST_FEE_PAYMENT_TYPE_BTC) {
             $flag = BuckysBitcoin::sendBitcoin($userID, TRADE_TNB_LISTING_FEE_RECEIVER_BITCOIN_ADDRESS, TRADE_ITEM_LISTING_FEE_IN_BTC);
             buckys_get_messages();
             // this will flash the messages
             if ($flag) {
                 //Create bitcoin transaction
                 BuckysBitcoinTransaction::addTransaction(BuckysBitcoinTransaction::TNB_BITCOIN_RECEIVER_ID, $userID, BuckysBitcoinTransaction::ACTIVITY_TYPE_LISTING_TRADE_ITEM, $itemID, TRADE_ITEM_LISTING_FEE_IN_BTC);
             }
         }
     }
     return $flag;
 }