本文整理汇总了PHP中Coupon::storeCode方法的典型用法代码示例。如果您正苦于以下问题:PHP Coupon::storeCode方法的具体用法?PHP Coupon::storeCode怎么用?PHP Coupon::storeCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Coupon
的用法示例。
在下文中一共展示了Coupon::storeCode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getSubstitutionArray
//.........这里部分代码省略.........
// Default to unlimited validity
// In case there are protected downloads in the cart,
// collect the group IDs
$arrUsergroupId = array();
if ($objProduct->distribution() == 'download') {
$usergroupIds = $objProduct->usergroup_ids();
if ($usergroupIds != '') {
$arrUsergroupId = explode(',', $usergroupIds);
$validity = $objProduct->weight();
}
}
// create an account that belongs to all collected
// user groups, if any.
if (count($arrUsergroupId) > 0) {
// The login names are created separately for
// each product instance
$username = self::usernamePrefix . "_{$order_id}_{$product_id}_{$instance}";
$userEmail = $username . '-' . $arrSubstitution['CUSTOMER_EMAIL'];
$userpass = \User::make_password();
$objUser = new \User();
$objUser->setUsername($username);
$objUser->setPassword($userpass);
$objUser->setEmail($userEmail);
$objUser->setAdminStatus(false);
$objUser->setActiveStatus(true);
$objUser->setGroups($arrUsergroupId);
$objUser->setValidityTimePeriod($validity);
$objUser->setFrontendLanguage(FRONTEND_LANG_ID);
$objUser->setBackendLanguage(FRONTEND_LANG_ID);
$objUser->setProfile(array('firstname' => array(0 => $arrSubstitution['CUSTOMER_FIRSTNAME']), 'lastname' => array(0 => $arrSubstitution['CUSTOMER_LASTNAME']), 'company' => array(0 => $arrSubstitution['CUSTOMER_COMPANY']), 'address' => array(0 => $arrSubstitution['CUSTOMER_ADDRESS']), 'zip' => array(0 => $arrSubstitution['CUSTOMER_ZIP']), 'city' => array(0 => $arrSubstitution['CUSTOMER_CITY']), 'country' => array(0 => $arrSubstitution['CUSTOMER_COUNTRY_ID']), 'phone_office' => array(0 => $arrSubstitution['CUSTOMER_PHONE']), 'phone_fax' => array(0 => $arrSubstitution['CUSTOMER_FAX'])));
if (!$objUser->store()) {
\Message::error(implode('<br />', $objUser->getErrorMsg()));
return false;
}
if (empty($arrProduct['USER_DATA'])) {
$arrProduct['USER_DATA'] = array();
}
$arrProduct['USER_DATA'][] = array('USER_NAME' => $username, 'USER_PASS' => $userpass);
}
//echo("Instance $instance");
if ($objProduct->distribution() == 'coupon') {
if (empty($arrProduct['COUPON_DATA'])) {
$arrProduct['COUPON_DATA'] = array();
}
//DBG::log("Orders::getSubstitutionArray(): Getting code");
$code = Coupon::getNewCode();
//DBG::log("Orders::getSubstitutionArray(): Got code: $code, calling Coupon::addCode($code, 0, 0, 0, $item_price)");
Coupon::storeCode($code, 0, 0, 0, $item_price, 0, 0, 10000000000.0, true);
$arrProduct['COUPON_DATA'][] = array('COUPON_CODE' => $code);
}
}
// Redeem the *product* Coupon, if possible for the Product
if ($coupon_code) {
$objCoupon = Coupon::available($coupon_code, $item_price * $quantity, $customer_id, $product_id, $payment_id);
if ($objCoupon) {
$coupon_code = NULL;
$coupon_amount = $objCoupon->getDiscountAmount($item_price, $customer_id);
if ($create_accounts) {
$objCoupon->redeem($order_id, $customer_id, $item_price * $quantity);
}
}
//\DBG::log("Orders::getSubstitutionArray(): Got Product Coupon $coupon_code");
}
}
if (empty($arrSubstitution['ORDER_ITEM'])) {
$arrSubstitution['ORDER_ITEM'] = array();
}
$arrSubstitution['ORDER_ITEM'][] = $arrProduct;
}
$arrSubstitution['ORDER_ITEM_SUM'] = sprintf('% 9.2f', $total_item_price);
$arrSubstitution['ORDER_ITEM_COUNT'] = sprintf('% 4u', $orderItemCount);
// Redeem the *global* Coupon, if possible for the Order
if ($coupon_code) {
$objCoupon = Coupon::available($coupon_code, $total_item_price, $customer_id, null, $payment_id);
if ($objCoupon) {
$coupon_amount = $objCoupon->getDiscountAmount($total_item_price, $customer_id);
if ($create_accounts) {
$objCoupon->redeem($order_id, $customer_id, $total_item_price);
}
}
}
\Message::restore();
// Fill in the Coupon block with proper discount and amount
if ($objCoupon) {
$coupon_code = $objCoupon->code();
//\DBG::log("Orders::getSubstitutionArray(): Coupon $coupon_code, amount $coupon_amount");
}
if ($coupon_amount) {
//\DBG::log("Orders::getSubstitutionArray(): Got Order Coupon $coupon_code");
$arrSubstitution['DISCOUNT_COUPON'][] = array('DISCOUNT_COUPON_CODE' => sprintf('%-40s', $coupon_code), 'DISCOUNT_COUPON_AMOUNT' => sprintf('% 9.2f', -$coupon_amount));
} else {
//\DBG::log("Orders::getSubstitutionArray(): No Coupon for Order ID $order_id");
}
Products::deactivate_soldout();
if (Vat::isEnabled()) {
//DBG::log("Orders::getSubstitutionArray(): VAT amount: ".$objOrder->vat_amount());
$arrSubstitution['VAT'] = array(0 => array('VAT_TEXT' => sprintf('%-40s', Vat::isIncluded() ? $_ARRAYLANG['TXT_SHOP_VAT_PREFIX_INCL'] : $_ARRAYLANG['TXT_SHOP_VAT_PREFIX_EXCL']), 'VAT_PRICE' => $objOrder->vat_amount()));
}
return $arrSubstitution;
}