関数
PurchaseSanityChecks::comboSetItemDivisionIsValid( int $comboSetId, array $grouptoitemmap )
パラメータ パラメータ
- $comboSetId
 (数値) (必須)
- $grouptoitemmap
 (配列) (必須)
ファイル: src/API/PurchaseSanityChecks.php
    public static function comboSetItemDivisionIsValid($comboSetId, $grouptoitemmap) {
        global $usces;
        $comboSetId = (int)$comboSetId;
        $comboset = ComboSet::getComboSetById($comboSetId);
        if ($comboset instanceof GenericError) {
            return $comboset;
        }
        $grouptoitemmap = Cart::sanitizeComboSetSelections($grouptoitemmap);
        $division = strtolower((string)$usces->getItemDivision($comboset->getPostId()));
        if ($division === 'shipped') {
            $notshipped = false;
            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;
                    }
                    $gidivision = strtolower((string)$usces->getItemDivision($item->getPostId()));
                    if ($gidivision !== $division) {
                        $notshipped = $gidivision;
                        break;
                    }
                }
                if ($notshipped !== false) {
                    break;
                }
            }
            if ($notshipped !== false) {
                $dvars = [
                    $division,
                    $gidivision,
                    __('The division of each group item for a combo-set with division "shipped" must also be "shipped"', 'wcexics'),
                ];
                $error = Master::getErrorStore()->getErrorResponse(
                    ErrorStore::COMBO_SET_DIVISION_INVALID,
                    $dvars,
                    [],
                    $dvars
                );
                $error->setLogger(new Logger())->setData(array_merge(
                    $comboset->getDataForLog(),
                    ['groupItemSelections' => $grouptoitemmap]
                ));
                $error->logger->error($error);
                return $error;
            }
        }
        return true;
    }