関数
FileDownloads::filterIsPurchasedForGroupItems( bool $res, int $mid, int $post_id, string $sku, int $order_id )
説明 説明
This is required to make group ‘data’ items downloadable from the checkout completion page
- $res
(bool) (必須)
- $mid
(数値) (必須)
- $post_id
(数値) (必須)
- $sku
(文字列) (必須)
- $order_id
(数値) (必須)
ファイル: src/API/FileDownloads.php
public static function filterIsPurchasedForGroupItems($res, $mid, $post_id, $sku, $order_id) {
global $wpdb;
if (isset($_SESSION['comboSetIsPurchased'])) {
return $_SESSION['comboSetIsPurchased'];
}
if (empty($order_id)) {
return $res;
}
$order_table_name = usces_get_tablename('usces_order');
$query = $wpdb->prepare("SELECT order_status FROM $order_table_name WHERE ID = %d", $order_id);
$status = $wpdb->get_var($query);
$cart = usces_get_ordercartdata($order_id);
$post_id = (int)$post_id;
$founditem = false;
foreach ($cart as $cart_row) {
$sels = unserialize($cart_row['cart_serial']);
if (!empty($sels['comboSetId']) && isset($sels['comboSetItems'])) {
$cscart = wcexics_api_get_combo_set_ordercartdata($order_id);
foreach ($cscart as $cscart_row) {
$sku_code = urldecode($cscart_row['sku']);
if (!empty($sku)) {
if ((int)$cscart_row['post_id'] === $post_id && $sku_code === $sku) {
$founditem = true;
break 2;
}
} else {
if ((int)$cscart_row['post_id'] === $post_id) {
$founditem = true;
break 2;
}
}
}
}
}
if ($founditem) {
if (false === strpos($status, 'noreceipt') && false === strpos($status, 'pending')) {
$res = true;
} elseif (false !== strpos($status, 'noreceipt') || false !== strpos($status, 'pending')) {
$res = 'noreceipt';
}
}
return $res;
}