<?php

/**
 * @file
 * Fixed amount coupon install file.
 */

/**
 * Implements hook_install().
 */
function commerce_coupon_fixed_amount_install() {
  drupal_load('module', 'commerce_coupon');
  $values = array(
    'type' => 'commerce_coupon_fixed',
    'label' => st('Fixed coupon'),
  );

  $coupon_type = commerce_coupon_type_create($values);
  commerce_coupon_type_save($coupon_type, TRUE);
}

/**
 * Implements hook_disable().
 */
function commerce_coupon_fixed_amount_disable() {
  drupal_load('module', 'commerce_coupon');
  commerce_coupon_type_disable('commerce_coupon_fixed');
}

/**
 * Implements hook_enable().
 */
function commerce_coupon_fixed_amount_enable() {
  drupal_load('module', 'commerce_coupon');
  commerce_coupon_type_enable('commerce_coupon_fixed');
}

/**
 * Implements hook_uninstall().
 */
function commerce_coupon_fixed_amount_uninstall() {
  // Make sure commerce.module is loaded so that commerce_delete_instances()
  // is available.
  drupal_load('module', 'commerce');

  // The function commerce_coupon_type_delete() can't be used here because
  // commerce_coupon module might not be enabled anymore at this point.
  db_delete('commerce_coupon_type')
      ->condition('type', 'commerce_coupon_fixed')
      ->execute();

  // Delete all fields that belong to the module's coupon type.
  commerce_delete_instances('commerce_coupon', 'commerce_coupon_fixed');

  // Also delete coupons.
  db_delete('commerce_coupon')
      ->condition('type', 'commerce_coupon_fixed')
      ->execute();
}

