関数
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;
    }