function uc_discounts_copy in Ubercart Discounts (Alternative) 6.2
Copy a discount.
1 string reference to 'uc_discounts_copy'
- uc_discounts_menu in uc_discounts/
uc_discounts.module - Implementation of hook_menu().
File
- uc_discounts/
uc_discounts.admin.inc, line 764
Code
function uc_discounts_copy($original_discount_id) {
$discount = uc_discounts_load($original_discount_id);
$discount->name = t("Copy of @discount", array(
"@discount" => $discount->name,
));
$discount->insert_timestamp = time();
drupal_write_record('uc_discounts', $discount);
//Copy discount's codes
$codes = get_codes_for_discount($original_discount_id);
foreach ($codes as $code) {
$new_code = array(
'discount_id' => $discount->discount_id,
'code' => $code,
);
drupal_write_record('uc_discounts_codes', $new_code);
}
foreach (array(
DISCOUNT_FILTER_GROUPING_APPLICATION,
DISCOUNT_FILTER_GROUPING_QUALIFICATION,
) as $grouping) {
//Copy discount's products
$product_ids = get_product_ids_for_discount($original_discount_id, $grouping);
foreach ($product_ids as $product_id) {
$new_product = array(
'discount_id' => $discount->discount_id,
'product_id' => $product_id,
'grouping' => $grouping,
);
drupal_write_record('uc_discounts_products', $new_product);
}
//Copy discount's terms
$term_ids = get_term_ids_for_discount($original_discount_id, $grouping);
foreach ($term_ids as $term_id) {
$new_term = array(
'discount_id' => $discount->discount_id,
'term_id' => $term_id,
'grouping' => $grouping,
);
drupal_write_record('uc_discounts_terms', $new_term);
}
//Copy discount's SKUs
$skus = get_skus_for_discount($original_discount_id, $grouping);
foreach ($skus as $sku) {
$new_sku = array(
'discount_id' => $discount->discount_id,
'sku' => $sku,
'grouping' => $grouping,
);
drupal_write_record('uc_discounts_skus', $new_sku);
}
//Copy discount's Classes
$classes = get_classes_for_discount($original_discount_id, $grouping);
foreach ($classes as $class) {
$new_class = array(
'discount_id' => $discount->discount_id,
'class' => $class,
'grouping' => $grouping,
);
drupal_write_record('uc_discounts_classes', $new_class);
}
//Copy discount's authors
$author_ids = get_author_ids_for_discount($original_discount_id, $grouping);
foreach ($author_ids as $author_id) {
$new_author = array(
'discount_id' => $discount->discount_id,
'author_id' => $author_id,
'grouping' => $grouping,
);
drupal_write_record('uc_discounts_authors', $new_author);
}
}
//Copy discount's roles
$role_ids = get_role_ids_for_discount($original_discount_id);
foreach ($role_ids as $role_id) {
$new_role = array(
'discount_id' => $discount->discount_id,
'role_id' => $role_id,
);
drupal_write_record('uc_discounts_roles', $new_role);
}
foreach (module_implements('uc_discount') as $module) {
$function = $module . '_uc_discount';
$function('save', $discount);
}
drupal_set_message(t("The discount was successfully copied as %name.", array(
'%name' => $discount->name,
)));
drupal_goto("admin/store/uc_discounts/edit/{$discount->discount_id}");
}