関数
PurchaseSanityChecks::comboSetItemChargeTypeIsValid( int $comboSetId, array $grouptoitemmap )
パラメータ パラメータ
- $comboSetId
(数値) (必須)
- $grouptoitemmap
(配列) (必須)
ファイル: src/API/PurchaseSanityChecks.php
public static function comboSetItemChargeTypeIsValid($comboSetId, $grouptoitemmap) {
global $usces;
$comboSetId = (int)$comboSetId;
$comboset = ComboSet::getComboSetById($comboSetId);
if ($comboset instanceof GenericError) {
return $comboset;
}
$chargetype = strtolower((string)$usces->getItemChargingType($comboset->getPostId()));
if ($chargetype === 'once') {
$grouptoitemmap = Cart::sanitizeComboSetSelections($grouptoitemmap);
foreach ($grouptoitemmap as $groupid => $itemids) {
$group = ComboGroup::getComboGroupById($groupid);
if (empty($group)) {
continue;
}
foreach ($itemids as $itemid) {
$item = GroupItem::getGroupItemById($itemid);
if (empty($item)) {
continue;
}
$gichargetype = strtolower((string)$usces->getItemChargingType($item->getPostId()));
if ($gichargetype === 'continue') {
$mvars = [__('Normal Charging', 'dlseller'), __('Continuation Charging', 'dlseller')];
$error = Master::getErrorStore()->getErrorResponse(
ErrorStore::INVALID_CHARGE_TYPE_COMBINATION,
$mvars,
[],
$mvars
);
$error->setLogger(new Logger())->setData([
'comboSet' => $comboset->getDataForLog(),
'welitemSkuMetaId' => $item->getSkuMetaId(),
]);
return $error;
}
}
}
}
return true;
}