function uc_discounts_update_6005 in Ubercart Discounts (Alternative) 7.2
Same name and namespace in other branches
- 6.2 uc_discounts/uc_discounts.install \uc_discounts_update_6005()
Issue #999778: Allow multiple products to be selected for discount qualification.
File
- uc_discounts/
uc_discounts.install, line 619 - Install, update, and uninstall functions for uc_discounts module.
Code
function uc_discounts_update_6005() {
$grouping_schema = array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 1,
'description' => t('The grouping of this entry since required products be used in discount qualification or application.'),
);
$req_prod_type_schema = array(
'type' => 'int',
'size' => 'tiny',
'not null' => TRUE,
'default' => 0,
);
db_add_field('uc_discounts', 'required_product_type', $req_prod_type_schema);
db_add_field('uc_discounts_products', 'grouping', $grouping_schema);
db_add_index('uc_discounts_products', 'discount_id_grouping', array(
'discount_id',
'grouping',
));
db_add_field('uc_discounts_terms', 'grouping', $grouping_schema);
db_add_index('uc_discounts_terms', 'discount_id_grouping', array(
'discount_id',
'grouping',
));
db_add_field('uc_discounts_skus', 'grouping', $grouping_schema);
db_add_index('uc_discounts_skus', 'discount_id_grouping', array(
'discount_id',
'grouping',
));
db_add_field('uc_discounts_classes', 'grouping', $grouping_schema);
db_add_index('uc_discounts_classes', 'discount_id_grouping', array(
'discount_id',
'grouping',
));
db_add_field('uc_discounts_authors', 'grouping', $grouping_schema);
db_add_index('uc_discounts_authors', 'discount_id_grouping', array(
'discount_id',
'grouping',
));
$result = db_query("SELECT discount_id, required_product FROM {uc_discounts} WHERE required_product != :required_product", array(
':required_product' => '',
));
foreach ($result as $discount) {
db_insert('uc_discounts_skus')
->fields(array(
'discount_id' => $discount->discount_id,
'sku' => $discount->required_product,
'grouping' => UC_DISCOUNTS_GROUPING_QUALIFICATION,
))
->execute();
db_update('uc_discounts')
->fields(array(
'required_product_type' => UC_DISCOUNTS_FILTER_TYPE_SKUS,
))
->condition('discount_id', $discount->discount_id)
->execute();
}
db_drop_field('uc_discounts', 'required_product');
}