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