\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;
- const OPTION_ENABLE = 'DISCOUNTS_ENABLED';
- // 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()
- public void setDiscount()
- 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 |
| OPTION_ENABLE | 'DISCOUNTS_ENABLED' |
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
- setDiscount() — Sets user discount in database