/** * Add shop product action by Ajax */ function addShopProduct() { $userID = buckys_is_logged_in(); if (!$userID) { return; } $inputValidFlag = true; $requiredFields = ['title', 'subtitle', 'description', 'category', 'return_policy', 'shipping_price', 'price']; if ($_REQUEST['return_policy'] == '') { $_REQUEST['return_policy'] = 'None'; } foreach ($requiredFields as $requiredField) { if ($_REQUEST[$requiredField] == '') { $inputValidFlag = false; } } $categoryClass = new BuckysShopCategory(); $category = $categoryClass->getCategoryByID($_REQUEST['category']); if (!$category['isDownloadable'] && $_REQUEST['location'] == '') { $inputValidFlag = false; } else { if ($category['isDownloadable'] == 1) { $_REQUEST['location'] = 0; } } if (isset($_REQUEST['price']) && (!is_numeric($_REQUEST['price']) || $_REQUEST['price'] <= 0)) { $inputValidFlag = false; } $shippingPriceList = []; if (isset($_REQUEST['shipping_price'])) { $shippingPriceList = json_decode($_REQUEST['shipping_price'], true); if (!is_array($shippingPriceList) || count($shippingPriceList) < 1) { $inputValidFlag = false; } } $listingFeeType = get_secure_integer($_REQUEST['listing_fee_type']); if ($listingFeeType === null) { $inputValidFlag = false; } if ($inputValidFlag && $userID !== false) { $shopProductIns = new BuckysShopProduct(); $data['userID'] = $userID; $data['title'] = get_secure_string($_REQUEST['title']); $data['subtitle'] = get_secure_string($_REQUEST['subtitle']); $data['description'] = get_secure_string($_REQUEST['description']); $data['catID'] = get_secure_string($_REQUEST['category']); $data['images'] = get_secure_string($_REQUEST['images']); $data['locationID'] = buckys_escape_query_integer($_REQUEST['location']); $data['returnPolicy'] = get_secure_string($_REQUEST['return_policy']); $data['price'] = get_secure_string($_REQUEST['price']); $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['createdDate'] = date('Y-m-d H:i:s'); $data['images'] = moveShopTmpImages($data['images']); if ($category['isDownloadable'] == 1) { if (!$_REQUEST['filename'] || file_exists(DIR_FS_SHOP_IMG_TMP . $_REQUEST['filename'])) { echo json_encode(['success' => 0, 'msg' => 'Please select a zip file.']); exit; } $data['isDownloadable'] = 1; $filename = moveShopTmpProduct($_REQUEST['filename']); $data['fileName'] = $filename; } if ($data['images'] === false) { echo json_encode(['success' => 0, 'msg' => 'Something goes wrong, please contact administrator.']); exit; } if ($newProductID = $shopProductIns->addProduct($data, $listingFeeType)) { $shopProductIns->addShippingPrice($newProductID, $shippingPriceList); echo json_encode(['success' => 1, 'msg' => 'Your item has been added successfully.']); } else { echo json_encode(['success' => 0, 'msg' => 'You do not have enough credits for that.']); } } else { //error echo json_encode(['success' => 0, 'msg' => 'Please input required field(s).']); } }