Leitgedanken/msd2/myoos/includes/functions/function_coupon.php
2023-01-23 11:03:31 +01:00

131 lines
4.1 KiB
PHP

<?php
/* ----------------------------------------------------------------------
MyOOS [Shopsystem]
https://www.oos-shop.de
Copyright (c) 2003 - 2019 by the MyOOS Development Team.
----------------------------------------------------------------------
Based on:
File: gv_sent.php,v 1.1 2003/02/18 00:18:50 wilt
----------------------------------------------------------------------
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2002 - 2003 osCommerce
Credit Class GV/Discount Coupon v5.03
Copyright (c) 2001 - 2003 Ian C Wilson
http://www.phesis.org
----------------------------------------------------------------------
Released under the GNU General Public License
---------------------------------------------------------------------- */
/**
* Credit Class GV/Discount Coupon
*
* @link https://www.oos-shop.de
* @package Credit Class GV/Discount Coupon
* @version $Revision: 1.1 $ - changed by $Author: r23 $ on $Date: 2007/06/12 16:49:27 $
*/
/** ensure this file is being included by a parent file */
defined( 'OOS_VALID_MOD' ) OR die( 'Direct Access to this location is not allowed.' );
/**
* Create a Coupon Code. length may be between 1 and 16 Characters
*
* @param $salt
* @param $length
* @return string
*/
function oos_create_coupon_code($salt="secret", $length = SECURITY_CODE_LENGTH) {
// Get database information
$dbconn =& oosDBGetConn();
$oostable =& oosDBGetTables();
$ccid = md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
$ccid .= md5(uniqid("","salt"));
srand((double)microtime()*1000000); // seed the random number generator
$random_start = @rand(0, (128-$length));
$good_result = 0;
while ($good_result == 0) {
$id1 = substr($ccid, $random_start,$length);
$couponstable = $oostable['coupons'];
$sql = "SELECT coupon_code
FROM $couponstable
WHERE coupon_code = '" . oos_db_input($id1) . "'";
$query = $dbconn->Execute($sql);
if ($query->RecordCount() == 0) $good_result = 1;
}
return $id1;
}
/**
* Update the Customers GV account
*
* @param $customer_id
* @param $gv_id
*/
function oos_gv_account_update($customer_id, $gv_id) {
// Get database information
$dbconn =& oosDBGetConn();
$oostable =& oosDBGetTables();
$coupon_gv_customertable = $oostable['coupon_gv_customer'];
$sql = "SELECT amount
FROM $coupon_gv_customertable
WHERE customer_id = '" . intval($customer_id) . "'";
$customer_gv_result = $dbconn->Execute($sql);
$couponstable = $oostable['coupons'];
$sql = "SELECT coupon_amount
FROM $couponstable
WHERE coupon_id = '" . oos_db_input($gv_id) . "'";
$coupon_amount = $dbconn->GetOne($sql);
if ($customer_gv_result->RecordCount() > 0) {
$customer_gv = $customer_gv_result->fields;
$new_gv_amount = $customer_gv['amount'] + $coupon_amount;
$coupon_gv_customertable = $oostable['coupon_gv_customer'];
$gv_result = $dbconn->Execute("UPDATE $coupon_gv_customertable
SET amount = '" . oos_db_input($new_gv_amount) . "'");
} else {
$coupon_gv_customertable = $oostable['coupon_gv_customer'];
$gv_result = $dbconn->Execute("INSERT INTO $coupon_gv_customertable
(customer_id,
amount) VALUES ('" . intval($customer_id) . "',
'" . oos_db_input($coupon_amount) . "')");
}
}
/**
* Get tax rate from tax description
*
* @param $tax_desc
* @return string
*/
function oos_get_tax_rate_from_desc($tax_desc) {
// Get database information
$dbconn =& oosDBGetConn();
$oostable =& oosDBGetTables();
$tax_ratestable = $oostable['tax_rates'];
$sql = "SELECT tax_rate
FROM $tax_ratestable
WHERE tax_description = '" . oos_db_input($tax_desc) . "'";
$tax = $dbconn->Execute($sql);
return $tax->fields['tax_rate'];
}