/**
  * Check if the user has credits or BTC to list the product
  *
  * @param mixed $userID
  * @param mixed $paymentType
  * @return boolean
  */
 public function hasMoneyToListProduct($userID, $paymentType = BuckysShopProduct::LIST_FEE_PAYMENT_TYPE_BTC)
 {
     if ($paymentType == BuckysShopProduct::LIST_FEE_PAYMENT_TYPE_CREDIT) {
         $tradeUserIns = new BuckysTradeUser();
         return $tradeUserIns->hasCredits($userID, SHOP_PRODUCT_LISTING_FEE_IN_CREDIT);
     } else {
         if ($paymentType == BuckysShopProduct::LIST_FEE_PAYMENT_TYPE_BTC) {
             $balance = BuckysBitcoin::getUserWalletBalance($userID);
             return $balance >= SHOP_PRODUCT_LISTING_FEE_IN_BTC;
         } else {
             return false;
         }
     }
 }
 /**
  * Check if you have money or credits
  *
  * @param mixed $userID
  * @param mixed $paymentType
  * @return bool
  */
 public function hasMoneyToListTradeItem($userID, $paymentType = BuckysTradeItem::LIST_FEE_PAYMENT_TYPE_BTC)
 {
     if ($paymentType == BuckysTradeItem::LIST_FEE_PAYMENT_TYPE_CREDIT) {
         $tradeUserIns = new BuckysTradeUser();
         return $tradeUserIns->hasCredits($userID, TRADE_ITEM_LISTING_FEE_IN_CREDIT);
     } else {
         if ($paymentType == BuckysTradeItem::LIST_FEE_PAYMENT_TYPE_BTC) {
             $balance = BuckysBitcoin::getUserWalletBalance($userID);
             return $balance >= TRADE_ITEM_LISTING_FEE_IN_BTC;
         } else {
             return false;
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * Add Trade Item
  * 
  * @param array $data
  */
 public function addItem($data)
 {
     $tradeUserIns = new BuckysTradeUser();
     if (!$tradeUserIns->hasCredits($data['userID'])) {
         return;
     }
     // no credits
     global $db;
     if (empty($data['userID']) || empty($data['title']) || empty($data['subtitle']) || empty($data['catID'])) {
         return;
     }
     $newID = $db->insertFromArray(TABLE_TRADE_ITEMS, $data);
     //Trade User has been created?
     $tradeUserIns->addUser($data['userID']);
     //Use one credits
     if ($newID) {
         $tradeUserIns->useCredit($data['userID']);
     }
     return $newID;
 }
Ejemplo n.º 4
0
/**
 * Edit trade item action by ajax
 */
function editTradeItem()
{
    $userID = buckys_is_logged_in();
    if (!$userID) {
        return;
    }
    $tradeItemIns = new BuckysTradeItem();
    $inputValidFlag = true;
    $requiredFields = ['title', 'subtitle', 'description', 'category'];
    foreach ($requiredFields as $requiredField) {
        if ($_REQUEST[$requiredField] == '') {
            $inputValidFlag = false;
        }
    }
    $actionType = get_secure_string($_REQUEST['type']);
    $paramItemID = get_secure_integer($_REQUEST['itemID']);
    $data = [];
    $editableFlag = false;
    if ($actionType == 'relist') {
        $tradeItemData = $tradeItemIns->getItemById($paramItemID, true);
        if (!$tradeItemData) {
            echo json_encode(['success' => 0, 'msg' => 'You could not relist this item.']);
            exit;
        }
        //you can relist this item
        $data['createdDate'] = date('Y-m-d H:i:s');
        $tradeUserIns = new BuckysTradeUser();
        if (!$tradeUserIns->hasCredits($userID)) {
            echo json_encode(['success' => 0, 'msg' => 'You could not relist this item. You have no credits.']);
            exit;
        }
        if ($tradeItemData['userID'] == $userID) {
            $editableFlag = true;
        } else {
            $editableFlag = false;
        }
    } else {
        $tradeItemData = $tradeItemIns->getItemById($paramItemID, false);
        if ($tradeItemData && $tradeItemData['userID'] == $userID) {
            $editableFlag = true;
        }
    }
    if ($inputValidFlag) {
        if ($editableFlag) {
            $data['title'] = get_secure_string($_REQUEST['title']);
            $data['subtitle'] = get_secure_string($_REQUEST['subtitle']);
            $data['description'] = get_secure_string($_REQUEST['description']);
            $data['itemWanted'] = get_secure_string($_REQUEST['items_wanted']);
            $data['images'] = get_secure_string($_REQUEST['images']);
            $data['catID'] = get_secure_string($_REQUEST['category']);
            $data['locationID'] = get_secure_string($_REQUEST['location']);
            $data['listingDuration'] = get_secure_string($_REQUEST['listing_duration']);
            $data['expiryDate'] = $data['listingDuration'] == -1 ? '0000-00-00 00:00:00' : date('Y-m-d H:i:s', time() + 3600 * 24 * $data['listingDuration']);
            $data['images'] = moveTradeTmpImages($data['images']);
            if ($data['images'] === false) {
                echo json_encode(['success' => 0, 'msg' => 'Something goes wrong, please contact administrator.']);
                exit;
            }
            if ($actionType == 'relist') {
                $tradeUserIns->useCredit($userID);
            }
            $tradeItemIns->updateItem($paramItemID, $data);
            echo json_encode(['success' => 1, 'msg' => 'An item has been updated successfully.']);
        } else {
            echo json_encode(['success' => 0, 'msg' => "You don't have permission."]);
        }
    } else {
        //error
        echo json_encode(['success' => 0, 'msg' => 'Please input required field(s).']);
    }
}
Ejemplo n.º 5
0
buckys_enqueue_stylesheet('trade.css');
buckys_enqueue_javascript('uploadify/jquery.uploadify.js');
buckys_enqueue_javascript('jquery.Jcrop.js');
buckys_enqueue_javascript('jquery.color.js');
buckys_enqueue_javascript('trade.js');
buckys_enqueue_javascript('trade-edit.js');
buckys_enqueue_javascript('uploadify/flash_install.js');
$TNB_GLOBALS['content'] = 'trade/additem';
$TNB_GLOBALS['headerType'] = 'trade';
$view = [];
$tradeCatIns = new BuckysTradeCategory();
$countryIns = new BuckysCountry();
$tradeUserIns = new BuckysTradeUser();
$view['no_cash'] = false;
$view['no_credits'] = false;
if (!$tradeUserIns->hasCredits($userID)) {
    $view['no_credits'] = true;
}
$userInfo = BuckysUser::getUserBasicInfo($userID);
$view['category_list'] = $tradeCatIns->getCategoryList(0);
$view['country_list'] = $countryIns->getCountryList();
$view['action_name'] = 'addTradeItem';
$view['page_title'] = 'Add an Item';
$view['type'] = 'additem';
$view['my_bitcoin_balance'] = BuckysBitcoin::getUserWalletBalance($userID);
$view['my_credit_balance'] = $userInfo['credits'];
if ($view['my_bitcoin_balance'] < TRADE_ITEM_LISTING_FEE_IN_BTC && $view['my_credit_balance'] < TRADE_ITEM_LISTING_FEE_IN_CREDIT) {
    $view['no_cash'] = true;
}
$TNB_GLOBALS['title'] = 'Add an Item - BuckysRoomTrade';
require DIR_FS_TEMPLATE . $TNB_GLOBALS['template'] . "/" . $TNB_GLOBALS['layout'] . ".php";