function commerce_bpc_create_bulk_form_validate in Commerce Bulk Product Creation 7.2
Same name and namespace in other branches
- 7 commerce_bpc.forms.inc \commerce_bpc_create_bulk_form_validate()
Form validation handler for for commerce_bpc_create_bulk_form().
See also
commerce_bpc_create_bulk_form_submit()
File
- ./
commerce_bpc.forms.inc, line 138 - Form generation functions for the Commerce bulk product creation module
Code
function commerce_bpc_create_bulk_form_validate($form, &$form_state) {
// Check to make sure all of the SKUs to be generated are unique and not taken
// yet.
$skus = array();
$data = array();
$product_type = $form_state['values']['product_type'];
$data['bulk_data'] = array(
'product_type' => $product_type,
'sku_fragment' => $form_state['values']['sku_fragment'],
'title_fragment' => $form_state['values']['title_fragment'],
);
$combinations = commerce_bpc_get_combinations($form, $form_state);
foreach ($combinations as $combination) {
$data['bulk_data']['combination'] = $combination;
$sku_pattern = commerce_bpc_setting('default', 'sku_pattern', $product_type);
$sku = token_replace($sku_pattern, $data, array(
'sanitize' => FALSE,
));
if (!commerce_product_validate_sku_unique($sku, '')) {
form_set_error('sku_pattern', t('This pattern yielded one or more invalid SKUs, please use a different pattern. Check for token values that may have spaces.'));
break;
}
elseif (in_array($sku, $skus)) {
form_set_error('sku_pattern', t('This pattern yielded one or more duplicate SKUs, please use a different pattern.'));
break;
}
else {
$skus[] = $sku;
}
}
}