function commerce_extra_quantity_validate_cardinality in Commerce Extra 7
Validation callback for checking cardinality.
1 string reference to 'commerce_extra_quantity_validate_cardinality'
- commerce_extra_quantity_form_alter in modules/
quantity/ commerce_extra_quantity.module - Implements hook_form_alter(). Adds additional theme wrappers for add to cart's quantity textfields.
File
- modules/
quantity/ commerce_extra_quantity.module, line 96 - Contains Commerce Quantity Plus-Minus module's functionality.
Code
function commerce_extra_quantity_validate_cardinality(&$form, &$form_state) {
// Figure out quantity level(s)
$str = 'commerce_cart_add_to_cart_form_';
$view_cart = 'views_form_commerce_cart_form_';
$form_id = $form['#form_id'];
if (drupal_substr($form_id, 0, drupal_strlen($str)) == $str) {
$quantities = array(
$form_state['values']['quantity'],
);
}
elseif (drupal_substr($form_id, 0, drupal_strlen($view_cart)) == $view_cart) {
$quantities = $form_state['values']['edit_quantity'];
}
// Validate each quantity
$quantity_cardinality = variable_get('commerce_extra_quantity_cardinality', 1);
foreach ($quantities as $key => $quantity) {
if ($quantity % $quantity_cardinality) {
// Quantity is not divisible by quantity cardinality
form_set_error('', t('Incorrect quantity level.'));
watchdog('commerce_extra_quantity', 'Tried to submit a form with incorrect quantity level @quantity when having quantity cardinality of @quantity_cardinality', array(
'@quantity' => $quantity,
'@quantity_cardinality' => $quantity_cardinality,
), WATCHDOG_ERROR);
}
}
}