\DoomsDayTariffs
Automatic user tariff migration aka Dooms Day Tariffs class
Synopsis
class DoomsDayTariffs
{
- // constants
- const URL_ME = '?module=ddt';
- const URL_HIST = '?module=ddt&history=true';
- const URL_CH_HIST = '&mode=fch';
- const URL_PROFILE = '?module=userprofile&username=';
- const URL_DWI = '?module=pl_dealwithit&username=';
- const PID = 'DDT';
- const TABLE_USERS = 'ddt_users';
- const TABLE_OPTIONS = 'ddt_options';
- const TABLE_CHARGESHIST = 'ddt_charges';
- const TABLE_CHARGEOPTS = 'ddt_chargeopts';
- const TABLE_USERREG = 'userreg';
- const ROUTE_CH_DELETE = 'deletechargeruleid';
- const ROUTE_CH_HISTAJX = 'forcedchargehistoryajax';
- const PROUTE_CH_CREATE = 'newchargetariffcreation';
- const PROUTE_CH_TARIFF = 'newchargetariff';
- const PROUTE_CH_UDAY = 'newchargeuntilday';
- const PROUTE_CH_FEE = 'newchargefeeflag';
- const PROUTE_CH_ABS = 'newchargeabsolute';
- const PROUTE_CH_CREDITDAYS = 'newchargecreditdays';
- // members
- protected array $altCfg = ;
- protected array $allOptions = ;
- protected array $allTariffs = ;
- protected array $allTariffNames = ;
- protected array $periods = ;
- protected array $allUserData = ;
- protected array $allDDTUsers = ;
- protected $messages = '';
- protected $dealwithit = '';
- protected array $allTasks = ;
- protected integer $prevDaysOffset = 0;
- protected $usersDb = '';
- protected $optionsDb = '';
- protected $chargeOptsDb = '';
- protected $chargeHistDb = '';
- protected $userRegDb = '';
- protected array $allChargeOpts = ;
- protected array $allTariffChargeRules = ;
- protected array $fullChargeHist = ;
- // methods
- public void __construct()
- protected void initMessages()
- protected void loadConfigs()
- protected void initDbs()
- protected void initDealWithIt()
- protected void loadOptionsDDT()
- protected void loadChargeOptions()
- protected void setOptions()
- protected void loadUserData()
- protected void loadUsersDDT()
- protected void loadTariffs()
- public string renderCreateForm()
- public void/string createTariffDDT()
- public void/string deleteTariffDDT()
- public array getCurrentTariffsDDT()
- public array getCurrentChargeTariffs()
- protected float getTariffFee()
- public string renderTariffsList()
- protected bool isTaskCreated()
- public array getTaskCreated()
- protected void logSchedule()
- public void runProcessing()
- public string renderControls()
- public string renderHistoryContainer()
- public void getHistoryAjax()
- public void renderChargeOpsList()
- public void renderChargeOptsCreateForm()
- public void|string createChargeRule()
- public void/string deleteChargeRule()
- protected array getTodayChargedUsers()
- protected array getUsersRegisteredToday()
- protected void logCharge()
- public void runChargeRules()
- public string renderChargesHistoryContainer()
- public void getChargesHistoryAjax()
Constants
| Name | Value |
|---|---|
| URL_ME | '?module=ddt' |
| URL_HIST | '?module=ddt&history=true' |
| URL_CH_HIST | '&mode=fch' |
| URL_PROFILE | '?module=userprofile&username=' |
| URL_DWI | '?module=pl_dealwithit&username=' |
| PID | 'DDT' |
| TABLE_USERS | 'ddt_users' |
| TABLE_OPTIONS | 'ddt_options' |
| TABLE_CHARGESHIST | 'ddt_charges' |
| TABLE_CHARGEOPTS | 'ddt_chargeopts' |
| TABLE_USERREG | 'userreg' |
| ROUTE_CH_DELETE | 'deletechargeruleid' |
| ROUTE_CH_HISTAJX | 'forcedchargehistoryajax' |
| PROUTE_CH_CREATE | 'newchargetariffcreation' |
| PROUTE_CH_TARIFF | 'newchargetariff' |
| PROUTE_CH_UDAY | 'newchargeuntilday' |
| PROUTE_CH_FEE | 'newchargefeeflag' |
| PROUTE_CH_ABS | 'newchargeabsolute' |
| PROUTE_CH_CREDITDAYS | 'newchargecreditdays' |
Members
protected
- $allChargeOpts
—
array
Contains all charge opts as id=>data - $allDDTUsers
—
array
Contains all of available ddt users history data - $allOptions
—
array
Contains available DDT options aka tariffs as id=>data - $allTariffChargeRules
—
array
Contains all tariff charge rules as tariff=>ruleData - $allTariffNames
—
array
Contains available system tariffs as tariffname=>tariffname - $allTariffs
—
array
Contains available system tariffs as tariffname=>tariffdata - $allTasks
—
array
Contains currently scheduled dealwithit tasks for tariff changes as id=>taskdata - $allUserData
—
array
Contains all available users data as login=>userdata -
$altCfg
Contains system alter config as key=>value - $chargeHistDb
—
Charges history database absctraction layer - $chargeOptsDb
—
Charge tariffs database abstraction layer - $dealwithit
—
DealWith it object instance placeholder - $fullChargeHist
—
array
Contains full charges history as id=>data - $messages
—
System message helper object placeholder - $optionsDb
—
Tariff options database abstraction layer - $periods
—
array
Contains default periods descriptions as period=>periodname - $prevDaysOffset
—
int
Mapped from DDT_ENDPREVDAYS option - $userRegDb
—
Registered users log database abstraction layer - $usersDb
—
Users/history database abstraction layer
Methods
protected
- getTariffFee() — Returns some tariff price
- getTodayChargedUsers() — Returns array of users charged today as login=>histData
- getUsersRegisteredToday() — Returns array of users registered today as login=>regData
- initDbs() — Inits all requuired database abstraction layers
- initDealWithIt() — Inits dealwithit protected property
- initMessages() — Inits default system message helper object into protected prop
- isTaskCreated() — Checks is user have some tariff moving tasks created already
- loadChargeOptions() — Loads direct charge options
- loadConfigs() — Preloads some required configs for further usage
- loadOptionsDDT() — Loads existing doomsday tariffs
- loadTariffs() — Loads available system tariffs into protected prop for further usage
- loadUserData() — Loads all users data into protected prop
- loadUsersDDT() — Loads existing DDT users database
- logCharge() — Creates new history record for some user forsed tariff charge
- logSchedule() — Logs first user appear for some DDT tariff
- setOptions() — Sets default periods id-s and their localized names
public
- __construct() — Creates new DoomsDay instance
- createChargeRule() — Creates new forsed charge rule database record
- createTariffDDT() — Catches DDT Tariff creation request and creates it into database
- deleteChargeRule() — Deletes some tariff charge rule by its ID
- deleteTariffDDT() — Deletes some doomsday tariff by its ID
- getChargesHistoryAjax() — Renders DDT history report json data
- getCurrentChargeTariffs() — Returns list of available charge tariffs as tariffname=>options
- getCurrentTariffsDDT() — Returns list of available ddt tariffs as tariffname=>options
- getHistoryAjax() — Renders DDT history report json data
- getTaskCreated() — Checks is user have some tariff moving tasks created already and return task data.
- renderChargeOpsList() — Render available tariffs charge opts here
- renderChargeOptsCreateForm() — Renders charge opts rule creation form
- renderChargesHistoryContainer() — Renders forced charges history report container
- renderControls() — Renders module controls
- renderCreateForm() — Renders default DDT tariff creation form
- renderHistoryContainer() — Renders history report container
- renderTariffsList() — Renders available DDT tariffs list with some controls
- runChargeRules() — Performs forced tariffs charge ruleset processing
- runProcessing() — Runs DDT tariffs periodic processing