\Discounts
Basic payments-based discounts implementation
Synopsis
class Discounts
{
- // constants
- const DISCOUNTS_TABLE = 'discounts';
- const PAYMENTS_TABLE = 'payments';
- const PROUTE_PERCENT = 'setdiscountpercent';
- const PROUTE_LOGIN = 'setdiscountlogin';
- const CACHE_KEY = 'DISCOUNTS';
- const CACHE_TIMEOUT = 86400;
- // members
- protected array $allDiscounts = ;
- protected $discountsDb = '';
- protected $messages = '';
- protected $cache = '';
- // methods
- public void __construct()
- protected void initMessages()
- protected initCache()
- protected void initDb()
- protected void loadAllDiscounts()
- protected void flushCache()
- public float getUserDiscount()
- public string renderUserEditDiscountForm()
- public string renderDiscountForm()
- public void saveDiscount()
- protected array getAllUsersDiscounts()
- protected array getAllPeriodPayments()
- public void processPayments()
Constants
Name | Value |
---|---|
DISCOUNTS_TABLE | 'discounts' |
PAYMENTS_TABLE | 'payments' |
PROUTE_PERCENT | 'setdiscountpercent' |
PROUTE_LOGIN | 'setdiscountlogin' |
CACHE_KEY | 'DISCOUNTS' |
CACHE_TIMEOUT | 86400 |
Members
protected
Methods
protected
- flushCache() — Flushes cached data and loads new from database
- getAllPeriodPayments() — Returns array of all payments made during some optional period
- getAllUsersDiscounts() — Returns all users discounts as login=>percent
- initCache() — Inits system caching instance for further usage
- initDb() — Inits database abstraction layer for further usage
- initMessages() — Inits system messages helper
- loadAllDiscounts() — Loads all available discounts data from cache or database into protected property
public
- __construct()
- getUserDiscount() — Returns current user discount
- processPayments() — Do the processing of discounts by the payments
- renderDiscountForm() — Renders user discount editing form
- renderUserEditDiscountForm() — Renders user discount editing form
- saveDiscount() — Saves user discount to database