function uc_coupon_purchase_assign_action in Ubercart Discount Coupons 7.3
Action callback to assign a coupon to a user.
File
- uc_coupon_purchase/
uc_coupon_purchase.rules.inc, line 243 - Rules integration for uc_coupon_purchase
Code
function uc_coupon_purchase_assign_action($params) {
$coupon = uc_coupon_load($params['cid']);
if ($coupon->cid) {
if (!empty($params['clone'])) {
$coupon = uc_coupon_purchase_create($coupon, $params['quantity'], $params['account']->uid);
}
elseif (!db_query('SELECT cpuid FROM {uc_coupon_purchase_users} where uid = :uid AND cid = :cid', array(
':uid' => $params['account']->uid,
':cid' => $coupon->cid,
))
->fetchField(0)) {
$record = array(
'uid' => $params['account']->uid,
'cid' => $coupon->cid,
);
drupal_write_record('uc_coupon_purchase_users', $record);
}
if (!empty($params['sole'])) {
db_delete('uc_coupon_purchase_users')
->condition('cid', $coupon->cid)
->condition('uid', $params['account']->uid, '!=')
->execute();
}
if (!empty($params['restrict'])) {
if (!empty($params['sole'])) {
$coupon->data['users'] = array();
}
$coupon->data['users'][$params['account']->uid] = $params['account']->uid;
uc_coupon_save($coupon);
}
return array(
'coupon' => $coupon,
);
}
else {
return array(
'coupon' => NULL,
);
}
}